<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://wiki.rosa.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Braumann</id>
	<title>ROSA Wiki - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.rosa.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Braumann"/>
	<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Braumann"/>
	<updated>2026-06-23T11:22:28Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=%D0%92%D0%B5%D0%B1_%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD&amp;diff=689</id>
		<title>Веб магазин</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=%D0%92%D0%B5%D0%B1_%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD&amp;diff=689"/>
		<updated>2026-04-16T14:53:26Z</updated>

		<summary type="html">&lt;p&gt;Braumann: Малые правки&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;font-size:90%; color:#555; margin-bottom:1em;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Опубликовано:&#039;&#039;&#039; 29.10.2025 • &#039;&#039;&#039;Обновлено:&#039;&#039;&#039; 04.04.2026&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Веб-магазин ==&lt;br /&gt;
&lt;br /&gt;
В этой статье описано устройство веб-магазина РОСА, а также способы добавления и редактирования карточек приложений.&lt;br /&gt;
&lt;br /&gt;
=== Общие сведения ===&lt;br /&gt;
&lt;br /&gt;
* Веб-магазин не отдаёт пользователю пакеты для скачивания напрямую. Вместо этого он формирует специальную ссылку, которая открывается в программе &#039;&#039;rpmgrab&#039;&#039;. Эта программа извлекает из ссылки имя пакета и устанавливает его из репозитория ОС. Таким образом, даже в случае компрометации магазина установка ПО в обход репозитория невозможна.&lt;br /&gt;
* Тот же самый магазин без изменений используется также для [[BFRESH]] и Бария. Разница только в том, что вместо &#039;&#039;rpmgrab&#039;&#039; запускается другая утилита, которая создаёт модули, а не выполняет установку.&lt;br /&gt;
* У программ в магазине не указываются версии. Это позволяет не пересобирать страницу после каждого изменения в репозитории, а также использовать один и тот же магазин для разных платформ.&lt;br /&gt;
* В текущей реализации страница магазина является статической. Это повышает безопасность, снижает нагрузку на сервер и позволяет использовать магазин локально без запуска локального веб-сервера.&lt;br /&gt;
* Для снижения трафика сервер отдаёт небольшую HTML-страницу и базу данных, записанную в JS-файл. Часть содержимого формируется JavaScript-кодом на стороне браузера, а скриншоты подгружаются с использованием механизма &#039;&#039;lazy loading&#039;&#039;, то есть загружаются только по мере необходимости.&lt;br /&gt;
* HTML-страница и JS-файлы генерируются скриптом на основе базы данных. Эта же база используется для сборки пакета со скриншотами и описаниями для &#039;&#039;dnfdragora&#039;&#039;.&lt;br /&gt;
* Сама база заполняется в полуавтоматическом режиме на основе данных &#039;&#039;dnf info&#039;&#039; и метаданных &#039;&#039;AppStream&#039;&#039;.&lt;br /&gt;
* Архитектура магазина позволяет сравнительно просто интегрировать и другие способы установки ПО, отличные от &#039;&#039;dnf&#039;&#039;. Первый кандидат на интеграцию - &#039;&#039;epm&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Связанные проекты ===&lt;br /&gt;
&lt;br /&gt;
* [https://abf.io/soft/rosastore rosastore] - генератор страницы магазина: шаблоны HTML, JS и CSS, скрипты обработки скриншотов, а также инструменты сборки магазина из базы данных.&lt;br /&gt;
* [https://abf.io/soft/web-store-database web-store-database] - база данных, на основе которой собирается страница магазина: описания, скриншоты, иконки и другие материалы. Подключается к &#039;&#039;rosastore&#039;&#039; как git-сабмодуль.&lt;br /&gt;
* [https://abf.io/import/metadata metadata] - сборка RPM-пакетов:&lt;br /&gt;
** &#039;&#039;&#039;metadata-apps&#039;&#039;&#039; - пакет с магазином; может быть установлен локально. Для запуска локального магазина в пакет включён desktop-файл.&lt;br /&gt;
** &#039;&#039;&#039;metadata-dnfdragora&#039;&#039;&#039; - пакет с метаданными для &#039;&#039;dnfdragora&#039;&#039;, собранными из той же базы данных.&lt;br /&gt;
** &#039;&#039;&#039;web-store-desktop&#039;&#039;&#039; - пакет, содержащий только desktop-файл для открытия страницы магазина в браузере по умолчанию. Именно этот пакет устанавливается в системе пользователя для доступа к магазину.&lt;br /&gt;
&lt;br /&gt;
=== Как добавить приложение в веб-магазин РОСА ===&lt;br /&gt;
&lt;br /&gt;
Сначала приложение должно быть добавлено в репозиторий. На текущий момент магазин работает только с пакетами, собранными в репозитории.&lt;br /&gt;
&lt;br /&gt;
Этот процесс здесь не рассматривается. После того как пакет появился в репозитории, есть два варианта действий: простой и расширенный.&lt;br /&gt;
&lt;br /&gt;
==== Простой способ ====&lt;br /&gt;
&lt;br /&gt;
Можно написать на форум с просьбой добавить приложение в магазин:&lt;br /&gt;
&lt;br /&gt;
* [https://forum.rosa.ru/viewtopic.php?t=11774 Обсуждение на форуме]&lt;br /&gt;
&lt;br /&gt;
==== Самостоятельное добавление ====&lt;br /&gt;
&lt;br /&gt;
Можно подготовить карточку приложения самостоятельно и отправить &#039;&#039;pull request&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
# Зарегистрируйтесь на [https://abf.rosa.ru ABF]. Регистрация там работает по приглашениям; инвайт может выдать любой пользователь. Например, можно спросить в [https://t.me/rosalinux Telegram-чате ROSA].&lt;br /&gt;
# Через веб-интерфейс ABF клонируйте себе проект [https://abf.io/soft/web-store-database web-store-database].&lt;br /&gt;
# Склонируйте свой форк на локальную машину с помощью &#039;&#039;git clone&#039;&#039;.&lt;br /&gt;
# Карточки приложений находятся в папке &#039;&#039;&#039;database&#039;&#039;&#039;. Можно:&lt;br /&gt;
#* создать новую карточку по аналогии с уже существующими;&lt;br /&gt;
#* воспользоваться вспомогательными инструментами, описанными в файле &#039;&#039;&#039;README&#039;&#039;&#039; в корне проекта.&lt;br /&gt;
# Обязательно прочитайте &#039;&#039;&#039;README&#039;&#039;&#039;: в нём описан формат файла &#039;&#039;&#039;app.yml&#039;&#039;&#039;.&lt;br /&gt;
# Чтобы проверить, как карточка отображается в магазине, клонируйте генератор магазина: [https://abf.io/soft/rosastore rosastore].&lt;br /&gt;
# Скопируйте папку своего приложения из &#039;&#039;.../web-store-database/database&#039;&#039; в папку &#039;&#039;&#039;database&#039;&#039;&#039; внутри проекта &#039;&#039;rosastore&#039;&#039;. Эта папка используется для тестовых сборок магазина и содержит только часть проектов, поэтому локальная сборка выполняется быстрее.&lt;br /&gt;
# Далее выполните команды в корне проекта &#039;&#039;rosastore&#039;&#039;:&lt;br /&gt;
#* &amp;lt;code&amp;gt;./genhtml.py -d database&amp;lt;/code&amp;gt;	&lt;br /&gt;
#* &amp;lt;code&amp;gt;xdg-open ./site/index.html&amp;lt;/code&amp;gt;&lt;br /&gt;
#&#039;&#039;&#039;Если у вас Zen Browser или отображение идёт не корректно то:&#039;&#039;&#039;&lt;br /&gt;
#* &amp;lt;code&amp;gt;cd ./site&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;python3 -m http.server 8000&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Перейди по [http://localhost:8000/ Ссылка]&lt;br /&gt;
# Проверьте результат в браузере.&lt;br /&gt;
# При необходимости повторяйте редактирование карточки и пересборку магазина, пока оформление не станет аккуратным и полным.&lt;br /&gt;
# Чтобы не открывать страницу заново после каждой пересборки, можно просто обновлять уже открытую вкладку сочетанием клавиш &#039;&#039;&#039;Ctrl+F5&#039;&#039;&#039;.&lt;br /&gt;
# После завершения работы в проекте &#039;&#039;web-store-database&#039;&#039; сделайте коммит:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git add database/*&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;git commit -m &amp;quot;added my superproject&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
# В веб-интерфейсе своего форка создайте &#039;&#039;pull request&#039;&#039;.&lt;br /&gt;
# Дождитесь проверки. Если потребуется доработка, в комментариях к &#039;&#039;pull request&#039;&#039; будет указано, что нужно исправить.&lt;br /&gt;
&lt;br /&gt;
=== Возможные проблемы ===&lt;br /&gt;
&lt;br /&gt;
==== Ошибка при первом запуске genhtml.py ====&lt;br /&gt;
&lt;br /&gt;
При первом запуске команда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;./genhtml.py -s ./site -d database&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
может завершиться ошибкой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;/home/sbraumann/Документы/Project/rosastore/./genhtml.py&amp;quot;, line 11, in &amp;lt;module&amp;gt;&lt;br /&gt;
    import rjsmin&lt;br /&gt;
ModuleNotFoundError: No module named &#039;rjsmin&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Причина:&#039;&#039;&#039; в системе отсутствует модуль &#039;&#039;rjsmin&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решение:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Установите его командой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pip3 install --user rjsmin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;Продолжение следует.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=%D0%92%D0%B5%D0%B1_%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD&amp;diff=688</id>
		<title>Веб магазин</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=%D0%92%D0%B5%D0%B1_%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD&amp;diff=688"/>
		<updated>2026-04-16T14:36:02Z</updated>

		<summary type="html">&lt;p&gt;Braumann: Изменение метода проверки витрины&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;font-size:90%; color:#555; margin-bottom:1em;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Опубликовано:&#039;&#039;&#039; 29.10.2025 • &#039;&#039;&#039;Обновлено:&#039;&#039;&#039; 04.04.2026&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Веб-магазин ==&lt;br /&gt;
&lt;br /&gt;
В этой статье описано устройство веб-магазина РОСА, а также способы добавления и редактирования карточек приложений.&lt;br /&gt;
&lt;br /&gt;
=== Общие сведения ===&lt;br /&gt;
&lt;br /&gt;
* Веб-магазин не отдаёт пользователю пакеты для скачивания напрямую. Вместо этого он формирует специальную ссылку, которая открывается в программе &#039;&#039;rpmgrab&#039;&#039;. Эта программа извлекает из ссылки имя пакета и устанавливает его из репозитория ОС. Таким образом, даже в случае компрометации магазина установка ПО в обход репозитория невозможна.&lt;br /&gt;
* Тот же самый магазин без изменений используется также для [[BFRESH]] и Бария. Разница только в том, что вместо &#039;&#039;rpmgrab&#039;&#039; запускается другая утилита, которая создаёт модули, а не выполняет установку.&lt;br /&gt;
* У программ в магазине не указываются версии. Это позволяет не пересобирать страницу после каждого изменения в репозитории, а также использовать один и тот же магазин для разных платформ.&lt;br /&gt;
* В текущей реализации страница магазина является статической. Это повышает безопасность, снижает нагрузку на сервер и позволяет использовать магазин локально без запуска локального веб-сервера.&lt;br /&gt;
* Для снижения трафика сервер отдаёт небольшую HTML-страницу и базу данных, записанную в JS-файл. Часть содержимого формируется JavaScript-кодом на стороне браузера, а скриншоты подгружаются с использованием механизма &#039;&#039;lazy loading&#039;&#039;, то есть загружаются только по мере необходимости.&lt;br /&gt;
* HTML-страница и JS-файлы генерируются скриптом на основе базы данных. Эта же база используется для сборки пакета со скриншотами и описаниями для &#039;&#039;dnfdragora&#039;&#039;.&lt;br /&gt;
* Сама база заполняется в полуавтоматическом режиме на основе данных &#039;&#039;dnf info&#039;&#039; и метаданных &#039;&#039;AppStream&#039;&#039;.&lt;br /&gt;
* Архитектура магазина позволяет сравнительно просто интегрировать и другие способы установки ПО, отличные от &#039;&#039;dnf&#039;&#039;. Первый кандидат на интеграцию - &#039;&#039;epm&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Связанные проекты ===&lt;br /&gt;
&lt;br /&gt;
* [https://abf.io/soft/rosastore rosastore] - генератор страницы магазина: шаблоны HTML, JS и CSS, скрипты обработки скриншотов, а также инструменты сборки магазина из базы данных.&lt;br /&gt;
* [https://abf.io/soft/web-store-database web-store-database] - база данных, на основе которой собирается страница магазина: описания, скриншоты, иконки и другие материалы. Подключается к &#039;&#039;rosastore&#039;&#039; как git-сабмодуль.&lt;br /&gt;
* [https://abf.io/import/metadata metadata] - сборка RPM-пакетов:&lt;br /&gt;
** &#039;&#039;&#039;metadata-apps&#039;&#039;&#039; - пакет с магазином; может быть установлен локально. Для запуска локального магазина в пакет включён desktop-файл.&lt;br /&gt;
** &#039;&#039;&#039;metadata-dnfdragora&#039;&#039;&#039; - пакет с метаданными для &#039;&#039;dnfdragora&#039;&#039;, собранными из той же базы данных.&lt;br /&gt;
** &#039;&#039;&#039;web-store-desktop&#039;&#039;&#039; - пакет, содержащий только desktop-файл для открытия страницы магазина в браузере по умолчанию. Именно этот пакет устанавливается в системе пользователя для доступа к магазину.&lt;br /&gt;
&lt;br /&gt;
=== Как добавить приложение в веб-магазин РОСА ===&lt;br /&gt;
&lt;br /&gt;
Сначала приложение должно быть добавлено в репозиторий. На текущий момент магазин работает только с пакетами, собранными в репозитории.&lt;br /&gt;
&lt;br /&gt;
Этот процесс здесь не рассматривается. После того как пакет появился в репозитории, есть два варианта действий: простой и расширенный.&lt;br /&gt;
&lt;br /&gt;
==== Простой способ ====&lt;br /&gt;
&lt;br /&gt;
Можно написать на форум с просьбой добавить приложение в магазин:&lt;br /&gt;
&lt;br /&gt;
* [https://forum.rosa.ru/viewtopic.php?t=11774 Обсуждение на форуме]&lt;br /&gt;
&lt;br /&gt;
==== Самостоятельное добавление ====&lt;br /&gt;
&lt;br /&gt;
Можно подготовить карточку приложения самостоятельно и отправить &#039;&#039;pull request&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
# Зарегистрируйтесь на [https://abf.rosa.ru ABF]. Регистрация там работает по приглашениям; инвайт может выдать любой пользователь. Например, можно спросить в [https://t.me/rosalinux Telegram-чате ROSA].&lt;br /&gt;
# Через веб-интерфейс ABF клонируйте себе проект [https://abf.io/soft/web-store-database web-store-database].&lt;br /&gt;
# Склонируйте свой форк на локальную машину с помощью &#039;&#039;git clone&#039;&#039;.&lt;br /&gt;
# Карточки приложений находятся в папке &#039;&#039;&#039;database&#039;&#039;&#039;. Можно:&lt;br /&gt;
#* создать новую карточку по аналогии с уже существующими;&lt;br /&gt;
#* воспользоваться вспомогательными инструментами, описанными в файле &#039;&#039;&#039;README&#039;&#039;&#039; в корне проекта.&lt;br /&gt;
# Обязательно прочитайте &#039;&#039;&#039;README&#039;&#039;&#039;: в нём описан формат файла &#039;&#039;&#039;app.yml&#039;&#039;&#039;.&lt;br /&gt;
# Чтобы проверить, как карточка отображается в магазине, клонируйте генератор магазина: [https://abf.io/soft/rosastore rosastore].&lt;br /&gt;
# Скопируйте папку своего приложения из &#039;&#039;.../web-store-database/database&#039;&#039; в папку &#039;&#039;&#039;database&#039;&#039;&#039; внутри проекта &#039;&#039;rosastore&#039;&#039;. Эта папка используется для тестовых сборок магазина и содержит только часть проектов, поэтому локальная сборка выполняется быстрее.&lt;br /&gt;
# Далее выполните команды в корне проекта &#039;&#039;rosastore&#039;&#039;:&lt;br /&gt;
#* &amp;lt;code&amp;gt;./genhtml.py -d database&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;cd ./site&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;python3 -m http.server 8000&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Перейди по [http://localhost:8000/ Ссылка]&lt;br /&gt;
# Проверьте результат в браузере.&lt;br /&gt;
# При необходимости повторяйте редактирование карточки и пересборку магазина, пока оформление не станет аккуратным и полным.&lt;br /&gt;
# Чтобы не открывать страницу заново после каждой пересборки, можно просто обновлять уже открытую вкладку сочетанием клавиш &#039;&#039;&#039;Ctrl+F5&#039;&#039;&#039;.&lt;br /&gt;
# После завершения работы в проекте &#039;&#039;web-store-database&#039;&#039; сделайте коммит:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git add database/*&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;git commit -m &amp;quot;added my superproject&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
# В веб-интерфейсе своего форка создайте &#039;&#039;pull request&#039;&#039;.&lt;br /&gt;
# Дождитесь проверки. Если потребуется доработка, в комментариях к &#039;&#039;pull request&#039;&#039; будет указано, что нужно исправить.&lt;br /&gt;
&lt;br /&gt;
=== Возможные проблемы ===&lt;br /&gt;
&lt;br /&gt;
==== Ошибка при первом запуске genhtml.py ====&lt;br /&gt;
&lt;br /&gt;
При первом запуске команда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;./genhtml.py -s ./site -d database&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
может завершиться ошибкой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;/home/sbraumann/Документы/Project/rosastore/./genhtml.py&amp;quot;, line 11, in &amp;lt;module&amp;gt;&lt;br /&gt;
    import rjsmin&lt;br /&gt;
ModuleNotFoundError: No module named &#039;rjsmin&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Причина:&#039;&#039;&#039; в системе отсутствует модуль &#039;&#039;rjsmin&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решение:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Установите его командой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pip3 install --user rjsmin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;Продолжение следует.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=%D0%92%D0%B5%D0%B1_%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD&amp;diff=686</id>
		<title>Веб магазин</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=%D0%92%D0%B5%D0%B1_%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD&amp;diff=686"/>
		<updated>2026-04-04T06:26:11Z</updated>

		<summary type="html">&lt;p&gt;Braumann: Привёл в читабельный вид&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;font-size:90%; color:#555; margin-bottom:1em;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Опубликовано:&#039;&#039;&#039; 29.10.2025 • &#039;&#039;&#039;Обновлено:&#039;&#039;&#039; 04.04.2026&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Веб-магазин ==&lt;br /&gt;
&lt;br /&gt;
В этой статье описано устройство веб-магазина РОСА, а также способы добавления и редактирования карточек приложений.&lt;br /&gt;
&lt;br /&gt;
=== Общие сведения ===&lt;br /&gt;
&lt;br /&gt;
* Веб-магазин не отдаёт пользователю пакеты для скачивания напрямую. Вместо этого он формирует специальную ссылку, которая открывается в программе &#039;&#039;rpmgrab&#039;&#039;. Эта программа извлекает из ссылки имя пакета и устанавливает его из репозитория ОС. Таким образом, даже в случае компрометации магазина установка ПО в обход репозитория невозможна.&lt;br /&gt;
* Тот же самый магазин без изменений используется также для [[BFRESH]] и Бария. Разница только в том, что вместо &#039;&#039;rpmgrab&#039;&#039; запускается другая утилита, которая создаёт модули, а не выполняет установку.&lt;br /&gt;
* У программ в магазине не указываются версии. Это позволяет не пересобирать страницу после каждого изменения в репозитории, а также использовать один и тот же магазин для разных платформ.&lt;br /&gt;
* В текущей реализации страница магазина является статической. Это повышает безопасность, снижает нагрузку на сервер и позволяет использовать магазин локально без запуска локального веб-сервера.&lt;br /&gt;
* Для снижения трафика сервер отдаёт небольшую HTML-страницу и базу данных, записанную в JS-файл. Часть содержимого формируется JavaScript-кодом на стороне браузера, а скриншоты подгружаются с использованием механизма &#039;&#039;lazy loading&#039;&#039;, то есть загружаются только по мере необходимости.&lt;br /&gt;
* HTML-страница и JS-файлы генерируются скриптом на основе базы данных. Эта же база используется для сборки пакета со скриншотами и описаниями для &#039;&#039;dnfdragora&#039;&#039;.&lt;br /&gt;
* Сама база заполняется в полуавтоматическом режиме на основе данных &#039;&#039;dnf info&#039;&#039; и метаданных &#039;&#039;AppStream&#039;&#039;.&lt;br /&gt;
* Архитектура магазина позволяет сравнительно просто интегрировать и другие способы установки ПО, отличные от &#039;&#039;dnf&#039;&#039;. Первый кандидат на интеграцию - &#039;&#039;epm&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Связанные проекты ===&lt;br /&gt;
&lt;br /&gt;
* [https://abf.io/soft/rosastore rosastore] - генератор страницы магазина: шаблоны HTML, JS и CSS, скрипты обработки скриншотов, а также инструменты сборки магазина из базы данных.&lt;br /&gt;
* [https://abf.io/soft/web-store-database web-store-database] - база данных, на основе которой собирается страница магазина: описания, скриншоты, иконки и другие материалы. Подключается к &#039;&#039;rosastore&#039;&#039; как git-сабмодуль.&lt;br /&gt;
* [https://abf.io/import/metadata metadata] - сборка RPM-пакетов:&lt;br /&gt;
** &#039;&#039;&#039;metadata-apps&#039;&#039;&#039; - пакет с магазином; может быть установлен локально. Для запуска локального магазина в пакет включён desktop-файл.&lt;br /&gt;
** &#039;&#039;&#039;metadata-dnfdragora&#039;&#039;&#039; - пакет с метаданными для &#039;&#039;dnfdragora&#039;&#039;, собранными из той же базы данных.&lt;br /&gt;
** &#039;&#039;&#039;web-store-desktop&#039;&#039;&#039; - пакет, содержащий только desktop-файл для открытия страницы магазина в браузере по умолчанию. Именно этот пакет устанавливается в системе пользователя для доступа к магазину.&lt;br /&gt;
&lt;br /&gt;
=== Как добавить приложение в веб-магазин РОСА ===&lt;br /&gt;
&lt;br /&gt;
Сначала приложение должно быть добавлено в репозиторий. На текущий момент магазин работает только с пакетами, собранными в репозитории.&lt;br /&gt;
&lt;br /&gt;
Этот процесс здесь не рассматривается. После того как пакет появился в репозитории, есть два варианта действий: простой и расширенный.&lt;br /&gt;
&lt;br /&gt;
==== Простой способ ====&lt;br /&gt;
&lt;br /&gt;
Можно написать на форум с просьбой добавить приложение в магазин:&lt;br /&gt;
&lt;br /&gt;
* [https://forum.rosa.ru/viewtopic.php?t=11774 Обсуждение на форуме]&lt;br /&gt;
&lt;br /&gt;
==== Самостоятельное добавление ====&lt;br /&gt;
&lt;br /&gt;
Можно подготовить карточку приложения самостоятельно и отправить &#039;&#039;pull request&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
# Зарегистрируйтесь на [https://abf.rosa.ru ABF]. Регистрация там работает по приглашениям; инвайт может выдать любой пользователь. Например, можно спросить в [https://t.me/rosalinux Telegram-чате ROSA].&lt;br /&gt;
# Через веб-интерфейс ABF клонируйте себе проект [https://abf.io/soft/web-store-database web-store-database].&lt;br /&gt;
# Склонируйте свой форк на локальную машину с помощью &#039;&#039;git clone&#039;&#039;.&lt;br /&gt;
# Карточки приложений находятся в папке &#039;&#039;&#039;database&#039;&#039;&#039;. Можно:&lt;br /&gt;
#* создать новую карточку по аналогии с уже существующими;&lt;br /&gt;
#* воспользоваться вспомогательными инструментами, описанными в файле &#039;&#039;&#039;README&#039;&#039;&#039; в корне проекта.&lt;br /&gt;
# Обязательно прочитайте &#039;&#039;&#039;README&#039;&#039;&#039;: в нём описан формат файла &#039;&#039;&#039;app.yml&#039;&#039;&#039;.&lt;br /&gt;
# Чтобы проверить, как карточка отображается в магазине, клонируйте генератор магазина: [https://abf.io/soft/rosastore rosastore].&lt;br /&gt;
# Скопируйте папку своего приложения из &#039;&#039;.../web-store-database/database&#039;&#039; в папку &#039;&#039;&#039;database&#039;&#039;&#039; внутри проекта &#039;&#039;rosastore&#039;&#039;. Эта папка используется для тестовых сборок магазина и содержит только часть проектов, поэтому локальная сборка выполняется быстрее.&lt;br /&gt;
# Далее выполните команды в корне проекта &#039;&#039;rosastore&#039;&#039;:&lt;br /&gt;
#* &amp;lt;code&amp;gt;./genhtml.py -d database&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;xdg-open ./site/index.html&amp;lt;/code&amp;gt;&lt;br /&gt;
# Проверьте результат в браузере.&lt;br /&gt;
# При необходимости повторяйте редактирование карточки и пересборку магазина, пока оформление не станет аккуратным и полным.&lt;br /&gt;
# Чтобы не открывать страницу заново после каждой пересборки, можно просто обновлять уже открытую вкладку сочетанием клавиш &#039;&#039;&#039;Ctrl+F5&#039;&#039;&#039;.&lt;br /&gt;
# После завершения работы в проекте &#039;&#039;web-store-database&#039;&#039; сделайте коммит:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git add database/*&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;git commit -m &amp;quot;added my superproject&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
# В веб-интерфейсе своего форка создайте &#039;&#039;pull request&#039;&#039;.&lt;br /&gt;
# Дождитесь проверки. Если потребуется доработка, в комментариях к &#039;&#039;pull request&#039;&#039; будет указано, что нужно исправить.&lt;br /&gt;
&lt;br /&gt;
=== Возможные проблемы ===&lt;br /&gt;
&lt;br /&gt;
==== Ошибка при первом запуске genhtml.py ====&lt;br /&gt;
&lt;br /&gt;
При первом запуске команда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;./genhtml.py -s ./site -d database&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
может завершиться ошибкой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;/home/sbraumann/Документы/Project/rosastore/./genhtml.py&amp;quot;, line 11, in &amp;lt;module&amp;gt;&lt;br /&gt;
    import rjsmin&lt;br /&gt;
ModuleNotFoundError: No module named &#039;rjsmin&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Причина:&#039;&#039;&#039; в системе отсутствует модуль &#039;&#039;rjsmin&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решение:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Установите его командой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pip3 install --user rjsmin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;Продолжение следует.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=%D0%92%D0%B5%D0%B1_%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD&amp;diff=685</id>
		<title>Веб магазин</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=%D0%92%D0%B5%D0%B1_%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD&amp;diff=685"/>
		<updated>2026-04-04T06:10:56Z</updated>

		<summary type="html">&lt;p&gt;Braumann: Решение проблемы с первым проходом&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== В РАЗРАБОТКЕ! ==&lt;br /&gt;
&lt;br /&gt;
== Веб магазин ==&lt;br /&gt;
Статья содержи сведения об устройстве веб магазина РОСА, а также  способы добавления и редактирования карточек приложений  в магазин. &lt;br /&gt;
&lt;br /&gt;
=== Общие идеи ===&lt;br /&gt;
&lt;br /&gt;
* Сайт с магазином отдает НЕ пакеты для скачивания, а специально оформленную ссылку. Ссылка открывается в программе rpmgrab, которая извлекает из ссылки имя пакета и устанавливает из репозитория ОС. То есть даже при компрометации магазина мимо репозитория ничего установить нельзя.&lt;br /&gt;
* Этот же магазин без каких либо изменений используется для [[BFRESH]] и Бария, просто вместо rpmgrab запускается другая утилита, которая создает модули вместо установки.&lt;br /&gt;
&lt;br /&gt;
* ПО в магазине не имеет версий, это позволяет не пересобирать страницу после каждого изменения в репозитории, а также использовать один магазин для разных платформ.&lt;br /&gt;
&lt;br /&gt;
* В текущей реализации страница статична, что одновременно является дополнительной защитой магазина, снижает нагрузку на сервер и позволяет установить Магазин локально без использования локального веб сервера.&lt;br /&gt;
&lt;br /&gt;
* Для снижения трафика  сервер отдает небольшую HTML страницу и базу с данными записанную в js файл, часть страницы с контентом формируется js на стороне браузера, а скриншоты догружаются с использованием механизма  lazy download, то есть грузятся только видимые в данный момент.&lt;br /&gt;
&lt;br /&gt;
* Html cтраница и js генерируются скриптом на основе базы данных, которая одновременно используется для генерации пакета со скриншотами и описаниями для dnfdragora.&lt;br /&gt;
* Сама база наполняется в полу-автоматическом режиме на основе данных dnf info и appstream метаданных.&lt;br /&gt;
&lt;br /&gt;
* Магазин позволит достаточно просто интегрировать отличные от dnf способы установки софта. Первый на очереди epm.&lt;br /&gt;
&lt;br /&gt;
=== Проекты связанные с магазином ===&lt;br /&gt;
https://abf.io/soft/rosastore - Генератор страницы магазина (шаблоны для сборки html, js, css, скрипт для обработки скриншотов и из базы данных для магазина)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://abf.io/soft/web-store-database - База данных по которой собирается страница магазина ( Описания, скриншоты, иконки и т.д.) подключен гит сабмодулем к rosastore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://abf.io/import/metadata - Сборка rpm пакетов:&lt;br /&gt;
&lt;br /&gt;
# metadata-apps - пакет с магазином, можно установить локально, для использования локального магазина в пакете есть десктоп файл.&lt;br /&gt;
# metadata-dnfdragora - пакет с метаданными для dnfdragora собранными из той же базы данных&lt;br /&gt;
# web-store-desktop - в пакете всего один десктоп файл для открытия страницы магазина в браузере по умолчанию. Именно этот пакет устанавливается в ОС пользователя для доступа к магазину.&lt;br /&gt;
&lt;br /&gt;
=== Как добавить приложение в веб магазин Росы ===&lt;br /&gt;
Во первых нужно добавить приложение в репозиторий, на текущий момент  магазин работает только с пакетами собранными в репозитории.&lt;br /&gt;
&lt;br /&gt;
Это тема отдельная, здесь описывать не буду. Далее у вас два пути. Простой и интересный. &lt;br /&gt;
&lt;br /&gt;
Простой это написать в форум https://forum.rosa.ru/viewtopic.php?t=11774  просьбу добавить приложение,  которое по вашему мнению необходимо в магазине. Интересный -  сделать самому и отправить пулл реквест,  вот об этом подробнее:&lt;br /&gt;
&lt;br /&gt;
# Нужен аккаунт на https://abf.rosa.ru, регистрация там по инвайтам, приглашение может дать любой пользователь. Просто спросите например тут https://t.me/rosalinux&lt;br /&gt;
# Используя веб интерфейс abf необходимо клонировать гит проект https://abf.io/soft/web-store-database себе.&lt;br /&gt;
# Используя git clone забираете склонированный проект на свою машину. &lt;br /&gt;
# Карточки приложений лежат в папке database. Можно сделать свою &amp;quot;с нуля&amp;quot; по аналогии с прочими, либо использовать вспомогательные инструменты описанные в README в корне проекта.  README в любом случае почитайте, там описан формат app.yml&lt;br /&gt;
# Теперь нужно проверить как карточка вашего приложения отображается в магазине. Для этого клонируете генератор магазина https://abf.io/soft/rosastore &lt;br /&gt;
# Копируете папку с вашим приложением из ..../web-store-database/database  в папку database внутри проекта rosastore. Это папка для тестовых сборок магазина, там всего несколько проектов, реальный магазин собирается достаточно долго.  Далее команды выполняются в корне rosastore: &lt;br /&gt;
#* ./genhtml.py -d database  это создаст страницу в папке ./site&lt;br /&gt;
#* xdg-open ./site/index.html&lt;br /&gt;
# Повторяете пункты 4, 6 пока не получится красиво и аккуратно. Чтобы не открывать каждый раз новую страницу в браузере можно вместо второй команды жать ctrl-f5 в открытом магазине в браузере.&lt;br /&gt;
# В проекте web-store-database делаете коммит&lt;br /&gt;
#* git add database/*&lt;br /&gt;
#* git commit -m &amp;quot;added my supperproject&amp;quot;&lt;br /&gt;
#* git push&lt;br /&gt;
# В веб интерфейсе на странице склонированного себе проекта создаете pull request&lt;br /&gt;
# Ждете когда ваш PR примут либо в комментариях ответят, что нужно исправить чтобы приняли.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Проблемы и решения:&lt;br /&gt;
&lt;br /&gt;
При первом запуске возможно не пройдет команда ./genhtml.py -s ./site -d database, с ошибкой &lt;br /&gt;
&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
&lt;br /&gt;
  File &amp;quot;/home/sbraumann/Документы/Project/rosastore/./genhtml.py&amp;quot;, line 11, in &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    import rjsmin&lt;br /&gt;
&lt;br /&gt;
ModuleNotFoundError: No module named &#039;rjsmin&#039;&lt;br /&gt;
&lt;br /&gt;
Решение:&lt;br /&gt;
&lt;br /&gt;
Установить rjsmin&lt;br /&gt;
&lt;br /&gt;
pip3 install --user rjsmin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Продолжение следует.....&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS&amp;diff=616</id>
		<title>BTRFS</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS&amp;diff=616"/>
		<updated>2026-01-13T17:02:36Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;font-size:90%; color:#555; margin-bottom:1em;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Опубликовано:&#039;&#039;&#039; 30.10.2025 • &#039;&#039;&#039;Обновлено:&#039;&#039;&#039; {{REVISIONDAY2}}.{{REVISIONMONTH}}.{{REVISIONYEAR}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BTRFS&#039;&#039;&#039; — современная файловая система Linux с поддержкой снимков (snapshots), встроенного сжатия, контроля целостности и гибкой структуры подтомов (subvolumes).  &lt;br /&gt;
В этом разделе собраны материалы о возможностях BTRFS, установке и разметке, оптимизации, обслуживании и автоматизации в ROSA Linux.&lt;br /&gt;
&lt;br /&gt;
== Подразделы ==&lt;br /&gt;
&lt;br /&gt;
* [[BTRFS/Введение и разметка|Введение и разметка]] — основы BTRFS и рекомендуемые схемы разметки дисков&lt;br /&gt;
* [[BTRFS/Оптимизация|Оптимизация]] — параметры монтирования и практические советы для SSD/NVMe/HDD&lt;br /&gt;
* [[BTRFS/Обслуживание|Обслуживание]] — scrub, балансировка, дефрагментация и диагностика состояния файловой системы&lt;br /&gt;
* [[BTRFS/Автоматизация обслуживания|Автоматизация обслуживания]] — скрипты и systemd-таймеры для регулярного обслуживания&lt;br /&gt;
&lt;br /&gt;
== Основные возможности BTRFS ==&lt;br /&gt;
&lt;br /&gt;
* Снимки (snapshots) и клонирование подтомов&lt;br /&gt;
* Встроенное сжатие данных (zstd, lzo, zlib)&lt;br /&gt;
* Контроль целостности данных и метаданных с помощью контрольных сумм&lt;br /&gt;
* Поддержка многодисковых конфигураций и профилей RAID (0/1/10, а также 5/6 с ограничениями)&lt;br /&gt;
* Балансировка, дефрагментация и восстановление повреждённых блоков при наличии избыточности (например, RAID1/DUP)&lt;br /&gt;
&lt;br /&gt;
== Кому подходит BTRFS ==&lt;br /&gt;
&lt;br /&gt;
BTRFS хорошо подходит, если вам нужно:&lt;br /&gt;
&lt;br /&gt;
* быстро откатывать изменения системы с помощью снимков;&lt;br /&gt;
* экономить место за счёт сжатия данных;&lt;br /&gt;
* повысить надёжность хранения за счёт контроля целостности;&lt;br /&gt;
* гибко управлять подтомами (например, отдельно для &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt;);&lt;br /&gt;
* удобно обслуживать файловую систему стандартными утилитами BTRFS.&lt;br /&gt;
&lt;br /&gt;
Частые сценарии использования:&lt;br /&gt;
* ноутбуки и рабочие станции;&lt;br /&gt;
* домашние ПК;&lt;br /&gt;
* тестовые системы, где важен быстрый rollback;&lt;br /&gt;
* системы с регулярными обновлениями и экспериментами.&lt;br /&gt;
&lt;br /&gt;
== Кому BTRFS может не подойти ==&lt;br /&gt;
&lt;br /&gt;
BTRFS может быть не лучшим выбором, если:&lt;br /&gt;
&lt;br /&gt;
* требуется максимально простая файловая система без дополнительных возможностей (тогда часто выбирают ext4);&lt;br /&gt;
* планируется активное использование RAID5/RAID6 (эти профили имеют известные ограничения и требуют осторожности);&lt;br /&gt;
* предполагается высокая нагрузка на запись больших последовательных файлов без необходимости в снимках и сжатии.&lt;br /&gt;
&lt;br /&gt;
== Важно: RAID5/RAID6 ==&lt;br /&gt;
&lt;br /&gt;
BTRFS поддерживает профили RAID5/RAID6, но они имеют известные ограничения и считаются менее надёжным вариантом по сравнению с RAID1/RAID10.  &lt;br /&gt;
Если вам нужна максимальная устойчивость к сбоям, предпочтительнее использовать RAID1/RAID10 или хранить данные на одном устройстве с резервным копированием.&lt;br /&gt;
&lt;br /&gt;
BTRFS часто сравнивают с ZFS из-за схожих возможностей (снимки, контроль целостности, управление пространством), однако подход и реализация у них отличаются.&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=615</id>
		<title>BTRFS/Автоматизация обслуживания</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=615"/>
		<updated>2026-01-11T14:08:49Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:90%; color:#555; margin-bottom:1em;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Опубликовано:&#039;&#039;&#039; 30.10.2025 • &#039;&#039;&#039;Обновлено:&#039;&#039;&#039; {{REVISIONDAY2}}.{{REVISIONMONTH}}.{{REVISIONYEAR}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вы уже знаете, как обслуживать файловую систему &#039;&#039;&#039;BTRFS&#039;&#039;&#039; вручную, следующий логичный шаг — автоматизировать эти процессы.  &lt;br /&gt;
Linux умеет выполнять задачи по расписанию, и с помощью systemd это делается надёжно и прозрачно.&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Автоматизация обслуживания&#039;&#039;&#039; =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Автоматизация&#039;&#039;&#039; позволяет системе самостоятельно:&lt;br /&gt;
* проверять целостность данных (scrub);&lt;br /&gt;
* периодически перераспределять пространство (balance);&lt;br /&gt;
* выполнять TRIM для SSD/NVMe (fstrim).&lt;br /&gt;
&lt;br /&gt;
Пользователю больше не нужно помнить о регулярном обслуживании — всё выполняется в фоновом режиме.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Подготовка скрипта обслуживания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Создадим безопасный скрипт для регулярной проверки BTRFS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Содержимое файла:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
set -e&lt;br /&gt;
&lt;br /&gt;
# Проверка, что корень — BTRFS&lt;br /&gt;
if ! findmnt -n -o FSTYPE / | grep -q btrfs; then&lt;br /&gt;
    echo &amp;quot;Корневая файловая система не BTRFS, выход.&amp;quot;&lt;br /&gt;
    exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Проверка целостности данных&lt;br /&gt;
btrfs scrub start /&lt;br /&gt;
&lt;br /&gt;
# TRIM (если не используется fstrim.timer)&lt;br /&gt;
fstrim -av || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сделайте файл исполняемым:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;systemd-сервис для scrub&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Создайте сервис:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Содержимое:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Регулярная проверка BTRFS (scrub)&lt;br /&gt;
Documentation=man:btrfs-scrub(8)&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Таймер systemd (еженедельно)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Еженедельный scrub BTRFS&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Активация:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl list-timers | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Балансировка (раз в месяц)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Балансировка — ресурсоёмкая операция, поэтому &#039;&#039;&#039;не должна выполняться часто&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Создайте отдельный сервис:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-balance.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Месячная балансировка BTRFS&lt;br /&gt;
Documentation=man:btrfs-balance(8)&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/bin/btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-balance.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Месячная балансировка BTRFS&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=monthly&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Активация:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now btrfs-balance.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка журналов&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo journalctl -u btrfs-maintain.service&lt;br /&gt;
sudo journalctl -u btrfs-balance.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Альтернатива: cron (для старых систем)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если systemd недоступен, можно использовать cron:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo crontab -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@weekly  /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
@monthly /usr/bin/btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Практические рекомендации&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Scrub — раз в неделю или месяц.&lt;br /&gt;
* Balance — &#039;&#039;&#039;не чаще одного раза в 1–2 месяца&#039;&#039;&#039;.&lt;br /&gt;
* Если включён `fstrim.timer`, запуск `fstrim` из скрипта не требуется.&lt;br /&gt;
* Не запускайте баланс без параметров `dusage/musage`.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
С правильно настроенной автоматизацией &#039;&#039;&#039;BTRFS&#039;&#039;&#039; практически не требует ручного вмешательства.  &lt;br /&gt;
Система сама следит за целостностью данных, эффективно использует пространство и остаётся стабильной даже при длительной работе.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=614</id>
		<title>BTRFS/Обслуживание</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=614"/>
		<updated>2026-01-11T14:08:36Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Оптимизация|← Назад: Оптимизация]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Автоматизация обслуживания|Вперёд: Автоматизация обслуживания →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:90%; color:#555; margin-bottom:1em;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Опубликовано:&#039;&#039;&#039; 30.10.2025 • &#039;&#039;&#039;Обновлено:&#039;&#039;&#039; {{REVISIONDAY2}}.{{REVISIONMONTH}}.{{REVISIONYEAR}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файловая система &#039;&#039;&#039;BTRFS&#039;&#039;&#039; может сама проверять свои данные, исправлять ошибки и сохранять стабильность, если ей немного помочь.  &lt;br /&gt;
Этот раздел рассказывает, как выполнять обслуживание — без риска и без “танцев с бубном”.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Зачем нужно обслуживание BTRFS&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
BTRFS — &amp;quot;живая&amp;quot; файловая система: она отслеживает состояние своих блоков, умеет восстанавливаться при ошибках и эффективно использовать пространство.  &lt;br /&gt;
Но даже такой системе полезно периодически проверять состояние, балансировать блоки и корректировать распределение данных, чтобы избежать проблем с доступом и потерей свободного места.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка статистики устройств&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы посмотреть, есть ли ошибки ввода-вывода или другие проблемы с устройствами, выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs device stats /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда выводит счётчики ошибок чтения и записи по каждому устройству;  &lt;br /&gt;
если вы видите только нули — всё в порядке.  &lt;br /&gt;
Если есть ошибки, стоит изучить их глубже (например, с помощью `smartctl` или `smartmontools`).&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка и восстановление данных (scrub)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Scrub — это проверка целостности всех блоков данных и метаданных с проверкой контрольных сумм на лету.  &lt;br /&gt;
Если файловая система настроена с избыточным хранением (например, RAID1 или DUP), BTRFS может автоматически попытаться восстановить повреждённые блоки из реплик.&lt;br /&gt;
&lt;br /&gt;
Чтобы запустить проверку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub start -Bd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
* &#039;&#039;&#039;start&#039;&#039;&#039; — начать операцию scrub&lt;br /&gt;
* &#039;&#039;&#039;-B&#039;&#039;&#039; — выполнить в блокирующем режиме (ожидать завершения)&lt;br /&gt;
* &#039;&#039;&#039;-d&#039;&#039;&#039; — детальный вывод статистики по ошибкам&lt;br /&gt;
&lt;br /&gt;
Для просмотра статуса scrub:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub status /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если ошибок нет — вывод покажет нули в соответствующих счётчиках.  &lt;br /&gt;
Регулярная проверка (например, раз в месяц) помогает выявлять проблемы на ранних стадиях.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Балансировка пространства&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Со временем распределение данных и метаданных в BTRFS может становиться неравномерным.  &lt;br /&gt;
Балансировка перераспределяет блоки, улучшая доступное пространство и предотвращая ситуации, когда новый блок не может быть выделен, хотя в целом места достаточно.&lt;br /&gt;
&lt;br /&gt;
Пример команды:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
* &#039;&#039;&#039;-dusage=50&#039;&#039;&#039; — обрабатывать только данные, занятые менее чем на 50 %&lt;br /&gt;
* &#039;&#039;&#039;-musage=50&#039;&#039;&#039; — аналогично для метаданных&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — корневой подтом&lt;br /&gt;
&lt;br /&gt;
Эту операцию можно выполнять, например, раз в пару месяцев, или когда метаданные занимают слишком много места.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Удаление старых снимков (snapshots)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Снимки занимают пространство, и если их много — свободное место может уменьшиться.  &lt;br /&gt;
Сначала получите список подтомов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs subvolume list /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем удалите ненужный:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs subvolume delete /.snapshots/2024-10-10_18-00-00/snapshot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После удаления снимка стоит выполнить балансировку, чтобы освободившееся пространство эффективно перераспределилось.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка использования места&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы увидеть текущее использование пространства:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда покажет, сколько места занято данными, метаданными и зарезервировано системой.  &lt;br /&gt;
Если доля метаданных велика (например, выше 20–30 %), имеет смысл провести балансировку.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка общей целостности файловой системы&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Для “сухой” проверки без исправлений можно использовать:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs check --readonly /dev/sda2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта команда проверяет структуру файловой системы без внесения изменений.  &lt;br /&gt;
Если вы хотите исправить серьёзные ошибки, делать это стоит только в режиме Live-системы, когда раздел не смонтирован.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Практические советы&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Запускайте scrub примерно раз в месяц — это помогает находить ошибки до того, как они станут проблемой. &lt;br /&gt;
* Балансировку можно делать раз в 2–3 месяца или при необходимости.  &lt;br /&gt;
* Scrub не заменяет `fsck` — это проверка контрольных сумм, а не глубокая реставрация структуры.&lt;br /&gt;
* Всегда проверяйте статус после выполнения операций (`scrub status`, `balance status`).&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Ежемесячное обслуживание (вручную)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если вы не автоматизируете обслуживание, достаточно выполнить три команды вручную:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub start -Bd /&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
sudo fstrim -av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* `scrub` — проверяет целостность данных;  &lt;br /&gt;
* `balance` — перераспределяет данные;  &lt;br /&gt;
* `fstrim` — сообщает SSD/NVMe о неиспользуемых блоках, освобождая их для внутреннего управления.&lt;br /&gt;
&lt;br /&gt;
Такая последовательность обеспечивает базовый уровень ухода за BTRFS.&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Регулярное обслуживание BTRFS похоже на плановое ТО автомобиля — немного внимания сейчас позволяет значительно снизить риск проблем и сохранить производительность системы.  &lt;br /&gt;
После нескольких таких циклов вы заметите, что файловая система остаётся “лёгкой” и устойчивой даже после месяцев активной работы.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Оптимизация|← Назад: Оптимизация]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Автоматизация обслуживания|Вперёд: Автоматизация обслуживания →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=613</id>
		<title>BTRFS/Оптимизация</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=613"/>
		<updated>2026-01-11T14:08:21Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Введение и разметка|← Назад: Введение и разметка]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Обслуживание|Вперёд: Обслуживание →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:90%; color:#555; margin-bottom:1em;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Опубликовано:&#039;&#039;&#039; 30.10.2025 • &#039;&#039;&#039;Обновлено:&#039;&#039;&#039; {{REVISIONDAY2}}.{{REVISIONMONTH}}.{{REVISIONYEAR}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки ROSA Linux на файловую систему &#039;&#039;&#039;BTRFS&#039;&#039;&#039; систему можно дополнительно настроить, чтобы повысить производительность, сократить количество лишних операций записи и продлить срок службы накопителя.  &lt;br /&gt;
В этом разделе подробно разбираются параметры монтирования и инструменты, которые реально влияют на работу BTRFS.&lt;br /&gt;
&lt;br /&gt;
== Что такое оптимизация BTRFS ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BTRFS&#039;&#039;&#039; — это современная файловая система с поддержкой сжатия, снапшотов, контроля целостности и гибкого управления дисками.  &lt;br /&gt;
По умолчанию параметры BTRFS подобраны для максимальной совместимости и стабильности, а не для конкретного типа накопителя.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Оптимизация&#039;&#039;&#039; — это осознанная настройка параметров под:&lt;br /&gt;
* тип накопителя (SSD / NVMe / HDD);&lt;br /&gt;
* характер нагрузки (рабочая станция, сервер, ноутбук);&lt;br /&gt;
* требования к скорости, износостойкости и безопасности данных.&lt;br /&gt;
&lt;br /&gt;
== Проверка текущих параметров ==&lt;br /&gt;
&lt;br /&gt;
Перед внесением изменений полезно посмотреть, как файловая система смонтирована сейчас:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mount | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример вывода:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/sda2 on / type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=5)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Основные параметры:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — BTRFS автоматически определил твердотельный накопитель;&lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — используется современный механизм учёта свободного пространства;&lt;br /&gt;
* &#039;&#039;&#039;relatime&#039;&#039;&#039; — обновление времени доступа включено в щадящем режиме.&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для SSD и NVMe ==&lt;br /&gt;
&lt;br /&gt;
Для SSD и NVMe рекомендуется добавить следующие параметры монтирования в файл &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,ssd,space_cache=v2,discard=async,compress=zstd:5,autodefrag&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Назначение параметров:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — отключает обновление времени доступа, снижая количество операций записи;&lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — включает оптимизации алгоритмов ввода-вывода под SSD (часто определяется автоматически);&lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — ускоряет работу с метаданными свободного пространства;&lt;br /&gt;
* &#039;&#039;&#039;discard=async&#039;&#039;&#039; — асинхронный TRIM без влияния на производительность;&lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:5&#039;&#039;&#039; — оптимальный баланс между скоростью и степенью сжатия;&lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — помогает бороться с фрагментацией часто изменяемых файлов.&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для HDD ==&lt;br /&gt;
&lt;br /&gt;
Для классических жёстких дисков предпочтительны более щадящие настройки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,space_cache=v2,compress=zstd:3,autodefrag,commit=60&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:3&#039;&#039;&#039; — меньше нагрузка на CPU;&lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — снижает фрагментацию;&lt;br /&gt;
* &#039;&#039;&#039;commit=60&#039;&#039;&#039; — уменьшает количество операций записи (по умолчанию 30 секунд).&lt;br /&gt;
&lt;br /&gt;
== Проверка и включение сжатия ==&lt;br /&gt;
&lt;br /&gt;
Проверить, включено ли сжатие:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs property get / compression&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вывод содержит:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
compression=zstd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— сжатие активно.&lt;br /&gt;
&lt;br /&gt;
== Принудительное сжатие существующих данных ==&lt;br /&gt;
&lt;br /&gt;
Файлы, записанные до включения сжатия, можно обработать вручную:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem defragment -r -v -czstd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-r&#039;&#039;&#039; — рекурсивно;&lt;br /&gt;
* &#039;&#039;&#039;-v&#039;&#039;&#039; — подробный вывод;&lt;br /&gt;
* &#039;&#039;&#039;-czstd&#039;&#039;&#039; — применить алгоритм Zstandard.&lt;br /&gt;
&lt;br /&gt;
== Настройка TRIM ==&lt;br /&gt;
&lt;br /&gt;
Для большинства систем рекомендуется использовать периодический TRIM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверка статуса:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl status fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Использовать одновременно &#039;&#039;&#039;discard=async&#039;&#039;&#039; и &#039;&#039;&#039;fstrim.timer&#039;&#039;&#039; не требуется — достаточно одного способа.&lt;br /&gt;
&lt;br /&gt;
== Балансировка BTRFS ==&lt;br /&gt;
&lt;br /&gt;
Со временем данные могут распределяться по чанкам неравномерно.  &lt;br /&gt;
Для оптимизации использования пространства применяется балансировка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рекомендуется запускать балансировку примерно раз в 1–2 месяца или при нехватке свободного места.&lt;br /&gt;
&lt;br /&gt;
== Проверка использования диска ==&lt;br /&gt;
&lt;br /&gt;
Чтобы посмотреть распределение данных:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда показывает использование данных, метаданных и системных блоков.&lt;br /&gt;
&lt;br /&gt;
== btrfs-assistant ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;btrfs-assistant&#039;&#039;&#039; — графическое приложение для управления BTRFS, упрощающее оптимизацию и обслуживание.&lt;br /&gt;
&lt;br /&gt;
Возможности:&lt;br /&gt;
* управление подтомами и снапшотами;&lt;br /&gt;
* запуск балансировки, scrub и дефрагментации;&lt;br /&gt;
* настройка параметров и автоматических задач;&lt;br /&gt;
* интеграция с Timeshift и Snapper.&lt;br /&gt;
&lt;br /&gt;
Установка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo dnf in btrfs-assistant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запуск:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
btrfs-assistant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Важные примечания и компромиссы ==&lt;br /&gt;
&lt;br /&gt;
=== Выбор уровня сжатия ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;zstd:1–3&#039;&#039;&#039; — минимальная нагрузка;&lt;br /&gt;
* &#039;&#039;&#039;zstd:5&#039;&#039;&#039; — рекомендуемый баланс;&lt;br /&gt;
* &#039;&#039;&#039;zstd:7+&#039;&#039;&#039; — максимальное сжатие, но возможные потери производительности.&lt;br /&gt;
&lt;br /&gt;
=== autodefrag ===&lt;br /&gt;
&lt;br /&gt;
Рекомендуется:&lt;br /&gt;
* для рабочих станций и ноутбуков;&lt;br /&gt;
* при активной работе с мелкими файлами.&lt;br /&gt;
&lt;br /&gt;
Не рекомендуется:&lt;br /&gt;
* для баз данных;&lt;br /&gt;
* для образов виртуальных машин;&lt;br /&gt;
* для больших последовательно записываемых файлов.&lt;br /&gt;
&lt;br /&gt;
=== discard и commit ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;discard=async&#039;&#039;&#039; подходит для качественных SSD;&lt;br /&gt;
* &#039;&#039;&#039;commit=60&#039;&#039;&#039; уменьшает износ, но увеличивает риск потери последних данных при аварийном отключении питания.&lt;br /&gt;
&lt;br /&gt;
=== Что не является оптимизацией ===&lt;br /&gt;
&lt;br /&gt;
* частая балансировка без необходимости;&lt;br /&gt;
* дефрагментация статичных больших файлов;&lt;br /&gt;
* использование максимального уровня сжатия без причины.&lt;br /&gt;
&lt;br /&gt;
== Итоги ==&lt;br /&gt;
&lt;br /&gt;
Грамотная оптимизация BTRFS позволяет:&lt;br /&gt;
&lt;br /&gt;
* повысить отзывчивость системы;&lt;br /&gt;
* сократить износ SSD;&lt;br /&gt;
* уменьшить занимаемое дисковое пространство;&lt;br /&gt;
* сохранить баланс между производительностью и надёжностью.&lt;br /&gt;
&lt;br /&gt;
Оптимизация BTRFS — это не включение всех параметров сразу, а осознанный выбор под реальные задачи системы.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Введение и разметка|← Назад: Введение и разметка]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Обслуживание|Вперёд: Обслуживание →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=612</id>
		<title>BTRFS/Введение и разметка</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=612"/>
		<updated>2026-01-11T14:07:54Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:90%; color:#555; margin-bottom:1em;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Опубликовано:&#039;&#039;&#039; 30.10.2025 • &#039;&#039;&#039;Обновлено:&#039;&#039;&#039; {{REVISIONDAY2}}.{{REVISIONMONTH}}.{{REVISIONYEAR}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BTRFS&#039;&#039;&#039; (произносится как «би-ти-эф-эс», от &#039;&#039;&#039;B-Tree FS&#039;&#039;&#039;) — это современная файловая система Linux, которая умеет не только хранить файлы, но и &#039;&#039;&#039;обнаруживать ошибки данных&#039;&#039;&#039;, &#039;&#039;&#039;сжимать информацию&#039;&#039;&#039;, &#039;&#039;&#039;создавать снимки системы&#039;&#039;&#039; и &#039;&#039;&#039;управлять несколькими дисками как одним&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Если вы раньше пользовались Windows, BTRFS можно сравнить с «умным аналогом NTFS», но с тем отличием, что многие функции (снимки, проверка целостности, управление дисками), которые в Windows реализованы отдельными утилитами, здесь встроены прямо в файловую систему.&lt;br /&gt;
&lt;br /&gt;
== Что делает BTRFS особенной ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Копирование при записи (Copy-on-Write, CoW)&#039;&#039;&#039; — данные никогда не перезаписываются «поверх» старых. Новые версии записываются в другое место, что защищает от повреждений при сбоях питания или зависаниях&lt;br /&gt;
* &#039;&#039;&#039;Снимки (snapshots)&#039;&#039;&#039; — позволяют «заморозить» состояние системы и при необходимости вернуться к нему позже (аналог точек восстановления Windows)&lt;br /&gt;
* &#039;&#039;&#039;Сжатие данных на лету&#039;&#039;&#039; — экономит место и часто повышает производительность, особенно на SSD&lt;br /&gt;
* &#039;&#039;&#039;Проверка целостности&#039;&#039;&#039; — для данных и метаданных хранятся контрольные суммы, что позволяет выявлять повреждения&lt;br /&gt;
* &#039;&#039;&#039;Гибкое управление дисками&#039;&#039;&#039; — можно добавлять и удалять устройства, расширять файловую систему без форматирования&lt;br /&gt;
&lt;br /&gt;
== Создание файловой системы BTRFS ==&lt;br /&gt;
&lt;br /&gt;
Чтобы начать использовать BTRFS, раздел необходимо отформатировать:&lt;br /&gt;
&lt;br /&gt;
    # mkfs.btrfs -L ROSA /dev/sda2&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;mkfs.btrfs&#039;&#039;&#039; — создаёт файловую систему BTRFS&lt;br /&gt;
* &#039;&#039;&#039;-L ROSA&#039;&#039;&#039; — задаёт метку (название) файловой системы&lt;br /&gt;
* &#039;&#039;&#039;/dev/sda2&#039;&#039;&#039; — раздел, на который будет устанавливаться система&lt;br /&gt;
&lt;br /&gt;
После выполнения команды раздел готов к использованию.&lt;br /&gt;
&lt;br /&gt;
== Создание подтомов (subvolumes) ==&lt;br /&gt;
&lt;br /&gt;
Подтомы (subvolumes) в BTRFS — это логические разделы внутри одной файловой системы.  &lt;br /&gt;
Их можно сравнить с «папками с особыми свойствами», каждая из которых может иметь собственные снимки.&lt;br /&gt;
&lt;br /&gt;
Обычно создают отдельные подтомы для системы и пользовательских данных, чтобы снапшоты системы не затрагивали файлы пользователей.&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Смонтируйте раздел временно:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    sudo mount /dev/sda2 /mnt&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Создайте подтомы:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    sudo btrfs subvolume create /mnt/@&lt;br /&gt;
    sudo btrfs subvolume create /mnt/@home&lt;br /&gt;
&lt;br /&gt;
В результате будут созданы:&lt;br /&gt;
* &#039;&#039;&#039;@&#039;&#039;&#039; — подтом для корневой файловой системы &#039;&#039;&#039;(/)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;@home&#039;&#039;&#039; — подтом для пользовательских данных &#039;&#039;&#039;(/home)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Отмонтируйте раздел:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
== Монтирование подтомов (fstab) ==&lt;br /&gt;
&lt;br /&gt;
Чтобы подтомы автоматически подключались при загрузке системы, их необходимо прописать в файле &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Пример конфигурации:&lt;br /&gt;
&lt;br /&gt;
    UUID=xxxx-xxxx /     btrfs subvol=@,defaults,compress=zstd 0 0&lt;br /&gt;
    UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,compress=zstd 0 0&lt;br /&gt;
&lt;br /&gt;
Обратите внимание: &#039;&#039;&#039;UUID одинаковый&#039;&#039;&#039;, так как оба подтома находятся внутри одной файловой системы BTRFS.&lt;br /&gt;
&lt;br /&gt;
=== Пояснение параметров ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;UUID&#039;&#039;&#039; — уникальный идентификатор файловой системы (можно узнать командой &#039;&#039;&#039;blkid&#039;&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; и &#039;&#039;&#039;/home&#039;&#039;&#039; — точки монтирования&lt;br /&gt;
* &#039;&#039;&#039;btrfs&#039;&#039;&#039; — тип файловой системы&lt;br /&gt;
* &#039;&#039;&#039;subvol=@&#039;&#039;&#039; — указывает, какой подтом монтируется&lt;br /&gt;
* &#039;&#039;&#039;compress=zstd&#039;&#039;&#039; — включает сжатие данных алгоритмом Zstandard&lt;br /&gt;
* &#039;&#039;&#039;defaults&#039;&#039;&#039; — набор стандартных параметров монтирования&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
!Опция&lt;br /&gt;
!Значение&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;rw&#039;&#039;&#039;&lt;br /&gt;
|монтирование в режиме чтения и записи&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;suid&#039;&#039;&#039;&lt;br /&gt;
|разрешает использование битов SUID и SGID&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;dev&#039;&#039;&#039;&lt;br /&gt;
|разрешает использование файлов устройств&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;exec&#039;&#039;&#039;&lt;br /&gt;
|разрешает выполнение бинарных файлов&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;auto&#039;&#039;&#039;&lt;br /&gt;
|файловая система монтируется автоматически (в том числе через &amp;lt;code&amp;gt;mount -a&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;nouser&#039;&#039;&#039;&lt;br /&gt;
|монтирование разрешено только пользователю root&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;async&#039;&#039;&#039;&lt;br /&gt;
|асинхронный ввод-вывод (поведение по умолчанию)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Примечание: параметр &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; в современных версиях ядра Linux включён по умолчанию и может не указываться явно.&lt;br /&gt;
&lt;br /&gt;
== Проверка результата ==&lt;br /&gt;
&lt;br /&gt;
После настройки можно убедиться, что BTRFS работает корректно.&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Список подтомов:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    sudo btrfs subvolume list /&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Использование дискового пространства:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    sudo btrfs filesystem df /&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Общая информация о файловой системе:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    sudo btrfs filesystem show&lt;br /&gt;
&lt;br /&gt;
Если команды выполняются без ошибок и подтомы отображаются — файловая система настроена корректно.&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BTRFS&#039;&#039;&#039; — это гибкая и современная файловая система, подходящая как для новичков, так и для опытных администраторов.&lt;br /&gt;
&lt;br /&gt;
Она объединяет возможности, которые в Windows реализованы разными инструментами:&lt;br /&gt;
* вместо «точек восстановления» — снимки&lt;br /&gt;
* вместо отдельных утилит управления дисками — встроенная балансировка и управление устройствами&lt;br /&gt;
* вместо ручной проверки файловой системы — постоянный контроль целостности данных&lt;br /&gt;
&lt;br /&gt;
BTRFS особенно хорошо подходит для систем, где важны надёжность, удобство резервного копирования и возможность быстрого отката изменений.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS&amp;diff=611</id>
		<title>BTRFS</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS&amp;diff=611"/>
		<updated>2026-01-11T14:05:40Z</updated>

		<summary type="html">&lt;p&gt;Braumann: Введение даты публикации и обновления (Тест)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;font-size:90%; color:#555; margin-bottom:1em;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Опубликовано:&#039;&#039;&#039; 30.10.2025 • &#039;&#039;&#039;Обновлено:&#039;&#039;&#039; {{REVISIONDAY2}}.{{REVISIONMONTH}}.{{REVISIONYEAR}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BTRFS — это современная файловая система с поддержкой снимков, встроенного сжатия, самовосстановления и управления подтомами.  &lt;br /&gt;
В этом разделе собраны материалы о её возможностях, настройке, оптимизации и автоматизации обслуживания в ROSA Linux.&lt;br /&gt;
&lt;br /&gt;
== Подразделы ==&lt;br /&gt;
&lt;br /&gt;
* [[BTRFS/Введение и разметка|Введение и разметка]] — описание принципов BTRFS и схем разметки дисков&lt;br /&gt;
* [[BTRFS/Оптимизация|Оптимизация]] — как улучшить производительность и продлить срок службы накопителей&lt;br /&gt;
* [[BTRFS/Обслуживание|Обслуживание]] — контроль целостности, балансировка, дефрагментация и примеры реальных кейсов&lt;br /&gt;
* [[BTRFS/Автоматизация обслуживания|Автоматизация обслуживания]] — как писать скрипты и таймеры для регулярного обслуживания&lt;br /&gt;
&lt;br /&gt;
== Основные возможности BTRFS ==&lt;br /&gt;
&lt;br /&gt;
* Снимки (snapshots) и клонирование подтомов&lt;br /&gt;
* Встроенное сжатие данных (zstd, lzo, zlib)&lt;br /&gt;
* Проверка контрольных сумм для данных и метаданных&lt;br /&gt;
* Поддержка RAID уровней 0/1/10/5/6&lt;br /&gt;
* Балансировка, дефрагментация и &amp;quot;самоисцеление&amp;quot; при ошибках чтения&lt;br /&gt;
&lt;br /&gt;
BTRFS часто называют &amp;quot;Linux ZFS&amp;quot; — и недаром: она сочетает надёжность, гибкость и мощные инструменты для администрирования.&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=610</id>
		<title>BTRFS/Автоматизация обслуживания</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=610"/>
		<updated>2026-01-11T13:47:44Z</updated>

		<summary type="html">&lt;p&gt;Braumann: /* Балансировка (раз в месяц) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вы уже знаете, как обслуживать файловую систему &#039;&#039;&#039;BTRFS&#039;&#039;&#039; вручную, следующий логичный шаг — автоматизировать эти процессы.  &lt;br /&gt;
Linux умеет выполнять задачи по расписанию, и с помощью systemd это делается надёжно и прозрачно.&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Автоматизация обслуживания&#039;&#039;&#039; =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Автоматизация&#039;&#039;&#039; позволяет системе самостоятельно:&lt;br /&gt;
* проверять целостность данных (scrub);&lt;br /&gt;
* периодически перераспределять пространство (balance);&lt;br /&gt;
* выполнять TRIM для SSD/NVMe (fstrim).&lt;br /&gt;
&lt;br /&gt;
Пользователю больше не нужно помнить о регулярном обслуживании — всё выполняется в фоновом режиме.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Подготовка скрипта обслуживания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Создадим безопасный скрипт для регулярной проверки BTRFS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Содержимое файла:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
set -e&lt;br /&gt;
&lt;br /&gt;
# Проверка, что корень — BTRFS&lt;br /&gt;
if ! findmnt -n -o FSTYPE / | grep -q btrfs; then&lt;br /&gt;
    echo &amp;quot;Корневая файловая система не BTRFS, выход.&amp;quot;&lt;br /&gt;
    exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Проверка целостности данных&lt;br /&gt;
btrfs scrub start /&lt;br /&gt;
&lt;br /&gt;
# TRIM (если не используется fstrim.timer)&lt;br /&gt;
fstrim -av || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сделайте файл исполняемым:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;systemd-сервис для scrub&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Создайте сервис:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Содержимое:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Регулярная проверка BTRFS (scrub)&lt;br /&gt;
Documentation=man:btrfs-scrub(8)&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Таймер systemd (еженедельно)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Еженедельный scrub BTRFS&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Активация:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl list-timers | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Балансировка (раз в месяц)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Балансировка — ресурсоёмкая операция, поэтому &#039;&#039;&#039;не должна выполняться часто&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Создайте отдельный сервис:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-balance.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Месячная балансировка BTRFS&lt;br /&gt;
Documentation=man:btrfs-balance(8)&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/bin/btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-balance.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Месячная балансировка BTRFS&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=monthly&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Активация:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now btrfs-balance.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка журналов&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo journalctl -u btrfs-maintain.service&lt;br /&gt;
sudo journalctl -u btrfs-balance.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Альтернатива: cron (для старых систем)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если systemd недоступен, можно использовать cron:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo crontab -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@weekly  /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
@monthly /usr/bin/btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Практические рекомендации&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Scrub — раз в неделю или месяц.&lt;br /&gt;
* Balance — &#039;&#039;&#039;не чаще одного раза в 1–2 месяца&#039;&#039;&#039;.&lt;br /&gt;
* Если включён `fstrim.timer`, запуск `fstrim` из скрипта не требуется.&lt;br /&gt;
* Не запускайте баланс без параметров `dusage/musage`.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
С правильно настроенной автоматизацией &#039;&#039;&#039;BTRFS&#039;&#039;&#039; практически не требует ручного вмешательства.  &lt;br /&gt;
Система сама следит за целостностью данных, эффективно использует пространство и остаётся стабильной даже при длительной работе.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=609</id>
		<title>BTRFS/Автоматизация обслуживания</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=609"/>
		<updated>2026-01-11T13:47:22Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вы уже знаете, как обслуживать файловую систему &#039;&#039;&#039;BTRFS&#039;&#039;&#039; вручную, следующий логичный шаг — автоматизировать эти процессы.  &lt;br /&gt;
Linux умеет выполнять задачи по расписанию, и с помощью systemd это делается надёжно и прозрачно.&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Автоматизация обслуживания&#039;&#039;&#039; =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Автоматизация&#039;&#039;&#039; позволяет системе самостоятельно:&lt;br /&gt;
* проверять целостность данных (scrub);&lt;br /&gt;
* периодически перераспределять пространство (balance);&lt;br /&gt;
* выполнять TRIM для SSD/NVMe (fstrim).&lt;br /&gt;
&lt;br /&gt;
Пользователю больше не нужно помнить о регулярном обслуживании — всё выполняется в фоновом режиме.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Подготовка скрипта обслуживания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Создадим безопасный скрипт для регулярной проверки BTRFS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Содержимое файла:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
set -e&lt;br /&gt;
&lt;br /&gt;
# Проверка, что корень — BTRFS&lt;br /&gt;
if ! findmnt -n -o FSTYPE / | grep -q btrfs; then&lt;br /&gt;
    echo &amp;quot;Корневая файловая система не BTRFS, выход.&amp;quot;&lt;br /&gt;
    exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Проверка целостности данных&lt;br /&gt;
btrfs scrub start /&lt;br /&gt;
&lt;br /&gt;
# TRIM (если не используется fstrim.timer)&lt;br /&gt;
fstrim -av || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сделайте файл исполняемым:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;systemd-сервис для scrub&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Создайте сервис:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Содержимое:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Регулярная проверка BTRFS (scrub)&lt;br /&gt;
Documentation=man:btrfs-scrub(8)&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Таймер systemd (еженедельно)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Еженедельный scrub BTRFS&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Активация:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl list-timers | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Балансировка (раз в месяц)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Балансировка — ресурсоёмкая операция, поэтому **не должна выполняться часто**.&lt;br /&gt;
&lt;br /&gt;
Создайте отдельный сервис:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-balance.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Месячная балансировка BTRFS&lt;br /&gt;
Documentation=man:btrfs-balance(8)&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/bin/btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-balance.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Месячная балансировка BTRFS&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=monthly&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Активация:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now btrfs-balance.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка журналов&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo journalctl -u btrfs-maintain.service&lt;br /&gt;
sudo journalctl -u btrfs-balance.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Альтернатива: cron (для старых систем)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если systemd недоступен, можно использовать cron:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo crontab -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@weekly  /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
@monthly /usr/bin/btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Практические рекомендации&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Scrub — раз в неделю или месяц.&lt;br /&gt;
* Balance — &#039;&#039;&#039;не чаще одного раза в 1–2 месяца&#039;&#039;&#039;.&lt;br /&gt;
* Если включён `fstrim.timer`, запуск `fstrim` из скрипта не требуется.&lt;br /&gt;
* Не запускайте баланс без параметров `dusage/musage`.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
С правильно настроенной автоматизацией &#039;&#039;&#039;BTRFS&#039;&#039;&#039; практически не требует ручного вмешательства.  &lt;br /&gt;
Система сама следит за целостностью данных, эффективно использует пространство и остаётся стабильной даже при длительной работе.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=608</id>
		<title>BTRFS/Обслуживание</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=608"/>
		<updated>2026-01-11T13:41:46Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Оптимизация|← Назад: Оптимизация]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Автоматизация обслуживания|Вперёд: Автоматизация обслуживания →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файловая система &#039;&#039;&#039;BTRFS&#039;&#039;&#039; может сама проверять свои данные, исправлять ошибки и сохранять стабильность, если ей немного помочь.  &lt;br /&gt;
Этот раздел рассказывает, как выполнять обслуживание — без риска и без “танцев с бубном”.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Зачем нужно обслуживание BTRFS&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
BTRFS — &amp;quot;живая&amp;quot; файловая система: она отслеживает состояние своих блоков, умеет восстанавливаться при ошибках и эффективно использовать пространство.  &lt;br /&gt;
Но даже такой системе полезно периодически проверять состояние, балансировать блоки и корректировать распределение данных, чтобы избежать проблем с доступом и потерей свободного места.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка статистики устройств&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы посмотреть, есть ли ошибки ввода-вывода или другие проблемы с устройствами, выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs device stats /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда выводит счётчики ошибок чтения и записи по каждому устройству;  &lt;br /&gt;
если вы видите только нули — всё в порядке.  &lt;br /&gt;
Если есть ошибки, стоит изучить их глубже (например, с помощью `smartctl` или `smartmontools`).&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка и восстановление данных (scrub)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Scrub — это проверка целостности всех блоков данных и метаданных с проверкой контрольных сумм на лету.  &lt;br /&gt;
Если файловая система настроена с избыточным хранением (например, RAID1 или DUP), BTRFS может автоматически попытаться восстановить повреждённые блоки из реплик.&lt;br /&gt;
&lt;br /&gt;
Чтобы запустить проверку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub start -Bd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
* &#039;&#039;&#039;start&#039;&#039;&#039; — начать операцию scrub&lt;br /&gt;
* &#039;&#039;&#039;-B&#039;&#039;&#039; — выполнить в блокирующем режиме (ожидать завершения)&lt;br /&gt;
* &#039;&#039;&#039;-d&#039;&#039;&#039; — детальный вывод статистики по ошибкам&lt;br /&gt;
&lt;br /&gt;
Для просмотра статуса scrub:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub status /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если ошибок нет — вывод покажет нули в соответствующих счётчиках.  &lt;br /&gt;
Регулярная проверка (например, раз в месяц) помогает выявлять проблемы на ранних стадиях.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Балансировка пространства&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Со временем распределение данных и метаданных в BTRFS может становиться неравномерным.  &lt;br /&gt;
Балансировка перераспределяет блоки, улучшая доступное пространство и предотвращая ситуации, когда новый блок не может быть выделен, хотя в целом места достаточно.&lt;br /&gt;
&lt;br /&gt;
Пример команды:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
* &#039;&#039;&#039;-dusage=50&#039;&#039;&#039; — обрабатывать только данные, занятые менее чем на 50 %&lt;br /&gt;
* &#039;&#039;&#039;-musage=50&#039;&#039;&#039; — аналогично для метаданных&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — корневой подтом&lt;br /&gt;
&lt;br /&gt;
Эту операцию можно выполнять, например, раз в пару месяцев, или когда метаданные занимают слишком много места.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Удаление старых снимков (snapshots)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Снимки занимают пространство, и если их много — свободное место может уменьшиться.  &lt;br /&gt;
Сначала получите список подтомов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs subvolume list /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем удалите ненужный:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs subvolume delete /.snapshots/2024-10-10_18-00-00/snapshot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После удаления снимка стоит выполнить балансировку, чтобы освободившееся пространство эффективно перераспределилось.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка использования места&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы увидеть текущее использование пространства:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда покажет, сколько места занято данными, метаданными и зарезервировано системой.  &lt;br /&gt;
Если доля метаданных велика (например, выше 20–30 %), имеет смысл провести балансировку.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка общей целостности файловой системы&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Для “сухой” проверки без исправлений можно использовать:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs check --readonly /dev/sda2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта команда проверяет структуру файловой системы без внесения изменений.  &lt;br /&gt;
Если вы хотите исправить серьёзные ошибки, делать это стоит только в режиме Live-системы, когда раздел не смонтирован.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Практические советы&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Запускайте scrub примерно раз в месяц — это помогает находить ошибки до того, как они станут проблемой. &lt;br /&gt;
* Балансировку можно делать раз в 2–3 месяца или при необходимости.  &lt;br /&gt;
* Scrub не заменяет `fsck` — это проверка контрольных сумм, а не глубокая реставрация структуры.&lt;br /&gt;
* Всегда проверяйте статус после выполнения операций (`scrub status`, `balance status`).&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Ежемесячное обслуживание (вручную)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если вы не автоматизируете обслуживание, достаточно выполнить три команды вручную:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub start -Bd /&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
sudo fstrim -av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* `scrub` — проверяет целостность данных;  &lt;br /&gt;
* `balance` — перераспределяет данные;  &lt;br /&gt;
* `fstrim` — сообщает SSD/NVMe о неиспользуемых блоках, освобождая их для внутреннего управления.&lt;br /&gt;
&lt;br /&gt;
Такая последовательность обеспечивает базовый уровень ухода за BTRFS.&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Регулярное обслуживание BTRFS похоже на плановое ТО автомобиля — немного внимания сейчас позволяет значительно снизить риск проблем и сохранить производительность системы.  &lt;br /&gt;
После нескольких таких циклов вы заметите, что файловая система остаётся “лёгкой” и устойчивой даже после месяцев активной работы.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Оптимизация|← Назад: Оптимизация]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Автоматизация обслуживания|Вперёд: Автоматизация обслуживания →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=607</id>
		<title>BTRFS/Оптимизация</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=607"/>
		<updated>2026-01-11T13:36:03Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Введение и разметка|← Назад: Введение и разметка]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Обслуживание|Вперёд: Обслуживание →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки ROSA Linux на файловую систему &#039;&#039;&#039;BTRFS&#039;&#039;&#039; систему можно дополнительно настроить, чтобы повысить производительность, сократить количество лишних операций записи и продлить срок службы накопителя.  &lt;br /&gt;
В этом разделе подробно разбираются параметры монтирования и инструменты, которые реально влияют на работу BTRFS.&lt;br /&gt;
&lt;br /&gt;
== Что такое оптимизация BTRFS ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BTRFS&#039;&#039;&#039; — это современная файловая система с поддержкой сжатия, снапшотов, контроля целостности и гибкого управления дисками.  &lt;br /&gt;
По умолчанию параметры BTRFS подобраны для максимальной совместимости и стабильности, а не для конкретного типа накопителя.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Оптимизация&#039;&#039;&#039; — это осознанная настройка параметров под:&lt;br /&gt;
* тип накопителя (SSD / NVMe / HDD);&lt;br /&gt;
* характер нагрузки (рабочая станция, сервер, ноутбук);&lt;br /&gt;
* требования к скорости, износостойкости и безопасности данных.&lt;br /&gt;
&lt;br /&gt;
== Проверка текущих параметров ==&lt;br /&gt;
&lt;br /&gt;
Перед внесением изменений полезно посмотреть, как файловая система смонтирована сейчас:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mount | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример вывода:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/sda2 on / type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=5)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Основные параметры:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — BTRFS автоматически определил твердотельный накопитель;&lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — используется современный механизм учёта свободного пространства;&lt;br /&gt;
* &#039;&#039;&#039;relatime&#039;&#039;&#039; — обновление времени доступа включено в щадящем режиме.&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для SSD и NVMe ==&lt;br /&gt;
&lt;br /&gt;
Для SSD и NVMe рекомендуется добавить следующие параметры монтирования в файл &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,ssd,space_cache=v2,discard=async,compress=zstd:5,autodefrag&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Назначение параметров:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — отключает обновление времени доступа, снижая количество операций записи;&lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — включает оптимизации алгоритмов ввода-вывода под SSD (часто определяется автоматически);&lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — ускоряет работу с метаданными свободного пространства;&lt;br /&gt;
* &#039;&#039;&#039;discard=async&#039;&#039;&#039; — асинхронный TRIM без влияния на производительность;&lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:5&#039;&#039;&#039; — оптимальный баланс между скоростью и степенью сжатия;&lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — помогает бороться с фрагментацией часто изменяемых файлов.&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для HDD ==&lt;br /&gt;
&lt;br /&gt;
Для классических жёстких дисков предпочтительны более щадящие настройки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,space_cache=v2,compress=zstd:3,autodefrag,commit=60&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:3&#039;&#039;&#039; — меньше нагрузка на CPU;&lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — снижает фрагментацию;&lt;br /&gt;
* &#039;&#039;&#039;commit=60&#039;&#039;&#039; — уменьшает количество операций записи (по умолчанию 30 секунд).&lt;br /&gt;
&lt;br /&gt;
== Проверка и включение сжатия ==&lt;br /&gt;
&lt;br /&gt;
Проверить, включено ли сжатие:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs property get / compression&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вывод содержит:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
compression=zstd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— сжатие активно.&lt;br /&gt;
&lt;br /&gt;
== Принудительное сжатие существующих данных ==&lt;br /&gt;
&lt;br /&gt;
Файлы, записанные до включения сжатия, можно обработать вручную:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem defragment -r -v -czstd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-r&#039;&#039;&#039; — рекурсивно;&lt;br /&gt;
* &#039;&#039;&#039;-v&#039;&#039;&#039; — подробный вывод;&lt;br /&gt;
* &#039;&#039;&#039;-czstd&#039;&#039;&#039; — применить алгоритм Zstandard.&lt;br /&gt;
&lt;br /&gt;
== Настройка TRIM ==&lt;br /&gt;
&lt;br /&gt;
Для большинства систем рекомендуется использовать периодический TRIM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверка статуса:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl status fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Использовать одновременно &#039;&#039;&#039;discard=async&#039;&#039;&#039; и &#039;&#039;&#039;fstrim.timer&#039;&#039;&#039; не требуется — достаточно одного способа.&lt;br /&gt;
&lt;br /&gt;
== Балансировка BTRFS ==&lt;br /&gt;
&lt;br /&gt;
Со временем данные могут распределяться по чанкам неравномерно.  &lt;br /&gt;
Для оптимизации использования пространства применяется балансировка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рекомендуется запускать балансировку примерно раз в 1–2 месяца или при нехватке свободного места.&lt;br /&gt;
&lt;br /&gt;
== Проверка использования диска ==&lt;br /&gt;
&lt;br /&gt;
Чтобы посмотреть распределение данных:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда показывает использование данных, метаданных и системных блоков.&lt;br /&gt;
&lt;br /&gt;
== btrfs-assistant ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;btrfs-assistant&#039;&#039;&#039; — графическое приложение для управления BTRFS, упрощающее оптимизацию и обслуживание.&lt;br /&gt;
&lt;br /&gt;
Возможности:&lt;br /&gt;
* управление подтомами и снапшотами;&lt;br /&gt;
* запуск балансировки, scrub и дефрагментации;&lt;br /&gt;
* настройка параметров и автоматических задач;&lt;br /&gt;
* интеграция с Timeshift и Snapper.&lt;br /&gt;
&lt;br /&gt;
Установка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo dnf in btrfs-assistant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запуск:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
btrfs-assistant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Важные примечания и компромиссы ==&lt;br /&gt;
&lt;br /&gt;
=== Выбор уровня сжатия ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;zstd:1–3&#039;&#039;&#039; — минимальная нагрузка;&lt;br /&gt;
* &#039;&#039;&#039;zstd:5&#039;&#039;&#039; — рекомендуемый баланс;&lt;br /&gt;
* &#039;&#039;&#039;zstd:7+&#039;&#039;&#039; — максимальное сжатие, но возможные потери производительности.&lt;br /&gt;
&lt;br /&gt;
=== autodefrag ===&lt;br /&gt;
&lt;br /&gt;
Рекомендуется:&lt;br /&gt;
* для рабочих станций и ноутбуков;&lt;br /&gt;
* при активной работе с мелкими файлами.&lt;br /&gt;
&lt;br /&gt;
Не рекомендуется:&lt;br /&gt;
* для баз данных;&lt;br /&gt;
* для образов виртуальных машин;&lt;br /&gt;
* для больших последовательно записываемых файлов.&lt;br /&gt;
&lt;br /&gt;
=== discard и commit ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;discard=async&#039;&#039;&#039; подходит для качественных SSD;&lt;br /&gt;
* &#039;&#039;&#039;commit=60&#039;&#039;&#039; уменьшает износ, но увеличивает риск потери последних данных при аварийном отключении питания.&lt;br /&gt;
&lt;br /&gt;
=== Что не является оптимизацией ===&lt;br /&gt;
&lt;br /&gt;
* частая балансировка без необходимости;&lt;br /&gt;
* дефрагментация статичных больших файлов;&lt;br /&gt;
* использование максимального уровня сжатия без причины.&lt;br /&gt;
&lt;br /&gt;
== Итоги ==&lt;br /&gt;
&lt;br /&gt;
Грамотная оптимизация BTRFS позволяет:&lt;br /&gt;
&lt;br /&gt;
* повысить отзывчивость системы;&lt;br /&gt;
* сократить износ SSD;&lt;br /&gt;
* уменьшить занимаемое дисковое пространство;&lt;br /&gt;
* сохранить баланс между производительностью и надёжностью.&lt;br /&gt;
&lt;br /&gt;
Оптимизация BTRFS — это не включение всех параметров сразу, а осознанный выбор под реальные задачи системы.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Введение и разметка|← Назад: Введение и разметка]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Обслуживание|Вперёд: Обслуживание →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=606</id>
		<title>BTRFS/Введение и разметка</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=606"/>
		<updated>2026-01-11T13:25:41Z</updated>

		<summary type="html">&lt;p&gt;Braumann: Статья снимается со стадии разработки.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BTRFS&#039;&#039;&#039; (произносится как «би-ти-эф-эс», от &#039;&#039;&#039;B-Tree FS&#039;&#039;&#039;) — это современная файловая система Linux, которая умеет не только хранить файлы, но и &#039;&#039;&#039;обнаруживать ошибки данных&#039;&#039;&#039;, &#039;&#039;&#039;сжимать информацию&#039;&#039;&#039;, &#039;&#039;&#039;создавать снимки системы&#039;&#039;&#039; и &#039;&#039;&#039;управлять несколькими дисками как одним&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Если вы раньше пользовались Windows, BTRFS можно сравнить с «умным аналогом NTFS», но с тем отличием, что многие функции (снимки, проверка целостности, управление дисками), которые в Windows реализованы отдельными утилитами, здесь встроены прямо в файловую систему.&lt;br /&gt;
&lt;br /&gt;
== Что делает BTRFS особенной ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Копирование при записи (Copy-on-Write, CoW)&#039;&#039;&#039; — данные никогда не перезаписываются «поверх» старых. Новые версии записываются в другое место, что защищает от повреждений при сбоях питания или зависаниях&lt;br /&gt;
* &#039;&#039;&#039;Снимки (snapshots)&#039;&#039;&#039; — позволяют «заморозить» состояние системы и при необходимости вернуться к нему позже (аналог точек восстановления Windows)&lt;br /&gt;
* &#039;&#039;&#039;Сжатие данных на лету&#039;&#039;&#039; — экономит место и часто повышает производительность, особенно на SSD&lt;br /&gt;
* &#039;&#039;&#039;Проверка целостности&#039;&#039;&#039; — для данных и метаданных хранятся контрольные суммы, что позволяет выявлять повреждения&lt;br /&gt;
* &#039;&#039;&#039;Гибкое управление дисками&#039;&#039;&#039; — можно добавлять и удалять устройства, расширять файловую систему без форматирования&lt;br /&gt;
&lt;br /&gt;
== Создание файловой системы BTRFS ==&lt;br /&gt;
&lt;br /&gt;
Чтобы начать использовать BTRFS, раздел необходимо отформатировать:&lt;br /&gt;
&lt;br /&gt;
    # mkfs.btrfs -L ROSA /dev/sda2&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;mkfs.btrfs&#039;&#039;&#039; — создаёт файловую систему BTRFS&lt;br /&gt;
* &#039;&#039;&#039;-L ROSA&#039;&#039;&#039; — задаёт метку (название) файловой системы&lt;br /&gt;
* &#039;&#039;&#039;/dev/sda2&#039;&#039;&#039; — раздел, на который будет устанавливаться система&lt;br /&gt;
&lt;br /&gt;
После выполнения команды раздел готов к использованию.&lt;br /&gt;
&lt;br /&gt;
== Создание подтомов (subvolumes) ==&lt;br /&gt;
&lt;br /&gt;
Подтомы (subvolumes) в BTRFS — это логические разделы внутри одной файловой системы.  &lt;br /&gt;
Их можно сравнить с «папками с особыми свойствами», каждая из которых может иметь собственные снимки.&lt;br /&gt;
&lt;br /&gt;
Обычно создают отдельные подтомы для системы и пользовательских данных, чтобы снапшоты системы не затрагивали файлы пользователей.&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Смонтируйте раздел временно:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    sudo mount /dev/sda2 /mnt&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Создайте подтомы:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    sudo btrfs subvolume create /mnt/@&lt;br /&gt;
    sudo btrfs subvolume create /mnt/@home&lt;br /&gt;
&lt;br /&gt;
В результате будут созданы:&lt;br /&gt;
* &#039;&#039;&#039;@&#039;&#039;&#039; — подтом для корневой файловой системы &#039;&#039;&#039;(/)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;@home&#039;&#039;&#039; — подтом для пользовательских данных &#039;&#039;&#039;(/home)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Отмонтируйте раздел:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
== Монтирование подтомов (fstab) ==&lt;br /&gt;
&lt;br /&gt;
Чтобы подтомы автоматически подключались при загрузке системы, их необходимо прописать в файле &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Пример конфигурации:&lt;br /&gt;
&lt;br /&gt;
    UUID=xxxx-xxxx /     btrfs subvol=@,defaults,compress=zstd 0 0&lt;br /&gt;
    UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,compress=zstd 0 0&lt;br /&gt;
&lt;br /&gt;
Обратите внимание: &#039;&#039;&#039;UUID одинаковый&#039;&#039;&#039;, так как оба подтома находятся внутри одной файловой системы BTRFS.&lt;br /&gt;
&lt;br /&gt;
=== Пояснение параметров ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;UUID&#039;&#039;&#039; — уникальный идентификатор файловой системы (можно узнать командой &#039;&#039;&#039;blkid&#039;&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; и &#039;&#039;&#039;/home&#039;&#039;&#039; — точки монтирования&lt;br /&gt;
* &#039;&#039;&#039;btrfs&#039;&#039;&#039; — тип файловой системы&lt;br /&gt;
* &#039;&#039;&#039;subvol=@&#039;&#039;&#039; — указывает, какой подтом монтируется&lt;br /&gt;
* &#039;&#039;&#039;compress=zstd&#039;&#039;&#039; — включает сжатие данных алгоритмом Zstandard&lt;br /&gt;
* &#039;&#039;&#039;defaults&#039;&#039;&#039; — набор стандартных параметров монтирования&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
!Опция&lt;br /&gt;
!Значение&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;rw&#039;&#039;&#039;&lt;br /&gt;
|монтирование в режиме чтения и записи&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;suid&#039;&#039;&#039;&lt;br /&gt;
|разрешает использование битов SUID и SGID&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;dev&#039;&#039;&#039;&lt;br /&gt;
|разрешает использование файлов устройств&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;exec&#039;&#039;&#039;&lt;br /&gt;
|разрешает выполнение бинарных файлов&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;auto&#039;&#039;&#039;&lt;br /&gt;
|файловая система монтируется автоматически (в том числе через &amp;lt;code&amp;gt;mount -a&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;nouser&#039;&#039;&#039;&lt;br /&gt;
|монтирование разрешено только пользователю root&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;async&#039;&#039;&#039;&lt;br /&gt;
|асинхронный ввод-вывод (поведение по умолчанию)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Примечание: параметр &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; в современных версиях ядра Linux включён по умолчанию и может не указываться явно.&lt;br /&gt;
&lt;br /&gt;
== Проверка результата ==&lt;br /&gt;
&lt;br /&gt;
После настройки можно убедиться, что BTRFS работает корректно.&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Список подтомов:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    sudo btrfs subvolume list /&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Использование дискового пространства:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    sudo btrfs filesystem df /&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Общая информация о файловой системе:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    sudo btrfs filesystem show&lt;br /&gt;
&lt;br /&gt;
Если команды выполняются без ошибок и подтомы отображаются — файловая система настроена корректно.&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BTRFS&#039;&#039;&#039; — это гибкая и современная файловая система, подходящая как для новичков, так и для опытных администраторов.&lt;br /&gt;
&lt;br /&gt;
Она объединяет возможности, которые в Windows реализованы разными инструментами:&lt;br /&gt;
* вместо «точек восстановления» — снимки&lt;br /&gt;
* вместо отдельных утилит управления дисками — встроенная балансировка и управление устройствами&lt;br /&gt;
* вместо ручной проверки файловой системы — постоянный контроль целостности данных&lt;br /&gt;
&lt;br /&gt;
BTRFS особенно хорошо подходит для систем, где важны надёжность, удобство резервного копирования и возможность быстрого отката изменений.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=436</id>
		<title>BTRFS/Введение и разметка</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=436"/>
		<updated>2025-11-14T12:49:37Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTRFS (произносится как &amp;quot;би-ти-эф-эс&amp;quot; от B-Tree FS) — это современная файловая система Linux, которая умеет не только хранить файлы, но и &#039;&#039;&#039;самостоятельно защищать их от ошибок&#039;&#039;&#039;, &#039;&#039;&#039;сжимать данные&#039;&#039;&#039;, &#039;&#039;&#039;создавать снимки системы&#039;&#039;&#039; и &#039;&#039;&#039;управлять несколькими дисками как одним&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Если вы раньше пользовались Windows, то можно сказать, что BTRFS — это &amp;quot;умный аналог NTFS&amp;quot;, только с функциями, которые в Windows реализованы отдельными утилитами (вроде восстановления системы, сжатия дисков и проверки ошибок).&lt;br /&gt;
&lt;br /&gt;
== Что делает BTRFS особенной ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Копирование при записи (Copy-on-Write)&#039;&#039;&#039; — данные не перезаписываются “поверх”, а записываются в новое место. Это защищает от потери данных при сбоях&lt;br /&gt;
* &#039;&#039;&#039;Снимки (snapshots)&#039;&#039;&#039; — можно “заморозить” состояние системы и вернуться к нему позже (аналог точек восстановления Windows)&lt;br /&gt;
* &#039;&#039;&#039;Сжатие файлов на лету&#039;&#039;&#039; — экономит место и ускоряет работу на SSD&lt;br /&gt;
* &#039;&#039;&#039;Проверка целостности&#039;&#039;&#039; — BTRFS хранит контрольные суммы и может выявить повреждения&lt;br /&gt;
* &#039;&#039;&#039;Гибкость в управлении разделами&#039;&#039;&#039; — легко добавлять или удалять диски, расширять файловую систему&lt;br /&gt;
&lt;br /&gt;
== Создание файловой системы BTRFS ==&lt;br /&gt;
&lt;br /&gt;
Требуется &amp;quot;отформатировать&amp;quot; раздел, чтобы он стал файловой системой BTRFS:&lt;br /&gt;
&lt;br /&gt;
    # mkfs.btrfs -L ROSA /dev/sda2&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;mkfs.btrfs&#039;&#039;&#039; — создаёт файловую систему BTRFS&lt;br /&gt;
* &#039;&#039;&#039;-L ROSA&#039;&#039;&#039; — задаёт метку (название), чтобы её было легче узнавать&lt;br /&gt;
* &#039;&#039;&#039;/dev/sda2&#039;&#039;&#039; — это тот раздел, на который вы ставите систему&lt;br /&gt;
&lt;br /&gt;
После этого раздел готов к использованию.&lt;br /&gt;
&lt;br /&gt;
== Создание подтомов (subvolumes) ==&lt;br /&gt;
&lt;br /&gt;
Подтомы в BTRFS — это как отдельные &amp;quot;папки-микросистемы&amp;quot;.  &lt;br /&gt;
Например, один подтом для системы, другой — для пользователей.  &lt;br /&gt;
Они позволяют делать снимки системы без затрагивания личных файлов.&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Смонтируйте новый раздел:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo mount /dev/sda2 /mnt&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Создайте подтомы:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs subvolume create /mnt/@&lt;br /&gt;
   sudo btrfs subvolume create /mnt/@home&lt;br /&gt;
&lt;br /&gt;
Теперь у вас есть два логических подтома:&lt;br /&gt;
* &#039;&#039;&#039;@&#039;&#039;&#039; — основной корень системы &#039;&#039;&#039;(/)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;@home&#039;&#039;&#039; — личные файлы пользователей&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Отмонтируйте:&#039;&#039;&#039;&lt;br /&gt;
   &lt;br /&gt;
    sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
== Монтирование подтомов (fstab) ==&lt;br /&gt;
&lt;br /&gt;
Чтобы система знала, какие подтомы подключать при загрузке, их нужно описать в файле &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
Пример строки:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    UUID=xxxx-xxxx / btrfs subvol=@,defaults,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
    UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Объяснение:&lt;br /&gt;
* &#039;&#039;&#039;defaults&#039;&#039;&#039; —  это не один параметр, а &#039;&#039;&#039;набор стандартных монтировочных опций&#039;&#039;&#039;, которые ядро применяет по умолчанию, если не указано иное.&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
!Опция&lt;br /&gt;
!Значение&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;rw&#039;&#039;&#039;&lt;br /&gt;
|монтирование в режиме чтения/записи&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;suid&#039;&#039;&#039;&lt;br /&gt;
|разрешает выполнение файлов с установленными битами SUID/SGID&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;dev&#039;&#039;&#039;&lt;br /&gt;
|разрешает интерпретацию устройств (special files)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;exec&#039;&#039;&#039;&lt;br /&gt;
|разрешает выполнение бинарных файлов&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;auto&#039;&#039;&#039;&lt;br /&gt;
|точка монтирования будет монтирована командой &amp;lt;code&amp;gt;mount -a&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;nouser&#039;&#039;&#039;&lt;br /&gt;
|монтировать может только root&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;async&#039;&#039;&#039;&lt;br /&gt;
|асинхронный ввод-вывод&lt;br /&gt;
|}&lt;br /&gt;
* &#039;&#039;&#039;UUID&#039;&#039;&#039; — уникальный номер раздела (можно узнать через &#039;&#039;&#039;blkid&#039;&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — точка монтирования&lt;br /&gt;
* &#039;&#039;&#039;btrfs&#039;&#039;&#039; — указывает тип файловой системы&lt;br /&gt;
* &#039;&#039;&#039;subvol=@&#039;&#039;&#039; — подключаем подтом с названием &#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;compress=zstd&#039;&#039;&#039; — включает сжатие данных&lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — ускоряет работу с пространством на диске&lt;br /&gt;
&lt;br /&gt;
== Проверка результата ==&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Посмотреть список подтомов:&#039;&#039;&#039;&lt;br /&gt;
   &lt;br /&gt;
    sudo btrfs subvolume list /&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Проверить использование места:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs filesystem df /&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Посмотреть общую информацию:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs filesystem show&lt;br /&gt;
&lt;br /&gt;
Если всё сделано правильно — вы увидите свои подтомы, и система будет работать через BTRFS.&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BTRFS&#039;&#039;&#039; — это гибкая и надёжная файловая система, которая подходит как новичкам, так и администраторам.  &lt;br /&gt;
Она сочетает функции нескольких инструментов Windows в одном:&lt;br /&gt;
* вместо “точек восстановления” — снимки&lt;br /&gt;
* вместо “очистки диска” — встроенная дефрагментация и балансировка&lt;br /&gt;
* вместо “дисковых проверок” — автоматическая проверка целостности данных&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=435</id>
		<title>BTRFS/Введение и разметка</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=435"/>
		<updated>2025-11-14T12:49:07Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTRFS (произносится как &amp;quot;би-ти-эф-эс&amp;quot; от B-Tree FS) — это современная файловая система Linux, которая умеет не только хранить файлы, но и &#039;&#039;&#039;самостоятельно защищать их от ошибок&#039;&#039;&#039;, &#039;&#039;&#039;сжимать данные&#039;&#039;&#039;, &#039;&#039;&#039;создавать снимки системы&#039;&#039;&#039; и &#039;&#039;&#039;управлять несколькими дисками как одним&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Если вы раньше пользовались Windows, то можно сказать, что BTRFS — это &amp;quot;умный аналог NTFS&amp;quot;, только с функциями, которые в Windows реализованы отдельными утилитами (вроде восстановления системы, сжатия дисков и проверки ошибок).&lt;br /&gt;
&lt;br /&gt;
== Что делает BTRFS особенной ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Копирование при записи (Copy-on-Write)&#039;&#039;&#039; — данные не перезаписываются “поверх”, а записываются в новое место. Это защищает от потери данных при сбоях&lt;br /&gt;
* &#039;&#039;&#039;Снимки (snapshots)&#039;&#039;&#039; — можно “заморозить” состояние системы и вернуться к нему позже (аналог точек восстановления Windows)&lt;br /&gt;
* &#039;&#039;&#039;Сжатие файлов на лету&#039;&#039;&#039; — экономит место и ускоряет работу на SSD&lt;br /&gt;
* &#039;&#039;&#039;Проверка целостности&#039;&#039;&#039; — BTRFS хранит контрольные суммы и может выявить повреждения&lt;br /&gt;
* &#039;&#039;&#039;Гибкость в управлении разделами&#039;&#039;&#039; — легко добавлять или удалять диски, расширять файловую систему&lt;br /&gt;
&lt;br /&gt;
== Создание файловой системы BTRFS ==&lt;br /&gt;
&lt;br /&gt;
Требуется &amp;quot;отформатировать&amp;quot; раздел, чтобы он стал файловой системой BTRFS:&lt;br /&gt;
&lt;br /&gt;
    # mkfs.btrfs -L ROSA /dev/sda2&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;mkfs.btrfs&#039;&#039;&#039; — создаёт файловую систему BTRFS&lt;br /&gt;
* &#039;&#039;&#039;-L ROSA&#039;&#039;&#039; — задаёт метку (название), чтобы её было легче узнавать&lt;br /&gt;
* &#039;&#039;&#039;/dev/sda2&#039;&#039;&#039; — это тот раздел, на который вы ставите систему&lt;br /&gt;
&lt;br /&gt;
После этого раздел готов к использованию.&lt;br /&gt;
&lt;br /&gt;
== Создание подтомов (subvolumes) ==&lt;br /&gt;
&lt;br /&gt;
Подтомы в BTRFS — это как отдельные &amp;quot;папки-микросистемы&amp;quot;.  &lt;br /&gt;
Например, один подтом для системы, другой — для пользователей.  &lt;br /&gt;
Они позволяют делать снимки системы без затрагивания личных файлов.&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Смонтируйте новый раздел:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo mount /dev/sda2 /mnt&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Создайте подтомы:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs subvolume create /mnt/@&lt;br /&gt;
   sudo btrfs subvolume create /mnt/@home&lt;br /&gt;
&lt;br /&gt;
Теперь у вас есть два логических подтома:&lt;br /&gt;
* &#039;&#039;&#039;@&#039;&#039;&#039; — основной корень системы &#039;&#039;&#039;(/)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;@home&#039;&#039;&#039; — личные файлы пользователей&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Отмонтируйте:&#039;&#039;&#039;&lt;br /&gt;
   &lt;br /&gt;
    sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
== Монтирование подтомов (fstab) ==&lt;br /&gt;
&lt;br /&gt;
Чтобы система знала, какие подтомы подключать при загрузке, их нужно описать в файле &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
Пример строки:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    UUID=xxxx-xxxx / btrfs subvol=@,defaults,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
    UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Объяснение:&lt;br /&gt;
* &#039;&#039;&#039;defaults&#039;&#039;&#039; —  это не один параметр, а &#039;&#039;&#039;набор стандартных монтировочных опций&#039;&#039;&#039;, которые ядро применяет по умолчанию, если не указано иное.&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
!Опция&lt;br /&gt;
!Значение&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;rw&#039;&#039;&#039;&lt;br /&gt;
|монтирование в режиме чтения/записи&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;suid&#039;&#039;&#039;&lt;br /&gt;
|разрешает выполнение файлов с установленными битами SUID/SGID&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;dev&#039;&#039;&#039;&lt;br /&gt;
|разрешает интерпретацию устройств (special files)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;exec&#039;&#039;&#039;&lt;br /&gt;
|разрешает выполнение бинарных файлов&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;auto&#039;&#039;&#039;&lt;br /&gt;
|точка монтирования будет монтирована командой &amp;lt;code&amp;gt;mount -a&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;nouser&#039;&#039;&#039;&lt;br /&gt;
|монтировать может только root&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;async&#039;&#039;&#039;&lt;br /&gt;
|асинхронный ввод-вывод&lt;br /&gt;
|}&lt;br /&gt;
* &#039;&#039;&#039;UUID&#039;&#039;&#039; — уникальный номер раздела (можно узнать через &#039;&#039;&#039;blkid&#039;&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — точка монтирования&lt;br /&gt;
* &#039;&#039;&#039;btrfs&#039;&#039;&#039; — указывает тип файловой системы&lt;br /&gt;
* &#039;&#039;&#039;subvol=@&#039;&#039;&#039; — подключаем подтом с названием &#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;compress=zstd&#039;&#039;&#039; — включает сжатие данных&lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — ускоряет работу с пространством на диске&lt;br /&gt;
&lt;br /&gt;
== Проверка результата ==&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Посмотреть список подтомов:&#039;&#039;&#039;&lt;br /&gt;
   &lt;br /&gt;
    sudo btrfs subvolume list /&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Проверить использование места:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs filesystem df /&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Посмотреть общую информацию:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs filesystem show&lt;br /&gt;
&lt;br /&gt;
Если всё сделано правильно — вы увидите свои подтомы, и система будет работать через BTRFS.&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BTRFS&#039;&#039;&#039; — это гибкая и надёжная файловая система, которая подходит как новичкам, так и администраторам.  &lt;br /&gt;
Она сочетает функции нескольких инструментов Windows в одном:&lt;br /&gt;
* вместо “точек восстановления” — снимки;&lt;br /&gt;
* вместо “очистки диска” — встроенная дефрагментация и балансировка;&lt;br /&gt;
* вместо “дисковых проверок” — автоматическая проверка целостности данных.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS&amp;diff=434</id>
		<title>BTRFS</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS&amp;diff=434"/>
		<updated>2025-11-14T12:35:56Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BTRFS — это современная файловая система с поддержкой снимков, встроенного сжатия, самовосстановления и управления подтомами.  &lt;br /&gt;
В этом разделе собраны материалы о её возможностях, настройке, оптимизации и автоматизации обслуживания в ROSA Linux.&lt;br /&gt;
&lt;br /&gt;
== Подразделы ==&lt;br /&gt;
&lt;br /&gt;
* [[BTRFS/Введение и разметка|Введение и разметка]] — описание принципов BTRFS и схем разметки дисков&lt;br /&gt;
* [[BTRFS/Оптимизация|Оптимизация]] — как улучшить производительность и продлить срок службы накопителей&lt;br /&gt;
* [[BTRFS/Обслуживание|Обслуживание]] — контроль целостности, балансировка, дефрагментация и примеры реальных кейсов&lt;br /&gt;
* [[BTRFS/Автоматизация обслуживания|Автоматизация обслуживания]] — как писать скрипты и таймеры для регулярного обслуживания&lt;br /&gt;
&lt;br /&gt;
== Основные возможности BTRFS ==&lt;br /&gt;
&lt;br /&gt;
* Снимки (snapshots) и клонирование подтомов&lt;br /&gt;
* Встроенное сжатие данных (zstd, lzo, zlib)&lt;br /&gt;
* Проверка контрольных сумм для данных и метаданных&lt;br /&gt;
* Поддержка RAID уровней 0/1/10/5/6&lt;br /&gt;
* Балансировка, дефрагментация и &amp;quot;самоисцеление&amp;quot; при ошибках чтения&lt;br /&gt;
&lt;br /&gt;
BTRFS часто называют &amp;quot;Linux ZFS&amp;quot; — и недаром: она сочетает надёжность, гибкость и мощные инструменты для администрирования.&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=433</id>
		<title>BTRFS/Автоматизация обслуживания</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=433"/>
		<updated>2025-11-14T12:34:29Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вы уже знаете, как проверять и обслуживать систему &#039;&#039;&#039;BTRFS&#039;&#039;&#039; вручную, то следующий логичный шаг — сделать это автоматически.  &lt;br /&gt;
Linux умеет выполнять задания сам, по расписанию, и всё, что нужно — один небольшой скрипт и два конфигурационных файла.&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Автоматизация обслуживания&#039;&#039;&#039; =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Автоматизация&#039;&#039;&#039; — это когда система сама:&lt;br /&gt;
* проверяет файловую систему (scrub)&lt;br /&gt;
* балансирует данные (balance)&lt;br /&gt;
* очищает свободное место на SSD (fstrim)&lt;br /&gt;
&lt;br /&gt;
Пользователю больше не нужно помнить о ежемесячном обслуживании — всё выполняется в фоне, без вмешательства.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Подготовка скрипта обслуживания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Создадим простой скрипт, который выполняет три базовые команды для ухода за BTRFS.&lt;br /&gt;
&lt;br /&gt;
Откройте терминал и создайте файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вставьте туда следующий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Еженедельное обслуживание Btrfs&lt;br /&gt;
btrfs scrub start -Bd /&lt;br /&gt;
btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
fstrim -av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраните файл и сделайте его исполняемым:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;#!/bin/bash&#039;&#039;&#039;&amp;lt;/code&amp;gt; — сообщает системе, что это скрипт Bash.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;btrfs scrub start -Bd /&#039;&#039;&#039;&amp;lt;/code&amp;gt; — проверяет целостность данных.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;btrfs balance start -dusage=50 -musage=50 /&#039;&#039;&#039;&amp;lt;/code&amp;gt; — перераспределяет данные и метаданные.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;fstrim -av&#039;&#039;&#039;&amp;lt;/code&amp;gt; — очищает неиспользуемые блоки SSD (аналог TRIM).&lt;br /&gt;
&lt;br /&gt;
Теперь у нас есть готовый инструмент обслуживания.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание systemd-сервиса&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы Linux понимал, как запускать наш скрипт, нужно создать сервис.&lt;br /&gt;
&lt;br /&gt;
Создайте файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавьте в него:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Еженедельное обслуживание Btrfs&lt;br /&gt;
Documentation=man:btrfs(8)&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Что это значит:&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;[Unit]&#039;&#039;&#039;&amp;lt;/code&amp;gt; — описание задачи, которое видит systemd.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;[Service]&#039;&#039;&#039;&amp;lt;/code&amp;gt; — сам сервис.  &lt;br /&gt;
  Тип `oneshot` означает, что команда запускается один раз и завершается.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание таймера systemd&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Теперь создадим &amp;quot;будильник&amp;quot;, который будет запускать сервис каждую неделю.&lt;br /&gt;
&lt;br /&gt;
Откройте новый файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вставьте туда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Таймер для еженедельного обслуживания Btrfs&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Объяснение параметров:&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;OnCalendar=weekly&#039;&#039;&#039;&amp;lt;/code&amp;gt; — запускать каждую неделю (по умолчанию — по понедельникам).&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;Persistent=true&#039;&#039;&#039;&amp;lt;/code&amp;gt; — если компьютер был выключен в момент запуска, задание выполнится при следующем включении.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Активация таймера&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Включаем наш таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь система будет автоматически запускать обслуживание каждую неделю.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что всё работает, выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl list-timers | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вы увидите строчку примерно такую:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
btrfs-maintain.timer  loaded active waiting  Mon 2025-11-03 00:00:00 MSK  Mon 2025-10-27 00:00:00 MSK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит, что всё настроено, и таймер запланирован.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка работы вручную&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Вы можете запустить обслуживание вручную, не дожидаясь таймера:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl start btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После завершения команд можно просмотреть журнал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo journalctl -u btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Отключение или изменение расписания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если вы хотите изменить расписание, откройте файл `/etc/systemd/system/btrfs-maintain.timer` и замените строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
на, например:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;OnCalendar=daily&#039;&#039;&#039;&amp;lt;/code&amp;gt; — ежедневно;  &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;OnCalendar=monthly&#039;&#039;&#039;&amp;lt;/code&amp;gt; — раз в месяц;  &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;OnCalendar=Sun 03:00&#039;&#039;&#039;&amp;lt;/code&amp;gt; — каждое воскресенье в 3 утра.&lt;br /&gt;
&lt;br /&gt;
После редактирования перезапустите таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl restart btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Альтернатива: cron (для старых систем&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если по какой-то причине systemd-таймеры недоступны, можно использовать старый способ — cron.&lt;br /&gt;
&lt;br /&gt;
Создайте задачу:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo crontab -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавьте строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@weekly /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это даст тот же эффект, но без systemd.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка результата&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Через неделю можно посмотреть, как прошла последняя операция scrub:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub status /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если видите &amp;quot;no errors found&amp;quot;, всё отлично — автоматическое обслуживание работает.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Теперь ваша система &#039;&#039;&#039;BTRFS&#039;&#039;&#039; полностью автономна: она сама следит за своим здоровьем, проверяет и очищает диск, не требуя вашего участия.  &lt;br /&gt;
Такое решение особенно полезно для ноутбуков и рабочих станций, которые часто остаются включёнными на ночь.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=432</id>
		<title>BTRFS/Оптимизация</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=432"/>
		<updated>2025-11-14T12:28:53Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Введение и разметка|← Назад: Введение и разметка]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Обслуживание|Вперёд: Обслуживание →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки ROSA Linux на файловую систему &#039;&#039;&#039;BTRFS&#039;&#039;&#039; можно немного “прикрутить турбину” — сделать работу системы быстрее, а диск износостойким.  &lt;br /&gt;
В этом разделе подробно объясняется, какие параметры влияют на производительность и зачем они нужны.&lt;br /&gt;
&lt;br /&gt;
== Что такое оптимизация BTRFS ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BTRFS&#039;&#039;&#039; умеет многое: сжимает файлы, автоматически исправляет ошибки, балансирует пространство.  &lt;br /&gt;
Но по умолчанию часть функций может быть выключена, чтобы система подходила всем типам компьютеров.  &lt;br /&gt;
&#039;&#039;&#039;Оптимизация&#039;&#039;&#039; — это настройка под ваш тип накопителя: SSD, NVMe или HDD.&lt;br /&gt;
&lt;br /&gt;
== Проверка текущих настроек ==&lt;br /&gt;
&lt;br /&gt;
Перед изменением полезно узнать, с какими параметрами сейчас смонтирован диск.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mount | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда выводит список всех разделов BTRFS и их параметры.  &lt;br /&gt;
Например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/sda2 on / type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=5)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — система автоматически определила, что диск твердотельный;  &lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — используется новая схема кэширования свободного места;  &lt;br /&gt;
* &#039;&#039;&#039;relatime&#039;&#039;&#039; — обновление времени доступа включено (его можно отключить для ускорения).&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для SSD и NVMe ==&lt;br /&gt;
&lt;br /&gt;
Откройте файл &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; и найдите строку, где монтируется корневой раздел (обычно «/»).  &lt;br /&gt;
Рекомендуемая конфигурация для SSD или NVMe выглядит так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,ssd,space_cache=v2,discard=async,compress=zstd:5,autodefrag&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Что делает каждая опция:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — отключает запись времени последнего доступа к файлам. Это уменьшает количество операций записи и продлевает срок службы SSD.  &lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — включает оптимизацию алгоритмов ввода-вывода под твердотельные накопители.  &lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — более современная и быстрая система учёта свободного пространства.  &lt;br /&gt;
* &#039;&#039;&#039;discard=async&#039;&#039;&#039; — включает асинхронный TRIM, который очищает неиспользуемые блоки без потерь производительности.  &lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:5&#039;&#039;&#039; — сжимает данные на лету. Число «5» определяет баланс между скоростью и степенью сжатия.  &lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — автоматически дефрагментирует часто изменяемые файлы (журналы, базы данных, кеши).&lt;br /&gt;
&lt;br /&gt;
После редактирования сохраните файл и перезагрузите систему.&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для HDD ==&lt;br /&gt;
&lt;br /&gt;
Для обычных жёстких дисков лучше подходят другие настройки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,space_cache=v2,compress=zstd:3,autodefrag,commit=60&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Объяснение:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — уменьшает количество операций записи.  &lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:3&#039;&#039;&#039; — слабее сжатие, зато быстрее на медленных дисках.  &lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — помогает бороться с фрагментацией.  &lt;br /&gt;
* &#039;&#039;&#039;commit=60&#039;&#039;&#039; — записывает изменения на диск каждые 60 секунд, уменьшая нагрузку на головки HDD.&lt;br /&gt;
&lt;br /&gt;
== Проверка включённого сжатия ==&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что сжатие действительно активно, выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs property get / compression&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в выводе отображается строка вроде:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
compression=zstd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— значит сжатие включено.&lt;br /&gt;
&lt;br /&gt;
== Принудительное сжатие уже существующих файлов ==&lt;br /&gt;
&lt;br /&gt;
Если система установлена давно, старые файлы могли быть записаны без сжатия.  &lt;br /&gt;
Можно «сжать» их заново:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem defragment -r -v -czstd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разбор параметров:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-r&#039;&#039;&#039; — обрабатывать рекурсивно (все вложенные каталоги);  &lt;br /&gt;
* &#039;&#039;&#039;-v&#039;&#039;&#039; — выводить процесс выполнения;  &lt;br /&gt;
* &#039;&#039;&#039;-c zstd&#039;&#039;&#039; — применить алгоритм сжатия zstd.&lt;br /&gt;
&lt;br /&gt;
== Настройка TRIM ==&lt;br /&gt;
&lt;br /&gt;
TRIM сообщает SSD, какие блоки можно освободить.  &lt;br /&gt;
Чтобы система делала это автоматически, включите таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверить состояние таймера можно командой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl status fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TRIM помогает поддерживать скорость записи и продлевает жизнь накопителю.&lt;br /&gt;
&lt;br /&gt;
== Балансировка BTRFS ==&lt;br /&gt;
&lt;br /&gt;
BTRFS хранит данные блоками (чанками). Со временем часть блоков может заполниться неравномерно, и это снижает скорость работы.  &lt;br /&gt;
Чтобы перераспределить данные, используется команда балансировки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расшифровка:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-dusage=50&#039;&#039;&#039; — перераспределить только те блоки данных, что заполнены менее чем на 50 %;  &lt;br /&gt;
* &#039;&#039;&#039;-musage=50&#039;&#039;&#039; — то же самое для метаданных;  &lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — путь к корневому подтома.&lt;br /&gt;
&lt;br /&gt;
Балансировку стоит запускать примерно раз в 1–2 месяца.&lt;br /&gt;
&lt;br /&gt;
== Проверка использования диска ==&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать, как используется место, введите:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда показывает, сколько места занято данными, метаданными и системной информацией.  &lt;br /&gt;
Полезна для оценки того, нужна ли балансировка.&lt;br /&gt;
&lt;br /&gt;
== btrfs-assistant ==&lt;br /&gt;
&lt;br /&gt;
Это удобное графическое приложение для управления файловыми системами BTRFS.  &lt;br /&gt;
Оно позволяет выполнять большинство задач по оптимизации и обслуживанию без командной строки.&lt;br /&gt;
&lt;br /&gt;
=== Возможности ===&lt;br /&gt;
&lt;br /&gt;
* Просмотр подтомов (subvolumes) и их свойств.&lt;br /&gt;
* Управление снимками (создание, удаление, откат системы).&lt;br /&gt;
* Запуск проверки и балансировки разделов.&lt;br /&gt;
* Настройка сжатия и других параметров монтирования.&lt;br /&gt;
* Интеграция с Timeshift и Snapper (если они установлены).&lt;br /&gt;
&lt;br /&gt;
=== Установка ===&lt;br /&gt;
&lt;br /&gt;
В ROSA Linux и других дистрибутивах установить можно через DNF:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo dnf in btrfs-assistant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Использование ===&lt;br /&gt;
&lt;br /&gt;
После установки запустить утилиту можно через меню системы:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
btrfs-assistant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
или из терминала, если используется графическая среда.&lt;br /&gt;
&lt;br /&gt;
При запуске откроется главное окно, где отображаются все BTRFS-разделы и подтомы.  &lt;br /&gt;
Далее можно:&lt;br /&gt;
&lt;br /&gt;
* Создавать и удалять подтомы;&lt;br /&gt;
* Выполнять балансировку одним кликом;&lt;br /&gt;
* Настраивать автоматическое обслуживание (scrub и defrag);&lt;br /&gt;
* Создавать снимки вручную или планировать их по расписанию.&lt;br /&gt;
&lt;br /&gt;
=== Преимущества перед ручными командами ===&lt;br /&gt;
&lt;br /&gt;
* Безопасность — все операции проверяются перед применением.&lt;br /&gt;
* Простота — подходит даже тем, кто не знаком с командной строкой.&lt;br /&gt;
* Наглядность — состояние диска, свободное место и параметры видны в реальном времени.&lt;br /&gt;
&lt;br /&gt;
=== Пример сценария: ===&lt;br /&gt;
&lt;br /&gt;
# Откройте &#039;&#039;&#039;btrfs-assistant&#039;&#039;&#039;.&lt;br /&gt;
# Выберите раздел, например &#039;&#039;&#039;&#039;&#039;/dev/sda2&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
# Нажмите &#039;&#039;&#039;&#039;&#039;Balance → Start&#039;&#039;&#039;&#039;&#039; для балансировки.&lt;br /&gt;
# При необходимости создайте снимок системы через &#039;&#039;&#039;&#039;&#039;Snapshots → Create&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
# Наблюдайте за выполнением операций прямо в окне программы.&lt;br /&gt;
&lt;br /&gt;
Таким образом, &#039;&#039;&#039;btrfs-assistant&#039;&#039;&#039; дополняет классические инструменты командной строки, упрощая настройку и оптимизацию системы для пользователей, которые предпочитают графический интерфейс.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Итоги&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
После выполнения оптимизации:&lt;br /&gt;
&lt;br /&gt;
* система работает быстрее, особенно при чтении и установке пакетов;&lt;br /&gt;
* SSD меньше изнашивается благодаря сокращению ненужных записей;&lt;br /&gt;
* файлы занимают меньше места за счёт сжатия;&lt;br /&gt;
* BTRFS становится более стабильной и отзывчивой.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Введение и разметка|← Назад: Введение и разметка]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Обслуживание|Вперёд: Обслуживание →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=%D0%A0%D1%83%D1%87%D0%BD%D0%B0%D1%8F_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%B0_NVIDIA&amp;diff=431</id>
		<title>Ручная установка драйвера NVIDIA</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=%D0%A0%D1%83%D1%87%D0%BD%D0%B0%D1%8F_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%B0_NVIDIA&amp;diff=431"/>
		<updated>2025-11-05T18:28:36Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данное руководство предназначено для случаев, когда по каким-либо причинам [[Автоматический подбор и установка драйверов NVIDIA|kroko-cli]] не смог установить требуемый для вашей системы драйвер. В этом случае данное руководство поможет вам выполнить установку или переустановку проприетарного драйвера NVIDIA вручную.&lt;br /&gt;
&lt;br /&gt;
== Подготовка ==&lt;br /&gt;
&lt;br /&gt;
1. Скачайте драйвер с официального сайта NVIDIA:  &lt;br /&gt;
   https://www.nvidia.com/Download/index.aspx&lt;br /&gt;
&lt;br /&gt;
2. Переместите установщик в корневой каталог:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mv NVIDIA-Linux-x86_64-550.78.run /root/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Переход в текстовый режим ==&lt;br /&gt;
&lt;br /&gt;
1. Перейдите в консоль:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Ctrl + Alt + F2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Войдите под суперпользователем:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ su -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Остановите дисплейный менеджер (в зависимости от окружения):&lt;br /&gt;
&amp;lt;pre&amp;gt;# systemctl stop gdm&amp;lt;/pre&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
&amp;lt;pre&amp;gt;# systemctl stop sddm&amp;lt;/pre&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
&amp;lt;pre&amp;gt;# systemctl stop lightdm&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Проверьте, что X-сервер действительно остановлен:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ps aux | grep X&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в выводе нет других процессов X, кроме вашей команды grep, значит графическая среда остановлена.&lt;br /&gt;
&lt;br /&gt;
== Установка драйвера ==&lt;br /&gt;
&lt;br /&gt;
1. Запустите установщик с поддержкой DKMS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# bash *550.78*.run --dkms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Флаг &#039;&#039;&#039;--dkms&#039;&#039;&#039; обязателен. Без него драйвер не будет автоматически пересобираться после обновления ядра.&lt;br /&gt;
&lt;br /&gt;
2. После завершения пересоздайте initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# initrams-regen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Перезагрузите компьютер:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После перезагрузки проверьте, что драйвер установлен:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nvidia-smi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если выводится таблица с вашей видеокартой, установка прошла успешно.&lt;br /&gt;
&lt;br /&gt;
== Переустановка или обновление драйвера ==&lt;br /&gt;
&lt;br /&gt;
1. Удалите старую версию драйвера:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf remove *nvidia*&lt;br /&gt;
или, если драйвер ставился вручную:&lt;br /&gt;
# nvidia-uninstall&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Скачайте новый файл .run и повторите установку:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# systemctl stop gdm (или sddm, lightdm)&lt;br /&gt;
# bash *version*.run --dkms&lt;br /&gt;
# initrams-regen&lt;br /&gt;
# reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Восстановление при сбое ==&lt;br /&gt;
&lt;br /&gt;
Если система не загружается после установки драйвера:&lt;br /&gt;
&lt;br /&gt;
1. Загрузитесь с Live-диска ROSA.&lt;br /&gt;
&lt;br /&gt;
2. Определите корневой раздел и смонтируйте его:&lt;br /&gt;
* Для btrfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;# mount -t btrfs -o subvol=@ /dev/sda2 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Для ext4:&lt;br /&gt;
&amp;lt;pre&amp;gt;# mount -t ext4 /dev/sda2 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Войдите в chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# for i in /dev /dev/pts /proc /sys /run; do mount --bind $i /mnt$i; done&lt;br /&gt;
# chroot /mnt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Удалите драйвер и пересоздайте initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# nvidia-uninstall&lt;br /&gt;
# initrams-regen&lt;br /&gt;
# update-grub2&lt;br /&gt;
# exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Перезагрузитесь.  &lt;br /&gt;
Система должна загрузиться с открытым драйвером Nouveau.&lt;br /&gt;
&lt;br /&gt;
== Создание и откат через Timeshift (для ext4 и btrfs) ==&lt;br /&gt;
&lt;br /&gt;
Перед установкой драйвера рекомендуется создать снимок системы с помощью Timeshift:&lt;br /&gt;
&amp;lt;pre&amp;gt;# timeshift --create --comments &amp;quot;Перед установкой NVIDIA&amp;quot; --tags D&amp;lt;/pre&amp;gt;&lt;br /&gt;
Проверим:&lt;br /&gt;
&amp;lt;pre&amp;gt;# timeshift --list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Откат (В случае неудачи) ==&lt;br /&gt;
&lt;br /&gt;
В случае проблем можно быстро вернуть систему в рабочее состояние с помощью отката.&lt;br /&gt;
&lt;br /&gt;
1. Загрузитесь с Live-диска ROSA, затем:&lt;br /&gt;
&amp;lt;pre&amp;gt;# timeshift --restore&amp;lt;/pre&amp;gt;&lt;br /&gt;
Следуйте инструкциям (выберите последний снимок и подтвердите восстановление).&lt;br /&gt;
&lt;br /&gt;
После восстановления выполните:&lt;br /&gt;
&amp;lt;pre&amp;gt;# update-grub2&lt;br /&gt;
$ reboot&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Важно ==&lt;br /&gt;
При использовании ext4 Timeshift делает полную копию файлов, поэтому снимки занимают больше места.&lt;br /&gt;
Убедитесь, что на разделе достаточно свободного пространства (не менее 3–5 ГБ).&lt;br /&gt;
&lt;br /&gt;
== Полезные советы ==&lt;br /&gt;
Перед установкой любого проприетарного драйвера всегда создавайте снимок Timeshift.&lt;br /&gt;
&lt;br /&gt;
Если обновляете ядро, не забывайте проверять, что модуль DKMS пересобрался:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# dkms status&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS&amp;diff=430</id>
		<title>BTRFS</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS&amp;diff=430"/>
		<updated>2025-11-03T10:37:18Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BTRFS — это современная файловая система с поддержкой снимков, встроенного сжатия, самовосстановления и управления подтомами.  &lt;br /&gt;
В этом разделе собраны материалы о её возможностях, настройке, оптимизации и автоматизации обслуживания в ROSA Linux.&lt;br /&gt;
&lt;br /&gt;
== Подразделы ==&lt;br /&gt;
&lt;br /&gt;
* [[BTRFS/Введение и разметка|Введение и разметка]] — описание принципов BTRFS и схем разметки дисков.&lt;br /&gt;
* [[BTRFS/Оптимизация|Оптимизация]] — как улучшить производительность и продлить срок службы накопителей.&lt;br /&gt;
* [[BTRFS/Обслуживание|Обслуживание]] — контроль целостности, балансировка, дефрагментация и примеры реальных кейсов.&lt;br /&gt;
* [[BTRFS/Автоматизация обслуживания|Автоматизация обслуживания]] — как писать скрипты и таймеры для регулярного обслуживания.&lt;br /&gt;
&lt;br /&gt;
== Основные возможности BTRFS ==&lt;br /&gt;
&lt;br /&gt;
* Снимки (snapshots) и клонирование подтомов.&lt;br /&gt;
* Встроенное сжатие данных (zstd, lzo, zlib).&lt;br /&gt;
* Проверка контрольных сумм для данных и метаданных.&lt;br /&gt;
* Поддержка RAID уровней 0/1/10/5/6.&lt;br /&gt;
* Балансировка, дефрагментация и &amp;quot;самоисцеление&amp;quot; при ошибках чтения.&lt;br /&gt;
&lt;br /&gt;
BTRFS часто называют &amp;quot;Linux ZFS&amp;quot; — и недаром: она сочетает надёжность, гибкость и мощные инструменты для администрирования.&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=429</id>
		<title>BTRFS/Автоматизация обслуживания</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=429"/>
		<updated>2025-11-03T10:36:24Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вы уже знаете, как проверять и обслуживать систему &#039;&#039;&#039;BTRFS&#039;&#039;&#039; вручную, то следующий логичный шаг — сделать это автоматически.  &lt;br /&gt;
Linux умеет выполнять задания сам, по расписанию, и всё, что нужно — один небольшой скрипт и два конфигурационных файла.&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Автоматизация обслуживания&#039;&#039;&#039; =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Автоматизация&#039;&#039;&#039; — это когда система сама:&lt;br /&gt;
* проверяет файловую систему (scrub),&lt;br /&gt;
* балансирует данные (balance),&lt;br /&gt;
* очищает свободное место на SSD (fstrim).&lt;br /&gt;
&lt;br /&gt;
Пользователю больше не нужно помнить о ежемесячном обслуживании — всё выполняется в фоне, без вмешательства.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Подготовка скрипта обслуживания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Создадим простой скрипт, который выполняет три базовые команды для ухода за BTRFS.&lt;br /&gt;
&lt;br /&gt;
Откройте терминал и создайте файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вставьте туда следующий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Еженедельное обслуживание Btrfs&lt;br /&gt;
btrfs scrub start -Bd /&lt;br /&gt;
btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
fstrim -av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраните файл и сделайте его исполняемым:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;#!/bin/bash&#039;&#039;&#039;&amp;lt;/code&amp;gt; — сообщает системе, что это скрипт Bash.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;btrfs scrub start -Bd /&#039;&#039;&#039;&amp;lt;/code&amp;gt; — проверяет целостность данных.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;btrfs balance start -dusage=50 -musage=50 /&#039;&#039;&#039;&amp;lt;/code&amp;gt; — перераспределяет данные и метаданные.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;fstrim -av&#039;&#039;&#039;&amp;lt;/code&amp;gt; — очищает неиспользуемые блоки SSD (аналог TRIM).&lt;br /&gt;
&lt;br /&gt;
Теперь у нас есть готовый инструмент обслуживания.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание systemd-сервиса&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы Linux понимал, как запускать наш скрипт, нужно создать сервис.&lt;br /&gt;
&lt;br /&gt;
Создайте файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавьте в него:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Еженедельное обслуживание Btrfs&lt;br /&gt;
Documentation=man:btrfs(8)&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Что это значит:&lt;br /&gt;
* `[Unit]` — описание задачи, которое видит systemd.&lt;br /&gt;
* `[Service]` — сам сервис.  &lt;br /&gt;
  Тип `oneshot` означает, что команда запускается один раз и завершается.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание таймера systemd&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Теперь создадим &amp;quot;будильник&amp;quot;, который будет запускать сервис каждую неделю.&lt;br /&gt;
&lt;br /&gt;
Откройте новый файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вставьте туда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Таймер для еженедельного обслуживания Btrfs&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Объяснение параметров:&lt;br /&gt;
* `OnCalendar=weekly` — запускать каждую неделю (по умолчанию — по понедельникам).&lt;br /&gt;
* `Persistent=true` — если компьютер был выключен в момент запуска, задание выполнится при следующем включении.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Активация таймера&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Включаем наш таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь система будет автоматически запускать обслуживание каждую неделю.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что всё работает, выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl list-timers | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вы увидите строчку примерно такую:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
btrfs-maintain.timer  loaded active waiting  Mon 2025-11-03 00:00:00 MSK  Mon 2025-10-27 00:00:00 MSK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит, что всё настроено, и таймер запланирован.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка работы вручную&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Вы можете запустить обслуживание вручную, не дожидаясь таймера:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl start btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После завершения команд можно просмотреть журнал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo journalctl -u btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Отключение или изменение расписания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если вы хотите изменить расписание, откройте файл `/etc/systemd/system/btrfs-maintain.timer` и замените строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
на, например:&lt;br /&gt;
&lt;br /&gt;
* `OnCalendar=daily` — ежедневно;  &lt;br /&gt;
* `OnCalendar=monthly` — раз в месяц;  &lt;br /&gt;
* `OnCalendar=Sun 03:00` — каждое воскресенье в 3 утра.&lt;br /&gt;
&lt;br /&gt;
После редактирования перезапустите таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl restart btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Альтернатива: cron (для старых систем&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если по какой-то причине systemd-таймеры недоступны, можно использовать старый способ — cron.&lt;br /&gt;
&lt;br /&gt;
Создайте задачу:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo crontab -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавьте строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@weekly /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это даст тот же эффект, но без systemd.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка результата&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Через неделю можно посмотреть, как прошла последняя операция scrub:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub status /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если видите &amp;quot;no errors found&amp;quot;, всё отлично — автоматическое обслуживание работает.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Теперь ваша система &#039;&#039;&#039;BTRFS&#039;&#039;&#039; полностью автономна: она сама следит за своим здоровьем, проверяет и очищает диск, не требуя вашего участия.  &lt;br /&gt;
Такое решение особенно полезно для ноутбуков и рабочих станций, которые часто остаются включёнными на ночь.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=428</id>
		<title>BTRFS/Обслуживание</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=428"/>
		<updated>2025-11-03T10:35:51Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Оптимизация|← Назад: Оптимизация]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Автоматизация обслуживания|Вперёд: Автоматизация обслуживания →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файловая система &#039;&#039;&#039;BTRFS&#039;&#039;&#039; может сама проверять свои данные, исправлять ошибки и сохранять стабильность, если ей немного помочь.  &lt;br /&gt;
Этот раздел рассказывает, как выполнять обслуживание — без риска и без “танцев с бубном”.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Зачем нужно обслуживание BTRFS&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
BTRFS — &amp;quot;живая&amp;quot; файловая система: она отслеживает состояние своих блоков, умеет восстанавливаться при ошибках, но требует периодического ухода.  &lt;br /&gt;
Это как проверка автомобиля — если время от времени не заглядывать под капот, можно пропустить мелкую проблему, которая потом вырастет в серьёзную.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка состояния устройств&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Для начала стоит посмотреть, всё ли хорошо с диском и нет ли ошибок ввода-вывода.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs device stats /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда выводит статистику по каждому устройству, участвующему в BTRFS.  &lt;br /&gt;
Если вы видите только нули — всё отлично. Если появляются ошибки чтения или записи, их нужно исследовать глубже (например, проверить SMART с помощью `smartctl`).&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка и восстановление данных (scrub)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Scrub&amp;quot; в BTRFS — это полная проверка данных на диске с исправлением обнаруженных несоответствий.  &lt;br /&gt;
Она проверяет контрольные суммы и, при возможности, восстанавливает повреждённые блоки.&lt;br /&gt;
&lt;br /&gt;
Чтобы запустить scrub вручную:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub start -Bd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расшифровка:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;start&#039;&#039;&#039; — запустить проверку;&lt;br /&gt;
* &#039;&#039;&#039;-B&#039;&#039;&#039; — выполнить в блокирующем режиме (ждать завершения);&lt;br /&gt;
* &#039;&#039;&#039;-d&#039;&#039;&#039; — показать детальный отчёт по каждой ошибке;&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — путь к корневому разделу, который проверяем.&lt;br /&gt;
&lt;br /&gt;
Проверка может занять от нескольких минут до часа, в зависимости от объёма данных и скорости диска.&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать прогресс во время выполнения, можно выполнить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub status /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Балансировка пространства&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Со временем распределение данных на BTRFS может стать неравномерным. Это снижает эффективность и может приводить к ошибкам “недостаточно места”, даже если место есть.  &lt;br /&gt;
Для исправления этого используется балансировка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-dusage=50&#039;&#039;&#039; — перераспределить только те блоки данных, что заняты менее чем на 50%;  &lt;br /&gt;
* &#039;&#039;&#039;-musage=50&#039;&#039;&#039; — аналогично, но для метаданных;  &lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — корневой подтом (можно указать другой путь).&lt;br /&gt;
&lt;br /&gt;
Эта операция безопасна и не требует перезагрузки. Выполнять её достаточно раз в пару месяцев.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Удаление старых снимков (snapshots)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Снимки BTRFS — отличная вещь, но они занимают место.  &lt;br /&gt;
Если вы используете, например, Timeshift, то старые снимки можно удалить вручную:&lt;br /&gt;
&lt;br /&gt;
Сначала посмотрите список подтомов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs subvolume list /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Найдите ненужный снимок (обычно что-то вроде `.snapshots/2024-10-10_18-00-00/snapshot`) и удалите его:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs subvolume delete /.snapshots/2024-10-10_18-00-00/snapshot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После удаления освободившееся место можно вернуть в систему командой балансировки.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка использования места&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать, как используется пространство на диске, введите:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда показывает, сколько места занято данными, метаданными и резервами.  &lt;br /&gt;
Если метаданные занимают больше 20–30 % — это сигнал, что стоит выполнить балансировку.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка общего состояния файловой системы&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Для быстрой проверки без исправления можно использовать:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs check --readonly /dev/sda2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта команда выполняет &amp;quot;сухую&amp;quot; проверку, не изменяя данные.  &lt;br /&gt;
Используйте её, если хотите убедиться, что файловая система в порядке, но не готовы вносить правки.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Важно:&#039;&#039;&#039; если вы хотите исправить ошибки, не используйте `--readonly`, но только в режиме Live-системы, чтобы диск не был смонтирован.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Практические советы&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Запускайте scrub примерно раз в месяц. Это помогает находить ошибки до того, как они станут проблемой.  &lt;br /&gt;
* Балансировку можно делать раз в 2–3 месяца.  &lt;br /&gt;
* Проверку `btrfs check` стоит проводить только при подозрении на сбои или после аварийного выключения.  &lt;br /&gt;
* Не злоупотребляйте “полной” балансировкой — это тяжёлая операция, лучше ограничиваться параметрами `-dusage` и `-musage`.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Ежемесячное обслуживание (вручную)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если вы не хотите автоматизировать процессы (об этом — в следующей статье), можно просто выполнять три команды вручную:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub start -Bd /&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
sudo fstrim -av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;scrub&#039;&#039;&#039; проверяет целостность файлов;  &lt;br /&gt;
* &#039;&#039;&#039;balance&#039;&#039;&#039; распределяет данные;  &lt;br /&gt;
* &#039;&#039;&#039;fstrim&#039;&#039;&#039; очищает неиспользуемые блоки на SSD/NVMe.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Регулярное обслуживание BTRFS похоже на плановое ТО автомобиля — вы тратите немного времени, но сохраняете стабильность и производительность.  &lt;br /&gt;
После нескольких таких циклов вы заметите, что система остаётся “лёгкой” даже после месяцев активного использования.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Оптимизация|← Назад: Оптимизация]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Автоматизация обслуживания|Вперёд: Автоматизация обслуживания →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=427</id>
		<title>BTRFS/Оптимизация</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=427"/>
		<updated>2025-11-03T10:35:00Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Введение и разметка|← Назад: Введение и разметка]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Обслуживание|Вперёд: Обслуживание →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки ROSA Linux на файловую систему &#039;&#039;&#039;BTRFS&#039;&#039;&#039; можно немного “прикрутить турбину” — сделать работу системы быстрее, а диск износостойким.  &lt;br /&gt;
В этом разделе подробно объясняется, какие параметры влияют на производительность и зачем они нужны.&lt;br /&gt;
&lt;br /&gt;
== Что такое оптимизация BTRFS ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BTRFS&#039;&#039;&#039; умеет многое: сжимает файлы, автоматически исправляет ошибки, балансирует пространство.  &lt;br /&gt;
Но по умолчанию часть функций может быть выключена, чтобы система подходила всем типам компьютеров.  &lt;br /&gt;
Оптимизация — это настройка под ваш тип накопителя: SSD, NVMe или HDD.&lt;br /&gt;
&lt;br /&gt;
== Проверка текущих настроек ==&lt;br /&gt;
&lt;br /&gt;
Перед изменением полезно узнать, с какими параметрами сейчас смонтирован диск.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mount | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда выводит список всех разделов BTRFS и их параметры.  &lt;br /&gt;
Например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/sda2 on / type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=5)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — система автоматически определила, что диск твердотельный;  &lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — используется новая схема кэширования свободного места;  &lt;br /&gt;
* &#039;&#039;&#039;relatime&#039;&#039;&#039; — обновление времени доступа включено (его можно отключить для ускорения).&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для SSD и NVMe ==&lt;br /&gt;
&lt;br /&gt;
Откройте файл &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; и найдите строку, где монтируется корневой раздел (обычно «/»).  &lt;br /&gt;
Рекомендуемая конфигурация для SSD или NVMe выглядит так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,ssd,space_cache=v2,discard=async,compress=zstd:5,autodefrag&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Что делает каждая опция:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — отключает запись времени последнего доступа к файлам. Это уменьшает количество операций записи и продлевает срок службы SSD.  &lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — включает оптимизацию алгоритмов ввода-вывода под твердотельные накопители.  &lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — более современная и быстрая система учёта свободного пространства.  &lt;br /&gt;
* &#039;&#039;&#039;discard=async&#039;&#039;&#039; — включает асинхронный TRIM, который очищает неиспользуемые блоки без потерь производительности.  &lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:5&#039;&#039;&#039; — сжимает данные на лету. Число «5» определяет баланс между скоростью и степенью сжатия.  &lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — автоматически дефрагментирует часто изменяемые файлы (журналы, базы данных, кеши).&lt;br /&gt;
&lt;br /&gt;
После редактирования сохраните файл и перезагрузите систему.&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для HDD ==&lt;br /&gt;
&lt;br /&gt;
Для обычных жёстких дисков лучше подходят другие настройки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,space_cache=v2,compress=zstd:3,autodefrag,commit=60&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Объяснение:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — уменьшает количество операций записи.  &lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:3&#039;&#039;&#039; — слабее сжатие, зато быстрее на медленных дисках.  &lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — помогает бороться с фрагментацией.  &lt;br /&gt;
* &#039;&#039;&#039;commit=60&#039;&#039;&#039; — записывает изменения на диск каждые 60 секунд, уменьшая нагрузку на головки HDD.&lt;br /&gt;
&lt;br /&gt;
== Проверка включённого сжатия ==&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что сжатие действительно активно, выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs property get / compression&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в выводе отображается строка вроде:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
compression=zstd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— значит сжатие включено.&lt;br /&gt;
&lt;br /&gt;
== Принудительное сжатие уже существующих файлов ==&lt;br /&gt;
&lt;br /&gt;
Если система установлена давно, старые файлы могли быть записаны без сжатия.  &lt;br /&gt;
Можно «сжать» их заново:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem defragment -r -v -czstd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разбор параметров:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-r&#039;&#039;&#039; — обрабатывать рекурсивно (все вложенные каталоги);  &lt;br /&gt;
* &#039;&#039;&#039;-v&#039;&#039;&#039; — выводить процесс выполнения;  &lt;br /&gt;
* &#039;&#039;&#039;-c zstd&#039;&#039;&#039; — применить алгоритм сжатия zstd.&lt;br /&gt;
&lt;br /&gt;
== Настройка TRIM ==&lt;br /&gt;
&lt;br /&gt;
TRIM сообщает SSD, какие блоки можно освободить.  &lt;br /&gt;
Чтобы система делала это автоматически, включите таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверить состояние таймера можно командой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl status fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TRIM помогает поддерживать скорость записи и продлевает жизнь накопителю.&lt;br /&gt;
&lt;br /&gt;
== Балансировка BTRFS ==&lt;br /&gt;
&lt;br /&gt;
BTRFS хранит данные блоками (чанками). Со временем часть блоков может заполниться неравномерно, и это снижает скорость работы.  &lt;br /&gt;
Чтобы перераспределить данные, используется команда балансировки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расшифровка:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-dusage=50&#039;&#039;&#039; — перераспределить только те блоки данных, что заполнены менее чем на 50 %;  &lt;br /&gt;
* &#039;&#039;&#039;-musage=50&#039;&#039;&#039; — то же самое для метаданных;  &lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — путь к корневому подтома.&lt;br /&gt;
&lt;br /&gt;
Балансировку стоит запускать примерно раз в 1–2 месяца.&lt;br /&gt;
&lt;br /&gt;
== Проверка использования диска ==&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать, как используется место, введите:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда показывает, сколько места занято данными, метаданными и системной информацией.  &lt;br /&gt;
Полезна для оценки того, нужна ли балансировка.&lt;br /&gt;
&lt;br /&gt;
== btrfs-assistant ==&lt;br /&gt;
&lt;br /&gt;
Это удобное графическое приложение для управления файловыми системами BTRFS.  &lt;br /&gt;
Оно позволяет выполнять большинство задач по оптимизации и обслуживанию без командной строки.&lt;br /&gt;
&lt;br /&gt;
=== Возможности ===&lt;br /&gt;
&lt;br /&gt;
* Просмотр подтомов (subvolumes) и их свойств.&lt;br /&gt;
* Управление снимками (создание, удаление, откат системы).&lt;br /&gt;
* Запуск проверки и балансировки разделов.&lt;br /&gt;
* Настройка сжатия и других параметров монтирования.&lt;br /&gt;
* Интеграция с Timeshift и Snapper (если они установлены).&lt;br /&gt;
&lt;br /&gt;
=== Установка ===&lt;br /&gt;
&lt;br /&gt;
В ROSA Linux и других дистрибутивах установить можно через DNF:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo dnf in btrfs-assistant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Использование ===&lt;br /&gt;
&lt;br /&gt;
После установки запустить утилиту можно через меню системы:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
btrfs-assistant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
или из терминала, если используется графическая среда.&lt;br /&gt;
&lt;br /&gt;
При запуске откроется главное окно, где отображаются все BTRFS-разделы и подтомы.  &lt;br /&gt;
Далее можно:&lt;br /&gt;
&lt;br /&gt;
* Создавать и удалять подтомы;&lt;br /&gt;
* Выполнять балансировку одним кликом;&lt;br /&gt;
* Настраивать автоматическое обслуживание (scrub и defrag);&lt;br /&gt;
* Создавать снимки вручную или планировать их по расписанию.&lt;br /&gt;
&lt;br /&gt;
=== Преимущества перед ручными командами ===&lt;br /&gt;
&lt;br /&gt;
* Безопасность — все операции проверяются перед применением.&lt;br /&gt;
* Простота — подходит даже тем, кто не знаком с командной строкой.&lt;br /&gt;
* Наглядность — состояние диска, свободное место и параметры видны в реальном времени.&lt;br /&gt;
&lt;br /&gt;
=== Пример сценария: ===&lt;br /&gt;
&lt;br /&gt;
# Откройте &#039;&#039;&#039;btrfs-assistant&#039;&#039;&#039;.&lt;br /&gt;
# Выберите раздел, например `/dev/sda2`.&lt;br /&gt;
# Нажмите &#039;&#039;&#039;&#039;&#039;Balance → Start&#039;&#039;&#039;&#039;&#039; для балансировки.&lt;br /&gt;
# При необходимости создайте снимок системы через &#039;&#039;&#039;&#039;&#039;Snapshots → Create&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
# Наблюдайте за выполнением операций прямо в окне программы.&lt;br /&gt;
&lt;br /&gt;
Таким образом, &#039;&#039;&#039;btrfs-assistant&#039;&#039;&#039; дополняет классические инструменты командной строки, упрощая настройку и оптимизацию системы для пользователей, которые предпочитают графический интерфейс.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Итоги&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
После выполнения оптимизации:&lt;br /&gt;
&lt;br /&gt;
* система работает быстрее, особенно при чтении и установке пакетов;&lt;br /&gt;
* SSD меньше изнашивается благодаря сокращению ненужных записей;&lt;br /&gt;
* файлы занимают меньше места за счёт сжатия;&lt;br /&gt;
* BTRFS становится более стабильной и отзывчивой.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Введение и разметка|← Назад: Введение и разметка]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Обслуживание|Вперёд: Обслуживание →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=426</id>
		<title>BTRFS/Введение и разметка</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=426"/>
		<updated>2025-11-03T10:30:28Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTRFS (произносится как &amp;quot;би-ти-эф-эс&amp;quot; от B-Tree FS) — это современная файловая система Linux, которая умеет не только хранить файлы, но и &#039;&#039;&#039;самостоятельно защищать их от ошибок&#039;&#039;&#039;, &#039;&#039;&#039;сжимать данные&#039;&#039;&#039;, &#039;&#039;&#039;создавать снимки системы&#039;&#039;&#039; и &#039;&#039;&#039;управлять несколькими дисками как одним&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Если вы раньше пользовались Windows, то можно сказать, что BTRFS — это &amp;quot;умный аналог NTFS&amp;quot;, только с функциями, которые в Windows реализованы отдельными утилитами (вроде восстановления системы, сжатия дисков и проверки ошибок).&lt;br /&gt;
&lt;br /&gt;
== Что делает BTRFS особенной ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Копирование при записи (Copy-on-Write)&#039;&#039;&#039; — данные не перезаписываются “поверх”, а записываются в новое место. Это защищает от потери данных при сбоях.&lt;br /&gt;
* &#039;&#039;&#039;Снимки (snapshots)&#039;&#039;&#039; — можно “заморозить” состояние системы и вернуться к нему позже (аналог точек восстановления Windows).&lt;br /&gt;
* &#039;&#039;&#039;Сжатие файлов на лету&#039;&#039;&#039; — экономит место и ускоряет работу на SSD.&lt;br /&gt;
* &#039;&#039;&#039;Проверка целостности&#039;&#039;&#039; — BTRFS хранит контрольные суммы и может выявить повреждения.&lt;br /&gt;
* &#039;&#039;&#039;Гибкость в управлении разделами&#039;&#039;&#039; — легко добавлять или удалять диски, расширять файловую систему.&lt;br /&gt;
&lt;br /&gt;
== Создание файловой системы BTRFS ==&lt;br /&gt;
&lt;br /&gt;
Требуется &amp;quot;отформатировать&amp;quot; раздел, чтобы он стал файловой системой BTRFS:&lt;br /&gt;
&lt;br /&gt;
    # mkfs.btrfs -L ROSA /dev/sda2&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;mkfs.btrfs&#039;&#039;&#039; — создаёт файловую систему BTRFS;&lt;br /&gt;
* &#039;&#039;&#039;-L ROSA&#039;&#039;&#039; — задаёт метку (название), чтобы её было легче узнавать;&lt;br /&gt;
* &#039;&#039;&#039;/dev/sda2&#039;&#039;&#039; — это тот раздел, на который вы ставите систему.&lt;br /&gt;
&lt;br /&gt;
После этого раздел готов к использованию.&lt;br /&gt;
&lt;br /&gt;
== Создание подтомов (subvolumes) ==&lt;br /&gt;
&lt;br /&gt;
Подтомы в BTRFS — это как отдельные &amp;quot;папки-микросистемы&amp;quot;.  &lt;br /&gt;
Например, один подтом для системы, другой — для пользователей.  &lt;br /&gt;
Они позволяют делать снимки системы без затрагивания личных файлов.&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Смонтируйте новый раздел:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo mount /dev/sda2 /mnt&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Создайте подтомы:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs subvolume create /mnt/@&lt;br /&gt;
   sudo btrfs subvolume create /mnt/@home&lt;br /&gt;
&lt;br /&gt;
Теперь у вас есть два логических подтома:&lt;br /&gt;
* &#039;&#039;&#039;@&#039;&#039;&#039; — основной корень системы &#039;&#039;&#039;(/)&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;@home&#039;&#039;&#039; — личные файлы пользователей.&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Отмонтируйте:&#039;&#039;&#039;&lt;br /&gt;
   &lt;br /&gt;
    sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
== Монтирование подтомов (fstab) ==&lt;br /&gt;
&lt;br /&gt;
Чтобы система знала, какие подтомы подключать при загрузке, их нужно описать в файле &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
Пример строки:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    UUID=xxxx-xxxx / btrfs subvol=@,defaults,noatime,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
    UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,noatime,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Объяснение:&lt;br /&gt;
* &#039;&#039;&#039;UUID&#039;&#039;&#039; — уникальный номер раздела (можно узнать через &#039;&#039;&#039;blkid&#039;&#039;&#039;);&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; - точка монтирования &lt;br /&gt;
* &#039;&#039;&#039;btrfs&#039;&#039;&#039; — указывает тип файловой системы;&lt;br /&gt;
* &#039;&#039;&#039;subvol=@&#039;&#039;&#039; — подключаем подтом с названием &#039;&#039;&#039;@&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — отключает запись времени последнего обращения к файлам (ускоряет работу);&lt;br /&gt;
* &#039;&#039;&#039;compress=zstd&#039;&#039;&#039; — включает сжатие данных;&lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — ускоряет работу с пространством на диске.&lt;br /&gt;
&lt;br /&gt;
== Проверка результата ==&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Посмотреть список подтомов:&#039;&#039;&#039;&lt;br /&gt;
   &lt;br /&gt;
    sudo btrfs subvolume list /&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Проверить использование места:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs filesystem df /&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Посмотреть общую информацию:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs filesystem show&lt;br /&gt;
&lt;br /&gt;
Если всё сделано правильно — вы увидите свои подтомы, и система будет работать через BTRFS.&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BTRFS&#039;&#039;&#039; — это гибкая и надёжная файловая система, которая подходит как новичкам, так и администраторам.  &lt;br /&gt;
Она сочетает функции нескольких инструментов Windows в одном:&lt;br /&gt;
* вместо “точек восстановления” — снимки;&lt;br /&gt;
* вместо “очистки диска” — встроенная дефрагментация и балансировка;&lt;br /&gt;
* вместо “дисковых проверок” — автоматическая проверка целостности данных.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=425</id>
		<title>BTRFS/Введение и разметка</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=425"/>
		<updated>2025-11-01T09:19:48Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Btrfs (произносится как &amp;quot;би-ти-эф-эс&amp;quot; от B-Tree FS) — это современная файловая система Linux, которая умеет не только хранить файлы, но и &#039;&#039;&#039;самостоятельно защищать их от ошибок&#039;&#039;&#039;, &#039;&#039;&#039;сжимать данные&#039;&#039;&#039;, &#039;&#039;&#039;создавать снимки системы&#039;&#039;&#039; и &#039;&#039;&#039;управлять несколькими дисками как одним&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Если вы раньше пользовались Windows, то можно сказать, что Btrfs — это &amp;quot;умный аналог NTFS&amp;quot;, только с функциями, которые в Windows реализованы отдельными утилитами (вроде восстановления системы, сжатия дисков и проверки ошибок).&lt;br /&gt;
&lt;br /&gt;
== Что делает Btrfs особенной ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Копирование при записи (Copy-on-Write)&#039;&#039;&#039; — данные не перезаписываются “поверх”, а записываются в новое место. Это защищает от потери данных при сбоях.&lt;br /&gt;
* &#039;&#039;&#039;Снимки (snapshots)&#039;&#039;&#039; — можно “заморозить” состояние системы и вернуться к нему позже (аналог точек восстановления Windows).&lt;br /&gt;
* &#039;&#039;&#039;Сжатие файлов на лету&#039;&#039;&#039; — экономит место и ускоряет работу на SSD.&lt;br /&gt;
* &#039;&#039;&#039;Проверка целостности&#039;&#039;&#039; — Btrfs хранит контрольные суммы и может выявить повреждения.&lt;br /&gt;
* &#039;&#039;&#039;Гибкость в управлении разделами&#039;&#039;&#039; — легко добавлять или удалять диски, расширять файловую систему.&lt;br /&gt;
&lt;br /&gt;
== Создание файловой системы Btrfs ==&lt;br /&gt;
&lt;br /&gt;
Требуется &amp;quot;отформатировать&amp;quot; раздел, чтобы он стал файловой системой Btrfs:&lt;br /&gt;
&lt;br /&gt;
    # mkfs.btrfs -L ROSA /dev/sda2&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;mkfs.btrfs&#039;&#039;&#039; — создаёт файловую систему Btrfs;&lt;br /&gt;
* &#039;&#039;&#039;-L ROSA&#039;&#039;&#039; — задаёт метку (название), чтобы её было легче узнавать;&lt;br /&gt;
* &#039;&#039;&#039;/dev/sda2&#039;&#039;&#039; — это тот раздел, на который вы ставите систему.&lt;br /&gt;
&lt;br /&gt;
После этого раздел готов к использованию.&lt;br /&gt;
&lt;br /&gt;
== Создание подтомов (subvolumes) ==&lt;br /&gt;
&lt;br /&gt;
Подтомы в Btrfs — это как отдельные &amp;quot;папки-микросистемы&amp;quot;.  &lt;br /&gt;
Например, один подтом для системы, другой — для пользователей.  &lt;br /&gt;
Они позволяют делать снимки системы без затрагивания личных файлов.&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Смонтируйте новый раздел:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo mount /dev/sda2 /mnt&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Создайте подтомы:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs subvolume create /mnt/@&lt;br /&gt;
   sudo btrfs subvolume create /mnt/@home&lt;br /&gt;
&lt;br /&gt;
Теперь у вас есть два логических подтома:&lt;br /&gt;
* &#039;&#039;&#039;@&#039;&#039;&#039; — основной корень системы &#039;&#039;&#039;(/)&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;@home&#039;&#039;&#039; — личные файлы пользователей.&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Отмонтируйте:&#039;&#039;&#039;&lt;br /&gt;
   &lt;br /&gt;
    sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
== Монтирование подтомов (fstab) ==&lt;br /&gt;
&lt;br /&gt;
Чтобы система знала, какие подтомы подключать при загрузке, их нужно описать в файле &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
Пример строки:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    UUID=xxxx-xxxx / btrfs subvol=@,defaults,noatime,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
    UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,noatime,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Объяснение:&lt;br /&gt;
* &#039;&#039;&#039;UUID&#039;&#039;&#039; — уникальный номер раздела (можно узнать через &#039;&#039;&#039;blkid&#039;&#039;&#039;);&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; - точка монтирования &lt;br /&gt;
* &#039;&#039;&#039;btrfs&#039;&#039;&#039; — указывает тип файловой системы;&lt;br /&gt;
* &#039;&#039;&#039;subvol=@&#039;&#039;&#039; — подключаем подтом с названием &#039;&#039;&#039;@&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — отключает запись времени последнего обращения к файлам (ускоряет работу);&lt;br /&gt;
* &#039;&#039;&#039;compress=zstd&#039;&#039;&#039; — включает сжатие данных;&lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — ускоряет работу с пространством на диске.&lt;br /&gt;
&lt;br /&gt;
== Проверка результата ==&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Посмотреть список подтомов:&#039;&#039;&#039;&lt;br /&gt;
   &lt;br /&gt;
    sudo btrfs subvolume list /&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Проверить использование места:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs filesystem df /&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Посмотреть общую информацию:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs filesystem show&lt;br /&gt;
&lt;br /&gt;
Если всё сделано правильно — вы увидите свои подтомы, и система будет работать через Btrfs.&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Btrfs&#039;&#039;&#039; — это гибкая и надёжная файловая система, которая подходит как новичкам, так и администраторам.  &lt;br /&gt;
Она сочетает функции нескольких инструментов Windows в одном:&lt;br /&gt;
* вместо “точек восстановления” — снимки;&lt;br /&gt;
* вместо “очистки диска” — встроенная дефрагментация и балансировка;&lt;br /&gt;
* вместо “дисковых проверок” — автоматическая проверка целостности данных.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=424</id>
		<title>BTRFS/Автоматизация обслуживания</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=424"/>
		<updated>2025-11-01T09:19:33Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вы уже знаете, как проверять и обслуживать систему &#039;&#039;&#039;Btrfs&#039;&#039;&#039; вручную, то следующий логичный шаг — сделать это автоматически.  &lt;br /&gt;
Linux умеет выполнять задания сам, по расписанию, и всё, что нужно — один небольшой скрипт и два конфигурационных файла.&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Автоматизация обслуживания&#039;&#039;&#039; =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Автоматизация&#039;&#039;&#039; — это когда система сама:&lt;br /&gt;
* проверяет файловую систему (scrub),&lt;br /&gt;
* балансирует данные (balance),&lt;br /&gt;
* очищает свободное место на SSD (fstrim).&lt;br /&gt;
&lt;br /&gt;
Пользователю больше не нужно помнить о ежемесячном обслуживании — всё выполняется в фоне, без вмешательства.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Подготовка скрипта обслуживания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Создадим простой скрипт, который выполняет три базовые команды для ухода за Btrfs.&lt;br /&gt;
&lt;br /&gt;
Откройте терминал и создайте файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вставьте туда следующий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Еженедельное обслуживание Btrfs&lt;br /&gt;
btrfs scrub start -Bd /&lt;br /&gt;
btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
fstrim -av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраните файл и сделайте его исполняемым:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;#!/bin/bash&#039;&#039;&#039;&amp;lt;/code&amp;gt; — сообщает системе, что это скрипт Bash.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;btrfs scrub start -Bd /&#039;&#039;&#039;&amp;lt;/code&amp;gt; — проверяет целостность данных.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;btrfs balance start -dusage=50 -musage=50 /&#039;&#039;&#039;&amp;lt;/code&amp;gt; — перераспределяет данные и метаданные.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;fstrim -av&#039;&#039;&#039;&amp;lt;/code&amp;gt; — очищает неиспользуемые блоки SSD (аналог TRIM).&lt;br /&gt;
&lt;br /&gt;
Теперь у нас есть готовый инструмент обслуживания.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание systemd-сервиса&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы Linux понимал, как запускать наш скрипт, нужно создать сервис.&lt;br /&gt;
&lt;br /&gt;
Создайте файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавьте в него:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Еженедельное обслуживание Btrfs&lt;br /&gt;
Documentation=man:btrfs(8)&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Что это значит:&lt;br /&gt;
* `[Unit]` — описание задачи, которое видит systemd.&lt;br /&gt;
* `[Service]` — сам сервис.  &lt;br /&gt;
  Тип `oneshot` означает, что команда запускается один раз и завершается.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание таймера systemd&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Теперь создадим &amp;quot;будильник&amp;quot;, который будет запускать сервис каждую неделю.&lt;br /&gt;
&lt;br /&gt;
Откройте новый файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вставьте туда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Таймер для еженедельного обслуживания Btrfs&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Объяснение параметров:&lt;br /&gt;
* `OnCalendar=weekly` — запускать каждую неделю (по умолчанию — по понедельникам).&lt;br /&gt;
* `Persistent=true` — если компьютер был выключен в момент запуска, задание выполнится при следующем включении.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Активация таймера&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Включаем наш таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь система будет автоматически запускать обслуживание каждую неделю.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что всё работает, выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl list-timers | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вы увидите строчку примерно такую:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
btrfs-maintain.timer  loaded active waiting  Mon 2025-11-03 00:00:00 MSK  Mon 2025-10-27 00:00:00 MSK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит, что всё настроено, и таймер запланирован.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка работы вручную&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Вы можете запустить обслуживание вручную, не дожидаясь таймера:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl start btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После завершения команд можно просмотреть журнал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo journalctl -u btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Отключение или изменение расписания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если вы хотите изменить расписание, откройте файл `/etc/systemd/system/btrfs-maintain.timer` и замените строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
на, например:&lt;br /&gt;
&lt;br /&gt;
* `OnCalendar=daily` — ежедневно;  &lt;br /&gt;
* `OnCalendar=monthly` — раз в месяц;  &lt;br /&gt;
* `OnCalendar=Sun 03:00` — каждое воскресенье в 3 утра.&lt;br /&gt;
&lt;br /&gt;
После редактирования перезапустите таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl restart btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Альтернатива: cron (для старых систем&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если по какой-то причине systemd-таймеры недоступны, можно использовать старый способ — cron.&lt;br /&gt;
&lt;br /&gt;
Создайте задачу:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo crontab -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавьте строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@weekly /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это даст тот же эффект, но без systemd.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка результата&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Через неделю можно посмотреть, как прошла последняя операция scrub:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub status /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если видите &amp;quot;no errors found&amp;quot;, всё отлично — автоматическое обслуживание работает.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Теперь ваша система &#039;&#039;&#039;Btrfs&#039;&#039;&#039; полностью автономна: она сама следит за своим здоровьем, проверяет и очищает диск, не требуя вашего участия.  &lt;br /&gt;
Такое решение особенно полезно для ноутбуков и рабочих станций, которые часто остаются включёнными на ночь.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=423</id>
		<title>BTRFS/Обслуживание</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=423"/>
		<updated>2025-11-01T09:19:22Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Оптимизация|← Назад: Оптимизация]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Автоматизация обслуживания|Вперёд: Автоматизация обслуживания →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файловая система &#039;&#039;&#039;Btrfs&#039;&#039;&#039; может сама проверять свои данные, исправлять ошибки и сохранять стабильность, если ей немного помочь.  &lt;br /&gt;
Этот раздел рассказывает, как выполнять обслуживание — без риска и без “танцев с бубном”.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Зачем нужно обслуживание Btrfs&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Btrfs — &amp;quot;живая&amp;quot; файловая система: она отслеживает состояние своих блоков, умеет восстанавливаться при ошибках, но требует периодического ухода.  &lt;br /&gt;
Это как проверка автомобиля — если время от времени не заглядывать под капот, можно пропустить мелкую проблему, которая потом вырастет в серьёзную.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка состояния устройств&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Для начала стоит посмотреть, всё ли хорошо с диском и нет ли ошибок ввода-вывода.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs device stats /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда выводит статистику по каждому устройству, участвующему в Btrfs.  &lt;br /&gt;
Если вы видите только нули — всё отлично. Если появляются ошибки чтения или записи, их нужно исследовать глубже (например, проверить SMART с помощью `smartctl`).&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка и восстановление данных (scrub)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Scrub&amp;quot; в Btrfs — это полная проверка данных на диске с исправлением обнаруженных несоответствий.  &lt;br /&gt;
Она проверяет контрольные суммы и, при возможности, восстанавливает повреждённые блоки.&lt;br /&gt;
&lt;br /&gt;
Чтобы запустить scrub вручную:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub start -Bd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расшифровка:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;start&#039;&#039;&#039; — запустить проверку;&lt;br /&gt;
* &#039;&#039;&#039;-B&#039;&#039;&#039; — выполнить в блокирующем режиме (ждать завершения);&lt;br /&gt;
* &#039;&#039;&#039;-d&#039;&#039;&#039; — показать детальный отчёт по каждой ошибке;&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — путь к корневому разделу, который проверяем.&lt;br /&gt;
&lt;br /&gt;
Проверка может занять от нескольких минут до часа, в зависимости от объёма данных и скорости диска.&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать прогресс во время выполнения, можно выполнить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub status /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Балансировка пространства&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Со временем распределение данных на Btrfs может стать неравномерным. Это снижает эффективность и может приводить к ошибкам “недостаточно места”, даже если место есть.  &lt;br /&gt;
Для исправления этого используется балансировка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-dusage=50&#039;&#039;&#039; — перераспределить только те блоки данных, что заняты менее чем на 50%;  &lt;br /&gt;
* &#039;&#039;&#039;-musage=50&#039;&#039;&#039; — аналогично, но для метаданных;  &lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — корневой подтом (можно указать другой путь).&lt;br /&gt;
&lt;br /&gt;
Эта операция безопасна и не требует перезагрузки. Выполнять её достаточно раз в пару месяцев.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Удаление старых снимков (snapshots)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Снимки Btrfs — отличная вещь, но они занимают место.  &lt;br /&gt;
Если вы используете, например, Timeshift, то старые снимки можно удалить вручную:&lt;br /&gt;
&lt;br /&gt;
Сначала посмотрите список подтомов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs subvolume list /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Найдите ненужный снимок (обычно что-то вроде `.snapshots/2024-10-10_18-00-00/snapshot`) и удалите его:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs subvolume delete /.snapshots/2024-10-10_18-00-00/snapshot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После удаления освободившееся место можно вернуть в систему командой балансировки.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка использования места&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать, как используется пространство на диске, введите:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда показывает, сколько места занято данными, метаданными и резервами.  &lt;br /&gt;
Если метаданные занимают больше 20–30 % — это сигнал, что стоит выполнить балансировку.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка общего состояния файловой системы&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Для быстрой проверки без исправления можно использовать:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs check --readonly /dev/sda2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта команда выполняет &amp;quot;сухую&amp;quot; проверку, не изменяя данные.  &lt;br /&gt;
Используйте её, если хотите убедиться, что файловая система в порядке, но не готовы вносить правки.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Важно:&#039;&#039;&#039; если вы хотите исправить ошибки, не используйте `--readonly`, но только в режиме Live-системы, чтобы диск не был смонтирован.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Практические советы&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Запускайте scrub примерно раз в месяц. Это помогает находить ошибки до того, как они станут проблемой.  &lt;br /&gt;
* Балансировку можно делать раз в 2–3 месяца.  &lt;br /&gt;
* Проверку `btrfs check` стоит проводить только при подозрении на сбои или после аварийного выключения.  &lt;br /&gt;
* Не злоупотребляйте “полной” балансировкой — это тяжёлая операция, лучше ограничиваться параметрами `-dusage` и `-musage`.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Ежемесячное обслуживание (вручную)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если вы не хотите автоматизировать процессы (об этом — в следующей статье), можно просто выполнять три команды вручную:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub start -Bd /&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
sudo fstrim -av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;scrub&#039;&#039;&#039; проверяет целостность файлов;  &lt;br /&gt;
* &#039;&#039;&#039;balance&#039;&#039;&#039; распределяет данные;  &lt;br /&gt;
* &#039;&#039;&#039;fstrim&#039;&#039;&#039; очищает неиспользуемые блоки на SSD/NVMe.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Регулярное обслуживание Btrfs похоже на плановое ТО автомобиля — вы тратите немного времени, но сохраняете стабильность и производительность.  &lt;br /&gt;
После нескольких таких циклов вы заметите, что система остаётся “лёгкой” даже после месяцев активного использования.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Оптимизация|← Назад: Оптимизация]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Автоматизация обслуживания|Вперёд: Автоматизация обслуживания →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=422</id>
		<title>BTRFS/Оптимизация</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=422"/>
		<updated>2025-11-01T09:19:09Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Введение и разметка|← Назад: Введение и разметка]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Обслуживание|Вперёд: Обслуживание →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки ROSA Linux на файловую систему &#039;&#039;&#039;Btrfs&#039;&#039;&#039; можно немного “прикрутить турбину” — сделать работу системы быстрее, а диск износостойким.  &lt;br /&gt;
В этом разделе подробно объясняется, какие параметры влияют на производительность и зачем они нужны.&lt;br /&gt;
&lt;br /&gt;
== Что такое оптимизация Btrfs ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Btrfs&#039;&#039;&#039; умеет многое: сжимает файлы, автоматически исправляет ошибки, балансирует пространство.  &lt;br /&gt;
Но по умолчанию часть функций может быть выключена, чтобы система подходила всем типам компьютеров.  &lt;br /&gt;
Оптимизация — это настройка под ваш тип накопителя: SSD, NVMe или HDD.&lt;br /&gt;
&lt;br /&gt;
== Проверка текущих настроек ==&lt;br /&gt;
&lt;br /&gt;
Перед изменением полезно узнать, с какими параметрами сейчас смонтирован диск.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mount | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда выводит список всех разделов Btrfs и их параметры.  &lt;br /&gt;
Например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/sda2 on / type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=5)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — система автоматически определила, что диск твердотельный;  &lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — используется новая схема кэширования свободного места;  &lt;br /&gt;
* &#039;&#039;&#039;relatime&#039;&#039;&#039; — обновление времени доступа включено (его можно отключить для ускорения).&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для SSD и NVMe ==&lt;br /&gt;
&lt;br /&gt;
Откройте файл &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; и найдите строку, где монтируется корневой раздел (обычно «/»).  &lt;br /&gt;
Рекомендуемая конфигурация для SSD или NVMe выглядит так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,ssd,space_cache=v2,discard=async,compress=zstd:5,autodefrag&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Что делает каждая опция:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — отключает запись времени последнего доступа к файлам. Это уменьшает количество операций записи и продлевает срок службы SSD.  &lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — включает оптимизацию алгоритмов ввода-вывода под твердотельные накопители.  &lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — более современная и быстрая система учёта свободного пространства.  &lt;br /&gt;
* &#039;&#039;&#039;discard=async&#039;&#039;&#039; — включает асинхронный TRIM, который очищает неиспользуемые блоки без потерь производительности.  &lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:5&#039;&#039;&#039; — сжимает данные на лету. Число «5» определяет баланс между скоростью и степенью сжатия.  &lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — автоматически дефрагментирует часто изменяемые файлы (журналы, базы данных, кеши).&lt;br /&gt;
&lt;br /&gt;
После редактирования сохраните файл и перезагрузите систему.&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для HDD ==&lt;br /&gt;
&lt;br /&gt;
Для обычных жёстких дисков лучше подходят другие настройки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,space_cache=v2,compress=zstd:3,autodefrag,commit=60&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Объяснение:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — уменьшает количество операций записи.  &lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:3&#039;&#039;&#039; — слабее сжатие, зато быстрее на медленных дисках.  &lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — помогает бороться с фрагментацией.  &lt;br /&gt;
* &#039;&#039;&#039;commit=60&#039;&#039;&#039; — записывает изменения на диск каждые 60 секунд, уменьшая нагрузку на головки HDD.&lt;br /&gt;
&lt;br /&gt;
== Проверка включённого сжатия ==&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что сжатие действительно активно, выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs property get / compression&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в выводе отображается строка вроде:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
compression=zstd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— значит сжатие включено.&lt;br /&gt;
&lt;br /&gt;
== Принудительное сжатие уже существующих файлов ==&lt;br /&gt;
&lt;br /&gt;
Если система установлена давно, старые файлы могли быть записаны без сжатия.  &lt;br /&gt;
Можно «сжать» их заново:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem defragment -r -v -czstd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разбор параметров:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-r&#039;&#039;&#039; — обрабатывать рекурсивно (все вложенные каталоги);  &lt;br /&gt;
* &#039;&#039;&#039;-v&#039;&#039;&#039; — выводить процесс выполнения;  &lt;br /&gt;
* &#039;&#039;&#039;-c zstd&#039;&#039;&#039; — применить алгоритм сжатия zstd.&lt;br /&gt;
&lt;br /&gt;
== Настройка TRIM ==&lt;br /&gt;
&lt;br /&gt;
TRIM сообщает SSD, какие блоки можно освободить.  &lt;br /&gt;
Чтобы система делала это автоматически, включите таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверить состояние таймера можно командой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl status fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TRIM помогает поддерживать скорость записи и продлевает жизнь накопителю.&lt;br /&gt;
&lt;br /&gt;
== Балансировка Btrfs ==&lt;br /&gt;
&lt;br /&gt;
Btrfs хранит данные блоками (чанками). Со временем часть блоков может заполниться неравномерно, и это снижает скорость работы.  &lt;br /&gt;
Чтобы перераспределить данные, используется команда балансировки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расшифровка:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-dusage=50&#039;&#039;&#039; — перераспределить только те блоки данных, что заполнены менее чем на 50 %;  &lt;br /&gt;
* &#039;&#039;&#039;-musage=50&#039;&#039;&#039; — то же самое для метаданных;  &lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — путь к корневому подтома.&lt;br /&gt;
&lt;br /&gt;
Балансировку стоит запускать примерно раз в 1–2 месяца.&lt;br /&gt;
&lt;br /&gt;
== Проверка использования диска ==&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать, как используется место, введите:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда показывает, сколько места занято данными, метаданными и системной информацией.  &lt;br /&gt;
Полезна для оценки того, нужна ли балансировка.&lt;br /&gt;
&lt;br /&gt;
== btrfs-assistant ==&lt;br /&gt;
&lt;br /&gt;
Это удобное графическое приложение для управления файловыми системами Btrfs.  &lt;br /&gt;
Оно позволяет выполнять большинство задач по оптимизации и обслуживанию без командной строки.&lt;br /&gt;
&lt;br /&gt;
=== Возможности ===&lt;br /&gt;
&lt;br /&gt;
* Просмотр подтомов (subvolumes) и их свойств.&lt;br /&gt;
* Управление снимками (создание, удаление, откат системы).&lt;br /&gt;
* Запуск проверки и балансировки разделов.&lt;br /&gt;
* Настройка сжатия и других параметров монтирования.&lt;br /&gt;
* Интеграция с Timeshift и Snapper (если они установлены).&lt;br /&gt;
&lt;br /&gt;
=== Установка ===&lt;br /&gt;
&lt;br /&gt;
В ROSA Linux и других дистрибутивах установить можно через DNF:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo dnf in btrfs-assistant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Использование ===&lt;br /&gt;
&lt;br /&gt;
После установки запустить утилиту можно через меню системы:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
btrfs-assistant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
или из терминала, если используется графическая среда.&lt;br /&gt;
&lt;br /&gt;
При запуске откроется главное окно, где отображаются все Btrfs-разделы и подтомы.  &lt;br /&gt;
Далее можно:&lt;br /&gt;
&lt;br /&gt;
* Создавать и удалять подтомы;&lt;br /&gt;
* Выполнять балансировку одним кликом;&lt;br /&gt;
* Настраивать автоматическое обслуживание (scrub и defrag);&lt;br /&gt;
* Создавать снимки вручную или планировать их по расписанию.&lt;br /&gt;
&lt;br /&gt;
=== Преимущества перед ручными командами ===&lt;br /&gt;
&lt;br /&gt;
* Безопасность — все операции проверяются перед применением.&lt;br /&gt;
* Простота — подходит даже тем, кто не знаком с командной строкой.&lt;br /&gt;
* Наглядность — состояние диска, свободное место и параметры видны в реальном времени.&lt;br /&gt;
&lt;br /&gt;
=== Пример сценария: ===&lt;br /&gt;
&lt;br /&gt;
# Откройте &#039;&#039;&#039;btrfs-assistant&#039;&#039;&#039;.&lt;br /&gt;
# Выберите раздел, например `/dev/sda2`.&lt;br /&gt;
# Нажмите &#039;&#039;&#039;&#039;&#039;Balance → Start&#039;&#039;&#039;&#039;&#039; для балансировки.&lt;br /&gt;
# При необходимости создайте снимок системы через &#039;&#039;&#039;&#039;&#039;Snapshots → Create&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
# Наблюдайте за выполнением операций прямо в окне программы.&lt;br /&gt;
&lt;br /&gt;
Таким образом, &#039;&#039;&#039;btrfs-assistant&#039;&#039;&#039; дополняет классические инструменты командной строки, упрощая настройку и оптимизацию системы для пользователей, которые предпочитают графический интерфейс.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Итоги&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
После выполнения оптимизации:&lt;br /&gt;
&lt;br /&gt;
* система работает быстрее, особенно при чтении и установке пакетов;&lt;br /&gt;
* SSD меньше изнашивается благодаря сокращению ненужных записей;&lt;br /&gt;
* файлы занимают меньше места за счёт сжатия;&lt;br /&gt;
* Btrfs становится более стабильной и отзывчивой.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Введение и разметка|← Назад: Введение и разметка]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Обслуживание|Вперёд: Обслуживание →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=%D0%A0%D1%83%D1%87%D0%BD%D0%B0%D1%8F_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%B0_NVIDIA&amp;diff=421</id>
		<title>Ручная установка драйвера NVIDIA</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=%D0%A0%D1%83%D1%87%D0%BD%D0%B0%D1%8F_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%B0_NVIDIA&amp;diff=421"/>
		<updated>2025-11-01T09:01:22Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данное руководство предназначено для тех случаев если вдруг по каким-либо причинам, [[Автоматический подбор и установка драйверов NVIDIA|kroko-cli]] не смог поставить требуемый для вашей системы драйвер, то это руководство для вас. Оно описывает, как установить или переустановить проприетарный драйвер NVIDIA вручную.&lt;br /&gt;
&lt;br /&gt;
== Подготовка ==&lt;br /&gt;
&lt;br /&gt;
1. Скачайте драйвер с официального сайта NVIDIA:  &lt;br /&gt;
   https://www.nvidia.com/Download/index.aspx&lt;br /&gt;
&lt;br /&gt;
2. Переместите установщик в корневой каталог:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mv NVIDIA-Linux-x86_64-550.78.run /root/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Переход в текстовый режим ==&lt;br /&gt;
&lt;br /&gt;
1. Перейдите в консоль:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Ctrl + Alt + F2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Войдите под суперпользователем:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ su -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Остановите дисплейный менеджер (в зависимости от окружения):&lt;br /&gt;
&amp;lt;pre&amp;gt;# systemctl stop gdm&amp;lt;/pre&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
&amp;lt;pre&amp;gt;# systemctl stop sddm&amp;lt;/pre&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
&amp;lt;pre&amp;gt;# systemctl stop lightdm&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Проверьте, что X-сервер действительно остановлен:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ps aux | grep X&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в выводе нет других процессов X, кроме вашей команды grep, значит графическая среда остановлена.&lt;br /&gt;
&lt;br /&gt;
== Установка драйвера ==&lt;br /&gt;
&lt;br /&gt;
1. Запустите установщик с поддержкой DKMS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# bash *550.78*.run --dkms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Флаг &#039;&#039;&#039;--dkms&#039;&#039;&#039; обязателен. Без него драйвер не будет автоматически пересобираться после обновления ядра.&lt;br /&gt;
&lt;br /&gt;
2. После завершения пересоздайте initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# initrams-regen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Перезагрузите компьютер:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После перезагрузки проверьте, что драйвер установлен:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nvidia-smi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если выводится таблица с вашей видеокартой, установка прошла успешно.&lt;br /&gt;
&lt;br /&gt;
== Переустановка или обновление драйвера ==&lt;br /&gt;
&lt;br /&gt;
1. Удалите старую версию драйвера:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf remove *nvidia*&lt;br /&gt;
или, если драйвер ставился вручную:&lt;br /&gt;
# nvidia-uninstall&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Скачайте новый файл .run и повторите установку:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# systemctl stop gdm (или sddm, lightdm)&lt;br /&gt;
# bash *version*.run --dkms&lt;br /&gt;
# initrams-regen&lt;br /&gt;
# reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Восстановление при сбое ==&lt;br /&gt;
&lt;br /&gt;
Если система не загружается после установки драйвера:&lt;br /&gt;
&lt;br /&gt;
1. Загрузитесь с Live-диска ROSA.&lt;br /&gt;
&lt;br /&gt;
2. Определите корневой раздел и смонтируйте его:&lt;br /&gt;
* Для btrfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;# mount -t btrfs -o subvol=@ /dev/sda2 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Для ext4:&lt;br /&gt;
&amp;lt;pre&amp;gt;# mount -t ext4 /dev/sda2 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Войдите в chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# for i in /dev /dev/pts /proc /sys /run; do mount --bind $i /mnt$i; done&lt;br /&gt;
# chroot /mnt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Удалите драйвер и пересоздайте initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# nvidia-uninstall&lt;br /&gt;
# initrams-regen&lt;br /&gt;
# update-grub2&lt;br /&gt;
# exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Перезагрузитесь.  &lt;br /&gt;
Система должна загрузиться с открытым драйвером Nouveau.&lt;br /&gt;
&lt;br /&gt;
== Создание и откат через Timeshift (для ext4 и btrfs) ==&lt;br /&gt;
&lt;br /&gt;
Перед установкой драйвера рекомендуется создать снимок системы с помощью Timeshift:&lt;br /&gt;
&amp;lt;pre&amp;gt;# timeshift --create --comments &amp;quot;Перед установкой NVIDIA&amp;quot; --tags D&amp;lt;/pre&amp;gt;&lt;br /&gt;
Проверим:&lt;br /&gt;
&amp;lt;pre&amp;gt;# timeshift --list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Откат (В случае неудачи) ==&lt;br /&gt;
&lt;br /&gt;
В случае проблем можно быстро вернуть систему в рабочее состояние с помощью отката.&lt;br /&gt;
&lt;br /&gt;
1. Загрузитесь с Live-диска ROSA, затем:&lt;br /&gt;
&amp;lt;pre&amp;gt;# timeshift --restore&amp;lt;/pre&amp;gt;&lt;br /&gt;
Следуйте инструкциям (выберите последний снимок и подтвердите восстановление).&lt;br /&gt;
&lt;br /&gt;
После восстановления выполните:&lt;br /&gt;
&amp;lt;pre&amp;gt;# update-grub2&lt;br /&gt;
$ reboot&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Важно ==&lt;br /&gt;
При использовании ext4 Timeshift делает полную копию файлов, поэтому снимки занимают больше места.&lt;br /&gt;
Убедитесь, что на разделе достаточно свободного пространства (не менее 3–5 ГБ).&lt;br /&gt;
&lt;br /&gt;
== Полезные советы ==&lt;br /&gt;
Перед установкой любого проприетарного драйвера всегда создавайте снимок Timeshift.&lt;br /&gt;
&lt;br /&gt;
Если обновляете ядро, не забывайте проверять, что модуль DKMS пересобрался:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# dkms status&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=%D0%A0%D1%83%D1%87%D0%BD%D0%B0%D1%8F_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%B0_NVIDIA&amp;diff=420</id>
		<title>Ручная установка драйвера NVIDIA</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=%D0%A0%D1%83%D1%87%D0%BD%D0%B0%D1%8F_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%B0_NVIDIA&amp;diff=420"/>
		<updated>2025-11-01T08:48:03Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данное руководство описывает, как установить или переустановить проприетарный драйвер NVIDIA вручную — безопасно и без риска повредить систему или графическую оболочку.&lt;br /&gt;
&lt;br /&gt;
== Подготовка ==&lt;br /&gt;
&lt;br /&gt;
1. Скачайте драйвер с официального сайта NVIDIA:  &lt;br /&gt;
   https://www.nvidia.com/Download/index.aspx&lt;br /&gt;
&lt;br /&gt;
2. Переименуйте файл для удобства:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv NVIDIA-Linux-x86_64-550.78.run bla.run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Переместите установщик в корневой каталог:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mv bla.run /root/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Переход в текстовый режим ==&lt;br /&gt;
&lt;br /&gt;
1. Перейдите в консоль:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Ctrl + Alt + F2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Войдите под суперпользователем:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ su -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Остановите дисплейный менеджер (в зависимости от окружения):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# systemctl stop gdm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Проверьте, что X-сервер действительно остановлен:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ps aux | grep X&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в выводе нет других процессов X, кроме вашей команды grep, значит графическая среда остановлена.&lt;br /&gt;
&lt;br /&gt;
== Установка драйвера ==&lt;br /&gt;
&lt;br /&gt;
1. Запустите установщик с поддержкой DKMS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# bash bla.run --dkms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Флаг &#039;&#039;&#039;--dkms&#039;&#039;&#039; обязателен. Без него драйвер не будет автоматически пересобираться после обновления ядра.&lt;br /&gt;
&lt;br /&gt;
2. После завершения пересоздайте initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# initrams-regen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Перезагрузите компьютер:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После перезагрузки проверьте, что драйвер установлен:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nvidia-smi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если выводится таблица с вашей видеокартой, установка прошла успешно.&lt;br /&gt;
&lt;br /&gt;
== Переустановка или обновление драйвера ==&lt;br /&gt;
&lt;br /&gt;
1. Удалите старую версию драйвера:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf remove *nvidia*&lt;br /&gt;
или, если драйвер ставился вручную:&lt;br /&gt;
# nvidia-uninstall&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Скачайте новый файл .run и повторите установку:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# systemctl stop gdm&lt;br /&gt;
# bash bla.run --dkms&lt;br /&gt;
# initrams-regen&lt;br /&gt;
# reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Восстановление при сбое ==&lt;br /&gt;
&lt;br /&gt;
Если система не загружается после установки драйвера:&lt;br /&gt;
&lt;br /&gt;
1. Загрузитесь с Live-диска ROSA.&lt;br /&gt;
&lt;br /&gt;
2. Определите корневой раздел и смонтируйте его:&lt;br /&gt;
* Для btrfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;# mount -t btrfs -o subvol=@ /dev/sda2 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Для ext4:&lt;br /&gt;
&amp;lt;pre&amp;gt;# mount -t ext4 /dev/sda2 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Войдите в chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# for i in /dev /dev/pts /proc /sys /run; do mount --bind $i /mnt$i; done&lt;br /&gt;
# chroot /mnt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Удалите драйвер и пересоздайте initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# nvidia-uninstall&lt;br /&gt;
# initrams-regen&lt;br /&gt;
# update-grub2&lt;br /&gt;
# exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Перезагрузитесь.  &lt;br /&gt;
Система должна загрузиться с открытым драйвером Nouveau.&lt;br /&gt;
&lt;br /&gt;
== Создание и откат через Timeshift (для ext4 и btrfs) ==&lt;br /&gt;
&lt;br /&gt;
Перед установкой драйвера рекомендуется создать снимок системы с помощью Timeshift:&lt;br /&gt;
&amp;lt;pre&amp;gt;# timeshift --create --comments &amp;quot;Перед установкой NVIDIA&amp;quot; --tags D&amp;lt;/pre&amp;gt;&lt;br /&gt;
Проверим:&lt;br /&gt;
&amp;lt;pre&amp;gt;# timeshift --list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Откат (В случае неудачи) ==&lt;br /&gt;
&lt;br /&gt;
В случае проблем можно быстро вернуть систему в рабочее состояние с помощью отката.&lt;br /&gt;
&lt;br /&gt;
1. Загрузитесь с Live-диска ROSA, затем:&lt;br /&gt;
&amp;lt;pre&amp;gt;# timeshift --restore&amp;lt;/pre&amp;gt;&lt;br /&gt;
Следуйте инструкциям (выберите последний снимок и подтвердите восстановление).&lt;br /&gt;
&lt;br /&gt;
После восстановления выполните:&lt;br /&gt;
&amp;lt;pre&amp;gt;# update-grub2&lt;br /&gt;
$ reboot&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Важно ==&lt;br /&gt;
При использовании ext4 Timeshift делает полную копию файлов, поэтому снимки занимают больше места.&lt;br /&gt;
Убедитесь, что на разделе достаточно свободного пространства (не менее 3–5 ГБ).&lt;br /&gt;
&lt;br /&gt;
== Полезные советы ==&lt;br /&gt;
Перед установкой любого проприетарного драйвера всегда создавайте снимок Timeshift.&lt;br /&gt;
&lt;br /&gt;
Если обновляете ядро, не забывайте проверять, что модуль DKMS пересобрался:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# dkms status&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BF%D0%BE%D0%B4%D0%B1%D0%BE%D1%80_%D0%B8_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%BE%D0%B2_NVIDIA&amp;diff=419</id>
		<title>Автоматический подбор и установка драйверов NVIDIA</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BF%D0%BE%D0%B4%D0%B1%D0%BE%D1%80_%D0%B8_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%BE%D0%B2_NVIDIA&amp;diff=419"/>
		<updated>2025-11-01T08:45:49Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
⚠️ &#039;&#039;&#039;Эта статья находится в разработке.&#039;&#039;&#039; Содержание может измениться в ближайшее время.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;kroko-cli&#039;&#039;&#039; — это консольная утилита ROSA Linux, которая помогает автоматически находить видеокарты NVIDIA, определять подходящий драйвер и устанавливать его в систему без лишних действий пользователя.&lt;br /&gt;
&lt;br /&gt;
Утилита особенно полезна после установки системы, когда изображение может работать на базовом драйвере &#039;&#039;nouveau&#039;&#039;, но требуется установка проприетарного драйвера для ускорения графики и игр.&lt;br /&gt;
&lt;br /&gt;
== Назначение ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;kroko-cli&#039;&#039; предназначен для:&lt;br /&gt;
&lt;br /&gt;
* автоматического поиска видеокарт NVIDIA в системе;&lt;br /&gt;
* подбора подходящего проприетарного драйвера;&lt;br /&gt;
* установки и настройки драйвера без ручного выбора пакетов;&lt;br /&gt;
* устранения проблем совместимости между версиями драйверов и ядра.&lt;br /&gt;
&lt;br /&gt;
== Основные команды ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%; text-align:left;&amp;quot;&lt;br /&gt;
! Команда !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;get-gpus&#039;&#039;&#039; || Показывает найденные видеокарты NVIDIA и текущие драйверы.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;best-driver&#039;&#039;&#039; || Определяет, какой драйвер наиболее подходит вашей видеокарте.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;autoinstall&#039;&#039;&#039; || Выполняет автоматическую установку рекомендованного драйвера. Требует root-права.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;help&#039;&#039;&#039; || Отображает справку и список доступных команд.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Примеры использования ==&lt;br /&gt;
&lt;br /&gt;
=== Проверка обнаруженных GPU ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kroko-cli get-gpus&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вывод может выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82]&lt;br /&gt;
 → Рекомендованный драйвер: nvidia535&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это означает, что утилита нашла видеокарту и подобрала оптимальный драйвер — в данном случае &#039;&#039;nvidia535&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Узнать лучший драйвер для текущего оборудования ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kroko-cli best-driver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример вывода:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Найден GPU: GeForce GTX 1050 Ti&lt;br /&gt;
Подходящий драйвер: nvidia535&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Установка подходящего драйвера ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo kroko-cli autoinstall&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример работы:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Проверка системы...&lt;br /&gt;
Поиск доступных драйверов NVIDIA...&lt;br /&gt;
Найден драйвер: nvidia535&lt;br /&gt;
Устанавливаем драйвер...&lt;br /&gt;
Обновление конфигурации системы...&lt;br /&gt;
Успешно установлено. Рекомендуется перезагрузить систему.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После перезагрузки система автоматически загрузится с новым драйвером NVIDIA.&lt;br /&gt;
&lt;br /&gt;
=== Просмотр справки ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kroko-cli help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выводит список команд и краткое описание каждой.&lt;br /&gt;
&lt;br /&gt;
== Типичные сценарии использования ==&lt;br /&gt;
&lt;br /&gt;
* После установки ROSA Linux, если изображение работает в низком разрешении или отсутствует 3D-ускорение.&lt;br /&gt;
* При обновлении системы, если старый драйвер стал несовместим с новым ядром.&lt;br /&gt;
* На ноутбуках с гибридной графикой (Intel + NVIDIA), чтобы активировать дискретный GPU.&lt;br /&gt;
* При сборке OEM-образов или установке на новые устройства — для автоматической настройки графики без ручного вмешательства.&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
&lt;br /&gt;
* Утилита входит в состав ROSA Linux начиная с версии &#039;&#039;&#039;R12.5&#039;&#039;&#039;.&lt;br /&gt;
* Требуются права администратора для установки драйвера (команда с &#039;&#039;&#039;sudo&#039;&#039;&#039;).&lt;br /&gt;
* Безопасна в использовании: не изменяет систему, если драйвер подобрать не удалось.&lt;br /&gt;
* Поддерживает локальные зеркала и офлайн-репозитории.&lt;br /&gt;
&lt;br /&gt;
== Пример типичного процесса ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ kroko-cli get-gpus&lt;br /&gt;
Найдено устройство: NVIDIA GeForce GTX 1060 (10de:1c03)&lt;br /&gt;
 → Рекомендованный драйвер: nvidia535&lt;br /&gt;
&lt;br /&gt;
$ sudo auto-krokodil-cli autoinstall&lt;br /&gt;
→ Установка драйвера nvidia535...&lt;br /&gt;
→ Обновление конфигурации initramfs...&lt;br /&gt;
→ Готово! Перезагрузите компьютер.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После этого система перезапускается, и проприетарный драйвер NVIDIA активируется автоматически.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
&lt;br /&gt;
* [[Ручная установка драйвера NVIDIA]]&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BF%D0%BE%D0%B4%D0%B1%D0%BE%D1%80_%D0%B8_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%BE%D0%B2_NVIDIA&amp;diff=418</id>
		<title>Автоматический подбор и установка драйверов NVIDIA</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BF%D0%BE%D0%B4%D0%B1%D0%BE%D1%80_%D0%B8_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%BE%D0%B2_NVIDIA&amp;diff=418"/>
		<updated>2025-11-01T08:10:07Z</updated>

		<summary type="html">&lt;p&gt;Braumann: Новая страница: «&amp;#039;&amp;#039;&amp;#039;auto-krokodil-cli&amp;#039;&amp;#039;&amp;#039; — это консольная утилита ROSA Linux, которая помогает автоматически находить видеокарты NVIDIA, определять подходящий драйвер и устанавливать его в систему без лишних действий пользователя.  Утилита особенно полезна после установки системы, ко...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;auto-krokodil-cli&#039;&#039;&#039; — это консольная утилита ROSA Linux, которая помогает автоматически находить видеокарты NVIDIA, определять подходящий драйвер и устанавливать его в систему без лишних действий пользователя.&lt;br /&gt;
&lt;br /&gt;
Утилита особенно полезна после установки системы, когда изображение может работать на базовом драйвере &#039;&#039;nouveau&#039;&#039;, но требуется установка проприетарного драйвера для ускорения графики и игр.&lt;br /&gt;
&lt;br /&gt;
== Назначение ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;auto-krokodil-cli&#039;&#039; предназначен для:&lt;br /&gt;
&lt;br /&gt;
* автоматического поиска видеокарт NVIDIA в системе;&lt;br /&gt;
* подбора подходящего проприетарного драйвера;&lt;br /&gt;
* установки и настройки драйвера без ручного выбора пакетов;&lt;br /&gt;
* устранения проблем совместимости между версиями драйверов и ядра.&lt;br /&gt;
&lt;br /&gt;
== Основные команды ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%; text-align:left;&amp;quot;&lt;br /&gt;
! Команда !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;get-gpus&#039;&#039;&#039; || Показывает найденные видеокарты NVIDIA и текущие драйверы.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;best-driver&#039;&#039;&#039; || Определяет, какой драйвер наиболее подходит вашей видеокарте.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;autoinstall&#039;&#039;&#039; || Выполняет автоматическую установку рекомендованного драйвера. Требует root-права.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;help&#039;&#039;&#039; || Отображает справку и список доступных команд.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Примеры использования ==&lt;br /&gt;
&lt;br /&gt;
=== Проверка обнаруженных GPU ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto-krokodil-cli get-gpus&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вывод может выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82]&lt;br /&gt;
 → Рекомендованный драйвер: nvidia535&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это означает, что утилита нашла видеокарту и подобрала оптимальный драйвер — в данном случае &#039;&#039;nvidia535&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Узнать лучший драйвер для текущего оборудования ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto-krokodil-cli best-driver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример вывода:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Найден GPU: GeForce GTX 1050 Ti&lt;br /&gt;
Подходящий драйвер: nvidia535&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Установка подходящего драйвера ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo auto-krokodil-cli autoinstall&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример работы:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Проверка системы...&lt;br /&gt;
Поиск доступных драйверов NVIDIA...&lt;br /&gt;
Найден драйвер: nvidia535&lt;br /&gt;
Устанавливаем драйвер...&lt;br /&gt;
Обновление конфигурации системы...&lt;br /&gt;
Успешно установлено. Рекомендуется перезагрузить систему.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После перезагрузки система автоматически загрузится с новым драйвером NVIDIA.&lt;br /&gt;
&lt;br /&gt;
=== Просмотр справки ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto-krokodil-cli help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выводит список команд и краткое описание каждой.&lt;br /&gt;
&lt;br /&gt;
== Типичные сценарии использования ==&lt;br /&gt;
&lt;br /&gt;
* После установки ROSA Linux, если изображение работает в низком разрешении или отсутствует 3D-ускорение.&lt;br /&gt;
* При обновлении системы, если старый драйвер стал несовместим с новым ядром.&lt;br /&gt;
* На ноутбуках с гибридной графикой (Intel + NVIDIA), чтобы активировать дискретный GPU.&lt;br /&gt;
* При сборке OEM-образов или установке на новые устройства — для автоматической настройки графики без ручного вмешательства.&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
&lt;br /&gt;
* Утилита входит в состав ROSA Linux начиная с версии &#039;&#039;&#039;R12.5&#039;&#039;&#039;.&lt;br /&gt;
* Требуются права администратора для установки драйвера (команда с &#039;&#039;&#039;sudo&#039;&#039;&#039;).&lt;br /&gt;
* Безопасна в использовании: не изменяет систему, если драйвер подобрать не удалось.&lt;br /&gt;
* Поддерживает локальные зеркала и офлайн-репозитории.&lt;br /&gt;
&lt;br /&gt;
== Пример типичного процесса ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ auto-krokodil-cli get-gpus&lt;br /&gt;
Найдено устройство: NVIDIA GeForce GTX 1060 (10de:1c03)&lt;br /&gt;
 → Рекомендованный драйвер: nvidia535&lt;br /&gt;
&lt;br /&gt;
$ sudo auto-krokodil-cli autoinstall&lt;br /&gt;
→ Установка драйвера nvidia535...&lt;br /&gt;
→ Обновление конфигурации initramfs...&lt;br /&gt;
→ Готово! Перезагрузите компьютер.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После этого система перезапускается, и проприетарный драйвер NVIDIA активируется автоматически.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
&lt;br /&gt;
* [[Ручная установка драйвера NVIDIA]]&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=417</id>
		<title>BTRFS/Введение и разметка</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=417"/>
		<updated>2025-10-31T02:18:02Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Btrfs (произносится как &amp;quot;би-ти-эф-эс&amp;quot; от B-Tree FS) — это современная файловая система Linux, которая умеет не только хранить файлы, но и &#039;&#039;&#039;самостоятельно защищать их от ошибок&#039;&#039;&#039;, &#039;&#039;&#039;сжимать данные&#039;&#039;&#039;, &#039;&#039;&#039;создавать снимки системы&#039;&#039;&#039; и &#039;&#039;&#039;управлять несколькими дисками как одним&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Если вы раньше пользовались Windows, то можно сказать, что Btrfs — это &amp;quot;умный аналог NTFS&amp;quot;, только с функциями, которые в Windows реализованы отдельными утилитами (вроде восстановления системы, сжатия дисков и проверки ошибок).&lt;br /&gt;
&lt;br /&gt;
== Что делает Btrfs особенной ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Копирование при записи (Copy-on-Write)&#039;&#039;&#039; — данные не перезаписываются “поверх”, а записываются в новое место. Это защищает от потери данных при сбоях.&lt;br /&gt;
* &#039;&#039;&#039;Снимки (snapshots)&#039;&#039;&#039; — можно “заморозить” состояние системы и вернуться к нему позже (аналог точек восстановления Windows).&lt;br /&gt;
* &#039;&#039;&#039;Сжатие файлов на лету&#039;&#039;&#039; — экономит место и ускоряет работу на SSD.&lt;br /&gt;
* &#039;&#039;&#039;Проверка целостности&#039;&#039;&#039; — Btrfs хранит контрольные суммы и может выявить повреждения.&lt;br /&gt;
* &#039;&#039;&#039;Гибкость в управлении разделами&#039;&#039;&#039; — легко добавлять или удалять диски, расширять файловую систему.&lt;br /&gt;
&lt;br /&gt;
== Создание файловой системы Btrfs ==&lt;br /&gt;
&lt;br /&gt;
Требуется &amp;quot;отформатировать&amp;quot; раздел, чтобы он стал файловой системой Btrfs:&lt;br /&gt;
&lt;br /&gt;
    # mkfs.btrfs -L ROSA /dev/sda2&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;mkfs.btrfs&#039;&#039;&#039; — создаёт файловую систему Btrfs;&lt;br /&gt;
* &#039;&#039;&#039;-L ROSA&#039;&#039;&#039; — задаёт метку (название), чтобы её было легче узнавать;&lt;br /&gt;
* &#039;&#039;&#039;/dev/sda2&#039;&#039;&#039; — это тот раздел, на который вы ставите систему.&lt;br /&gt;
&lt;br /&gt;
После этого раздел готов к использованию.&lt;br /&gt;
&lt;br /&gt;
== Создание подтомов (subvolumes) ==&lt;br /&gt;
&lt;br /&gt;
Подтомы в Btrfs — это как отдельные &amp;quot;папки-микросистемы&amp;quot;.  &lt;br /&gt;
Например, один подтом для системы, другой — для пользователей.  &lt;br /&gt;
Они позволяют делать снимки системы без затрагивания личных файлов.&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Смонтируйте новый раздел:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo mount /dev/sda2 /mnt&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Создайте подтомы:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs subvolume create /mnt/@&lt;br /&gt;
   sudo btrfs subvolume create /mnt/@home&lt;br /&gt;
&lt;br /&gt;
Теперь у вас есть два логических подтома:&lt;br /&gt;
* &#039;&#039;&#039;@&#039;&#039;&#039; — основной корень системы &#039;&#039;&#039;(/)&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;@home&#039;&#039;&#039; — личные файлы пользователей.&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Отмонтируйте:&#039;&#039;&#039;&lt;br /&gt;
   &lt;br /&gt;
    sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
== Монтирование подтомов (fstab) ==&lt;br /&gt;
&lt;br /&gt;
Чтобы система знала, какие подтомы подключать при загрузке, их нужно описать в файле &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
Пример строки:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    UUID=xxxx-xxxx / btrfs subvol=@,defaults,noatime,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
    UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,noatime,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Объяснение:&lt;br /&gt;
* &#039;&#039;&#039;UUID&#039;&#039;&#039; — уникальный номер раздела (можно узнать через &#039;&#039;&#039;blkid&#039;&#039;&#039;);&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; - точка монтирования &lt;br /&gt;
* &#039;&#039;&#039;btrfs&#039;&#039;&#039; — указывает тип файловой системы;&lt;br /&gt;
* &#039;&#039;&#039;subvol=@&#039;&#039;&#039; — подключаем подтом с названием &#039;&#039;&#039;@&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — отключает запись времени последнего обращения к файлам (ускоряет работу);&lt;br /&gt;
* &#039;&#039;&#039;compress=zstd&#039;&#039;&#039; — включает сжатие данных;&lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — ускоряет работу с пространством на диске.&lt;br /&gt;
&lt;br /&gt;
== Проверка результата ==&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Посмотреть список подтомов:&#039;&#039;&#039;&lt;br /&gt;
   &lt;br /&gt;
    sudo btrfs subvolume list /&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Проверить использование места:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs filesystem df /&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Посмотреть общую информацию:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs filesystem show&lt;br /&gt;
&lt;br /&gt;
Если всё сделано правильно — вы увидите свои подтомы, и система будет работать через Btrfs.&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Btrfs&#039;&#039;&#039; — это гибкая и надёжная файловая система, которая подходит как новичкам, так и администраторам.  &lt;br /&gt;
Она сочетает функции нескольких инструментов Windows в одном:&lt;br /&gt;
* вместо “точек восстановления” — снимки;&lt;br /&gt;
* вместо “очистки диска” — встроенная дефрагментация и балансировка;&lt;br /&gt;
* вместо “дисковых проверок” — автоматическая проверка целостности данных.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=416</id>
		<title>BTRFS/Автоматизация обслуживания</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=416"/>
		<updated>2025-10-30T17:48:04Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Если вы уже знаете, как проверять и обслуживать систему &#039;&#039;&#039;Btrfs&#039;&#039;&#039; вручную, то следующий логичный шаг — сделать это автоматически.  &lt;br /&gt;
Linux умеет выполнять задания сам, по расписанию, и всё, что нужно — один небольшой скрипт и два конфигурационных файла.&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Автоматизация обслуживания&#039;&#039;&#039; =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Автоматизация&#039;&#039;&#039; — это когда система сама:&lt;br /&gt;
* проверяет файловую систему (scrub),&lt;br /&gt;
* балансирует данные (balance),&lt;br /&gt;
* очищает свободное место на SSD (fstrim).&lt;br /&gt;
&lt;br /&gt;
Пользователю больше не нужно помнить о ежемесячном обслуживании — всё выполняется в фоне, без вмешательства.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Подготовка скрипта обслуживания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Создадим простой скрипт, который выполняет три базовые команды для ухода за Btrfs.&lt;br /&gt;
&lt;br /&gt;
Откройте терминал и создайте файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вставьте туда следующий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Еженедельное обслуживание Btrfs&lt;br /&gt;
btrfs scrub start -Bd /&lt;br /&gt;
btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
fstrim -av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраните файл и сделайте его исполняемым:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;#!/bin/bash&#039;&#039;&#039;&amp;lt;/code&amp;gt; — сообщает системе, что это скрипт Bash.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;btrfs scrub start -Bd /&#039;&#039;&#039;&amp;lt;/code&amp;gt; — проверяет целостность данных.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;btrfs balance start -dusage=50 -musage=50 /&#039;&#039;&#039;&amp;lt;/code&amp;gt; — перераспределяет данные и метаданные.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;fstrim -av&#039;&#039;&#039;&amp;lt;/code&amp;gt; — очищает неиспользуемые блоки SSD (аналог TRIM).&lt;br /&gt;
&lt;br /&gt;
Теперь у нас есть готовый инструмент обслуживания.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание systemd-сервиса&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы Linux понимал, как запускать наш скрипт, нужно создать сервис.&lt;br /&gt;
&lt;br /&gt;
Создайте файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавьте в него:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Еженедельное обслуживание Btrfs&lt;br /&gt;
Documentation=man:btrfs(8)&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Что это значит:&lt;br /&gt;
* `[Unit]` — описание задачи, которое видит systemd.&lt;br /&gt;
* `[Service]` — сам сервис.  &lt;br /&gt;
  Тип `oneshot` означает, что команда запускается один раз и завершается.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание таймера systemd&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Теперь создадим &amp;quot;будильник&amp;quot;, который будет запускать сервис каждую неделю.&lt;br /&gt;
&lt;br /&gt;
Откройте новый файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вставьте туда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Таймер для еженедельного обслуживания Btrfs&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Объяснение параметров:&lt;br /&gt;
* `OnCalendar=weekly` — запускать каждую неделю (по умолчанию — по понедельникам).&lt;br /&gt;
* `Persistent=true` — если компьютер был выключен в момент запуска, задание выполнится при следующем включении.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Активация таймера&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Включаем наш таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь система будет автоматически запускать обслуживание каждую неделю.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что всё работает, выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl list-timers | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вы увидите строчку примерно такую:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
btrfs-maintain.timer  loaded active waiting  Mon 2025-11-03 00:00:00 MSK  Mon 2025-10-27 00:00:00 MSK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит, что всё настроено, и таймер запланирован.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка работы вручную&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Вы можете запустить обслуживание вручную, не дожидаясь таймера:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl start btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После завершения команд можно просмотреть журнал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo journalctl -u btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Отключение или изменение расписания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если вы хотите изменить расписание, откройте файл `/etc/systemd/system/btrfs-maintain.timer` и замените строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
на, например:&lt;br /&gt;
&lt;br /&gt;
* `OnCalendar=daily` — ежедневно;  &lt;br /&gt;
* `OnCalendar=monthly` — раз в месяц;  &lt;br /&gt;
* `OnCalendar=Sun 03:00` — каждое воскресенье в 3 утра.&lt;br /&gt;
&lt;br /&gt;
После редактирования перезапустите таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl restart btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Альтернатива: cron (для старых систем&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если по какой-то причине systemd-таймеры недоступны, можно использовать старый способ — cron.&lt;br /&gt;
&lt;br /&gt;
Создайте задачу:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo crontab -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавьте строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@weekly /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это даст тот же эффект, но без systemd.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка результата&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Через неделю можно посмотреть, как прошла последняя операция scrub:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub status /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если видите &amp;quot;no errors found&amp;quot;, всё отлично — автоматическое обслуживание работает.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Теперь ваша система &#039;&#039;&#039;Btrfs&#039;&#039;&#039; полностью автономна: она сама следит за своим здоровьем, проверяет и очищает диск, не требуя вашего участия.  &lt;br /&gt;
Такое решение особенно полезно для ноутбуков и рабочих станций, которые часто остаются включёнными на ночь.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=415</id>
		<title>BTRFS/Обслуживание</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=415"/>
		<updated>2025-10-30T17:47:43Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Оптимизация|← Назад: Оптимизация]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Автоматизация обслуживания|Вперёд: Автоматизация обслуживания →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Файловая система &#039;&#039;&#039;Btrfs&#039;&#039;&#039; может сама проверять свои данные, исправлять ошибки и сохранять стабильность, если ей немного помочь.  &lt;br /&gt;
Этот раздел рассказывает, как выполнять обслуживание — без риска и без “танцев с бубном”.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Зачем нужно обслуживание Btrfs&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Btrfs — &amp;quot;живая&amp;quot; файловая система: она отслеживает состояние своих блоков, умеет восстанавливаться при ошибках, но требует периодического ухода.  &lt;br /&gt;
Это как проверка автомобиля — если время от времени не заглядывать под капот, можно пропустить мелкую проблему, которая потом вырастет в серьёзную.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка состояния устройств&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Для начала стоит посмотреть, всё ли хорошо с диском и нет ли ошибок ввода-вывода.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs device stats /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда выводит статистику по каждому устройству, участвующему в Btrfs.  &lt;br /&gt;
Если вы видите только нули — всё отлично. Если появляются ошибки чтения или записи, их нужно исследовать глубже (например, проверить SMART с помощью `smartctl`).&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка и восстановление данных (scrub)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Scrub&amp;quot; в Btrfs — это полная проверка данных на диске с исправлением обнаруженных несоответствий.  &lt;br /&gt;
Она проверяет контрольные суммы и, при возможности, восстанавливает повреждённые блоки.&lt;br /&gt;
&lt;br /&gt;
Чтобы запустить scrub вручную:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub start -Bd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расшифровка:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;start&#039;&#039;&#039; — запустить проверку;&lt;br /&gt;
* &#039;&#039;&#039;-B&#039;&#039;&#039; — выполнить в блокирующем режиме (ждать завершения);&lt;br /&gt;
* &#039;&#039;&#039;-d&#039;&#039;&#039; — показать детальный отчёт по каждой ошибке;&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — путь к корневому разделу, который проверяем.&lt;br /&gt;
&lt;br /&gt;
Проверка может занять от нескольких минут до часа, в зависимости от объёма данных и скорости диска.&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать прогресс во время выполнения, можно выполнить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub status /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Балансировка пространства&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Со временем распределение данных на Btrfs может стать неравномерным. Это снижает эффективность и может приводить к ошибкам “недостаточно места”, даже если место есть.  &lt;br /&gt;
Для исправления этого используется балансировка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-dusage=50&#039;&#039;&#039; — перераспределить только те блоки данных, что заняты менее чем на 50%;  &lt;br /&gt;
* &#039;&#039;&#039;-musage=50&#039;&#039;&#039; — аналогично, но для метаданных;  &lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — корневой подтом (можно указать другой путь).&lt;br /&gt;
&lt;br /&gt;
Эта операция безопасна и не требует перезагрузки. Выполнять её достаточно раз в пару месяцев.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Удаление старых снимков (snapshots)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Снимки Btrfs — отличная вещь, но они занимают место.  &lt;br /&gt;
Если вы используете, например, Timeshift, то старые снимки можно удалить вручную:&lt;br /&gt;
&lt;br /&gt;
Сначала посмотрите список подтомов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs subvolume list /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Найдите ненужный снимок (обычно что-то вроде `.snapshots/2024-10-10_18-00-00/snapshot`) и удалите его:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs subvolume delete /.snapshots/2024-10-10_18-00-00/snapshot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После удаления освободившееся место можно вернуть в систему командой балансировки.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка использования места&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать, как используется пространство на диске, введите:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда показывает, сколько места занято данными, метаданными и резервами.  &lt;br /&gt;
Если метаданные занимают больше 20–30 % — это сигнал, что стоит выполнить балансировку.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка общего состояния файловой системы&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Для быстрой проверки без исправления можно использовать:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs check --readonly /dev/sda2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта команда выполняет &amp;quot;сухую&amp;quot; проверку, не изменяя данные.  &lt;br /&gt;
Используйте её, если хотите убедиться, что файловая система в порядке, но не готовы вносить правки.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Важно:&#039;&#039;&#039; если вы хотите исправить ошибки, не используйте `--readonly`, но только в режиме Live-системы, чтобы диск не был смонтирован.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Практические советы&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Запускайте scrub примерно раз в месяц. Это помогает находить ошибки до того, как они станут проблемой.  &lt;br /&gt;
* Балансировку можно делать раз в 2–3 месяца.  &lt;br /&gt;
* Проверку `btrfs check` стоит проводить только при подозрении на сбои или после аварийного выключения.  &lt;br /&gt;
* Не злоупотребляйте “полной” балансировкой — это тяжёлая операция, лучше ограничиваться параметрами `-dusage` и `-musage`.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Ежемесячное обслуживание (вручную)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если вы не хотите автоматизировать процессы (об этом — в следующей статье), можно просто выполнять три команды вручную:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub start -Bd /&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
sudo fstrim -av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;scrub&#039;&#039;&#039; проверяет целостность файлов;  &lt;br /&gt;
* &#039;&#039;&#039;balance&#039;&#039;&#039; распределяет данные;  &lt;br /&gt;
* &#039;&#039;&#039;fstrim&#039;&#039;&#039; очищает неиспользуемые блоки на SSD/NVMe.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Регулярное обслуживание Btrfs похоже на плановое ТО автомобиля — вы тратите немного времени, но сохраняете стабильность и производительность.  &lt;br /&gt;
После нескольких таких циклов вы заметите, что система остаётся “лёгкой” даже после месяцев активного использования.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Оптимизация|← Назад: Оптимизация]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Автоматизация обслуживания|Вперёд: Автоматизация обслуживания →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=414</id>
		<title>BTRFS/Оптимизация</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=414"/>
		<updated>2025-10-30T17:47:22Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Введение и разметка|← Назад: Введение и разметка]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Обслуживание|Вперёд: Обслуживание →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
После установки ROSA Linux на файловую систему &#039;&#039;&#039;Btrfs&#039;&#039;&#039; можно немного “прикрутить турбину” — сделать работу системы быстрее, а диск износостойким.  &lt;br /&gt;
В этом разделе подробно объясняется, какие параметры влияют на производительность и зачем они нужны.&lt;br /&gt;
&lt;br /&gt;
== Что такое оптимизация Btrfs ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Btrfs&#039;&#039;&#039; умеет многое: сжимает файлы, автоматически исправляет ошибки, балансирует пространство.  &lt;br /&gt;
Но по умолчанию часть функций может быть выключена, чтобы система подходила всем типам компьютеров.  &lt;br /&gt;
Оптимизация — это настройка под ваш тип накопителя: SSD, NVMe или HDD.&lt;br /&gt;
&lt;br /&gt;
== Проверка текущих настроек ==&lt;br /&gt;
&lt;br /&gt;
Перед изменением полезно узнать, с какими параметрами сейчас смонтирован диск.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mount | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда выводит список всех разделов Btrfs и их параметры.  &lt;br /&gt;
Например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/sda2 on / type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=5)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — система автоматически определила, что диск твердотельный;  &lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — используется новая схема кэширования свободного места;  &lt;br /&gt;
* &#039;&#039;&#039;relatime&#039;&#039;&#039; — обновление времени доступа включено (его можно отключить для ускорения).&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для SSD и NVMe ==&lt;br /&gt;
&lt;br /&gt;
Откройте файл &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; и найдите строку, где монтируется корневой раздел (обычно «/»).  &lt;br /&gt;
Рекомендуемая конфигурация для SSD или NVMe выглядит так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,ssd,space_cache=v2,discard=async,compress=zstd:5,autodefrag&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Что делает каждая опция:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — отключает запись времени последнего доступа к файлам. Это уменьшает количество операций записи и продлевает срок службы SSD.  &lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — включает оптимизацию алгоритмов ввода-вывода под твердотельные накопители.  &lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — более современная и быстрая система учёта свободного пространства.  &lt;br /&gt;
* &#039;&#039;&#039;discard=async&#039;&#039;&#039; — включает асинхронный TRIM, который очищает неиспользуемые блоки без потерь производительности.  &lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:5&#039;&#039;&#039; — сжимает данные на лету. Число «5» определяет баланс между скоростью и степенью сжатия.  &lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — автоматически дефрагментирует часто изменяемые файлы (журналы, базы данных, кеши).&lt;br /&gt;
&lt;br /&gt;
После редактирования сохраните файл и перезагрузите систему.&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для HDD ==&lt;br /&gt;
&lt;br /&gt;
Для обычных жёстких дисков лучше подходят другие настройки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,space_cache=v2,compress=zstd:3,autodefrag,commit=60&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Объяснение:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — уменьшает количество операций записи.  &lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:3&#039;&#039;&#039; — слабее сжатие, зато быстрее на медленных дисках.  &lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — помогает бороться с фрагментацией.  &lt;br /&gt;
* &#039;&#039;&#039;commit=60&#039;&#039;&#039; — записывает изменения на диск каждые 60 секунд, уменьшая нагрузку на головки HDD.&lt;br /&gt;
&lt;br /&gt;
== Проверка включённого сжатия ==&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что сжатие действительно активно, выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs property get / compression&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в выводе отображается строка вроде:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
compression=zstd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— значит сжатие включено.&lt;br /&gt;
&lt;br /&gt;
== Принудительное сжатие уже существующих файлов ==&lt;br /&gt;
&lt;br /&gt;
Если система установлена давно, старые файлы могли быть записаны без сжатия.  &lt;br /&gt;
Можно «сжать» их заново:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem defragment -r -v -czstd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разбор параметров:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-r&#039;&#039;&#039; — обрабатывать рекурсивно (все вложенные каталоги);  &lt;br /&gt;
* &#039;&#039;&#039;-v&#039;&#039;&#039; — выводить процесс выполнения;  &lt;br /&gt;
* &#039;&#039;&#039;-c zstd&#039;&#039;&#039; — применить алгоритм сжатия zstd.&lt;br /&gt;
&lt;br /&gt;
== Настройка TRIM ==&lt;br /&gt;
&lt;br /&gt;
TRIM сообщает SSD, какие блоки можно освободить.  &lt;br /&gt;
Чтобы система делала это автоматически, включите таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверить состояние таймера можно командой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl status fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TRIM помогает поддерживать скорость записи и продлевает жизнь накопителю.&lt;br /&gt;
&lt;br /&gt;
== Балансировка Btrfs ==&lt;br /&gt;
&lt;br /&gt;
Btrfs хранит данные блоками (чанками). Со временем часть блоков может заполниться неравномерно, и это снижает скорость работы.  &lt;br /&gt;
Чтобы перераспределить данные, используется команда балансировки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расшифровка:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-dusage=50&#039;&#039;&#039; — перераспределить только те блоки данных, что заполнены менее чем на 50 %;  &lt;br /&gt;
* &#039;&#039;&#039;-musage=50&#039;&#039;&#039; — то же самое для метаданных;  &lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — путь к корневому подтома.&lt;br /&gt;
&lt;br /&gt;
Балансировку стоит запускать примерно раз в 1–2 месяца.&lt;br /&gt;
&lt;br /&gt;
== Проверка использования диска ==&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать, как используется место, введите:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда показывает, сколько места занято данными, метаданными и системной информацией.  &lt;br /&gt;
Полезна для оценки того, нужна ли балансировка.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Итоги&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
После выполнения оптимизации:&lt;br /&gt;
&lt;br /&gt;
* система работает быстрее, особенно при чтении и установке пакетов;&lt;br /&gt;
* SSD меньше изнашивается благодаря сокращению ненужных записей;&lt;br /&gt;
* файлы занимают меньше места за счёт сжатия;&lt;br /&gt;
* Btrfs становится более стабильной и отзывчивой.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Введение и разметка|← Назад: Введение и разметка]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Обслуживание|Вперёд: Обслуживание →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=413</id>
		<title>BTRFS/Введение и разметка</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=413"/>
		<updated>2025-10-30T17:46:57Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Btrfs (произносится как &amp;quot;би-ти-эф-эс&amp;quot;) — это современная файловая система Linux, которая умеет не только хранить файлы, но и &#039;&#039;&#039;самостоятельно защищать их от ошибок&#039;&#039;&#039;, &#039;&#039;&#039;сжимать данные&#039;&#039;&#039;, &#039;&#039;&#039;создавать снимки системы&#039;&#039;&#039; и &#039;&#039;&#039;управлять несколькими дисками как одним&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Если вы раньше пользовались Windows, то можно сказать, что Btrfs — это &amp;quot;умный аналог NTFS&amp;quot;, только с функциями, которые в Windows реализованы отдельными утилитами (вроде восстановления системы, сжатия дисков и проверки ошибок).&lt;br /&gt;
&lt;br /&gt;
== Что делает Btrfs особенной ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Копирование при записи (Copy-on-Write)&#039;&#039;&#039; — данные не перезаписываются “поверх”, а записываются в новое место. Это защищает от потери данных при сбоях.&lt;br /&gt;
* &#039;&#039;&#039;Снимки (snapshots)&#039;&#039;&#039; — можно “заморозить” состояние системы и вернуться к нему позже (аналог точек восстановления Windows).&lt;br /&gt;
* &#039;&#039;&#039;Сжатие файлов на лету&#039;&#039;&#039; — экономит место и ускоряет работу на SSD.&lt;br /&gt;
* &#039;&#039;&#039;Проверка целостности&#039;&#039;&#039; — Btrfs хранит контрольные суммы и может выявить повреждения.&lt;br /&gt;
* &#039;&#039;&#039;Гибкость в управлении разделами&#039;&#039;&#039; — легко добавлять или удалять диски, расширять файловую систему.&lt;br /&gt;
&lt;br /&gt;
== Как подготовить диск для установки ==&lt;br /&gt;
&lt;br /&gt;
1. Открой программу разметки дисков &#039;&#039;(например, &#039;&#039;&#039;partitionmanager&#039;&#039;&#039; или &#039;&#039;&#039;cfdisk&#039;&#039;&#039;).&#039;&#039; Это утилита, которая позволяет разбить физический диск на отдельные разделы (partitions).&lt;br /&gt;
&lt;br /&gt;
    # cfdisk /dev/sda&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Здесь &amp;quot;/dev/sda&amp;quot; — первый диск в системе. Если у вас NVMe-накопитель, он может называться &amp;quot;/dev/nvme0n1&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2. Создайте раздел под систему, например 60–100 ГБ, и выберите тип:&lt;br /&gt;
* &#039;&#039;&#039;Linux filesystem&#039;&#039;&#039; — для корня &#039;&#039;(/)&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Linux swap&#039;&#039;&#039; — для подкачки (опционально)&lt;br /&gt;
* &#039;&#039;&#039;Остальное&#039;&#039;&#039; — под &#039;&#039;/home&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3. Сохраните изменения и выйдите из cfdisk (клавиша &#039;&#039;&#039;Write&#039;&#039;&#039;, затем &#039;&#039;&#039;Quit&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
== Создание файловой системы Btrfs ==&lt;br /&gt;
&lt;br /&gt;
Теперь нужно &amp;quot;отформатировать&amp;quot; раздел, чтобы он стал файловой системой Btrfs:&lt;br /&gt;
&lt;br /&gt;
    # mkfs.btrfs -L ROSA /dev/sda2&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;mkfs.btrfs&#039;&#039;&#039; — создаёт файловую систему Btrfs;&lt;br /&gt;
* &#039;&#039;&#039;-L ROSA&#039;&#039;&#039; — задаёт метку (название), чтобы её было легче узнавать;&lt;br /&gt;
* &#039;&#039;&#039;/dev/sda2&#039;&#039;&#039; — это тот раздел, на который вы ставите систему.&lt;br /&gt;
&lt;br /&gt;
После этого раздел готов к использованию.&lt;br /&gt;
&lt;br /&gt;
== Создание подтомов (subvolumes) ==&lt;br /&gt;
&lt;br /&gt;
Подтомы в Btrfs — это как отдельные &amp;quot;папки-микросистемы&amp;quot;.  &lt;br /&gt;
Например, один подтом для системы, другой — для пользователей.  &lt;br /&gt;
Они позволяют делать снимки системы без затрагивания личных файлов.&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Смонтируйте новый раздел:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo mount /dev/sda2 /mnt&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Создайте подтомы:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs subvolume create /mnt/@&lt;br /&gt;
   sudo btrfs subvolume create /mnt/@home&lt;br /&gt;
&lt;br /&gt;
Теперь у вас есть два логических подтома:&lt;br /&gt;
* &#039;&#039;&#039;@&#039;&#039;&#039; — основной корень системы &#039;&#039;&#039;(/)&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;@home&#039;&#039;&#039; — личные файлы пользователей.&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Отмонтируйте:&#039;&#039;&#039;&lt;br /&gt;
   &lt;br /&gt;
    sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
== Монтирование подтомов (fstab) ==&lt;br /&gt;
&lt;br /&gt;
Чтобы система знала, какие подтомы подключать при загрузке, их нужно описать в файле &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
Пример строки:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    UUID=xxxx-xxxx / btrfs subvol=@,defaults,noatime,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
    UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,noatime,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Объяснение:&lt;br /&gt;
* &#039;&#039;&#039;UUID&#039;&#039;&#039; — уникальный номер раздела (можно узнать через &#039;&#039;&#039;blkid&#039;&#039;&#039;);&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; - точка монтирования &lt;br /&gt;
* &#039;&#039;&#039;btrfs&#039;&#039;&#039; — указывает тип файловой системы;&lt;br /&gt;
* &#039;&#039;&#039;subvol=@&#039;&#039;&#039; — подключаем подтом с названием &#039;&#039;&#039;@&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — отключает запись времени последнего обращения к файлам (ускоряет работу);&lt;br /&gt;
* &#039;&#039;&#039;compress=zstd&#039;&#039;&#039; — включает сжатие данных;&lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — ускоряет работу с пространством на диске.&lt;br /&gt;
&lt;br /&gt;
== Проверка результата ==&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Посмотреть список подтомов:&#039;&#039;&#039;&lt;br /&gt;
   &lt;br /&gt;
    sudo btrfs subvolume list /&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Проверить использование места:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs filesystem df /&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Посмотреть общую информацию:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo btrfs filesystem show&lt;br /&gt;
&lt;br /&gt;
Если всё сделано правильно — вы увидите свои подтомы, и система будет работать через Btrfs.&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Btrfs&#039;&#039;&#039; — это гибкая и надёжная файловая система, которая подходит как новичкам, так и администраторам.  &lt;br /&gt;
Она сочетает функции нескольких инструментов Windows в одном:&lt;br /&gt;
* вместо “точек восстановления” — снимки;&lt;br /&gt;
* вместо “очистки диска” — встроенная дефрагментация и балансировка;&lt;br /&gt;
* вместо “дисковых проверок” — автоматическая проверка целостности данных.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=399</id>
		<title>BTRFS/Автоматизация обслуживания</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=399"/>
		<updated>2025-10-30T15:31:19Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Если вы уже знаете, как проверять и обслуживать систему &#039;&#039;&#039;Btrfs&#039;&#039;&#039; вручную, то следующий логичный шаг — сделать это автоматически.  &lt;br /&gt;
Linux умеет выполнять задания сам, по расписанию, и всё, что нужно — один небольшой скрипт и два конфигурационных файла.&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Автоматизация обслуживания&#039;&#039;&#039; =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Автоматизация&#039;&#039;&#039; — это когда система сама:&lt;br /&gt;
* проверяет файловую систему (scrub),&lt;br /&gt;
* балансирует данные (balance),&lt;br /&gt;
* очищает свободное место на SSD (fstrim).&lt;br /&gt;
&lt;br /&gt;
Пользователю больше не нужно помнить о ежемесячном обслуживании — всё выполняется в фоне, без вмешательства.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Подготовка скрипта обслуживания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Создадим простой скрипт, который выполняет три базовые команды для ухода за Btrfs.&lt;br /&gt;
&lt;br /&gt;
Откройте терминал и создайте файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вставьте туда следующий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Еженедельное обслуживание Btrfs&lt;br /&gt;
btrfs scrub start -Bd /&lt;br /&gt;
btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
fstrim -av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраните файл и сделайте его исполняемым:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;#!/bin/bash&#039;&#039;&#039;&amp;lt;/code&amp;gt; — сообщает системе, что это скрипт Bash.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;btrfs scrub start -Bd /&#039;&#039;&#039;&amp;lt;/code&amp;gt; — проверяет целостность данных.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;btrfs balance start -dusage=50 -musage=50 /&#039;&#039;&#039;&amp;lt;/code&amp;gt; — перераспределяет данные и метаданные.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;fstrim -av&#039;&#039;&#039;&amp;lt;/code&amp;gt; — очищает неиспользуемые блоки SSD (аналог TRIM).&lt;br /&gt;
&lt;br /&gt;
Теперь у нас есть готовый инструмент обслуживания.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание systemd-сервиса&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы Linux понимал, как запускать наш скрипт, нужно создать сервис.&lt;br /&gt;
&lt;br /&gt;
Создайте файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавьте в него:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Еженедельное обслуживание Btrfs&lt;br /&gt;
Documentation=man:btrfs(8)&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Что это значит:&lt;br /&gt;
* `[Unit]` — описание задачи, которое видит systemd.&lt;br /&gt;
* `[Service]` — сам сервис.  &lt;br /&gt;
  Тип `oneshot` означает, что команда запускается один раз и завершается.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание таймера systemd&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Теперь создадим &amp;quot;будильник&amp;quot;, который будет запускать сервис каждую неделю.&lt;br /&gt;
&lt;br /&gt;
Откройте новый файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вставьте туда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Таймер для еженедельного обслуживания Btrfs&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Объяснение параметров:&lt;br /&gt;
* `OnCalendar=weekly` — запускать каждую неделю (по умолчанию — по понедельникам).&lt;br /&gt;
* `Persistent=true` — если компьютер был выключен в момент запуска, задание выполнится при следующем включении.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Активация таймера&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Включаем наш таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь система будет автоматически запускать обслуживание каждую неделю.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что всё работает, выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl list-timers | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вы увидите строчку примерно такую:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
btrfs-maintain.timer  loaded active waiting  Mon 2025-11-03 00:00:00 MSK  Mon 2025-10-27 00:00:00 MSK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит, что всё настроено, и таймер запланирован.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка работы вручную&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Вы можете запустить обслуживание вручную, не дожидаясь таймера:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl start btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После завершения команд можно просмотреть журнал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo journalctl -u btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Отключение или изменение расписания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если вы хотите изменить расписание, откройте файл `/etc/systemd/system/btrfs-maintain.timer` и замените строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
на, например:&lt;br /&gt;
&lt;br /&gt;
* `OnCalendar=daily` — ежедневно;  &lt;br /&gt;
* `OnCalendar=monthly` — раз в месяц;  &lt;br /&gt;
* `OnCalendar=Sun 03:00` — каждое воскресенье в 3 утра.&lt;br /&gt;
&lt;br /&gt;
После редактирования перезапустите таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl restart btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Альтернатива: cron (для старых систем&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если по какой-то причине systemd-таймеры недоступны, можно использовать старый способ — cron.&lt;br /&gt;
&lt;br /&gt;
Создайте задачу:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo crontab -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавьте строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@weekly /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это даст тот же эффект, но без systemd.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка результата&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Через неделю можно посмотреть, как прошла последняя операция scrub:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub status /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если видите &amp;quot;no errors found&amp;quot;, всё отлично — автоматическое обслуживание работает.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Теперь ваша система &#039;&#039;&#039;Btrfs&#039;&#039;&#039; полностью автономна: она сама следит за своим здоровьем, проверяет и очищает диск, не требуя вашего участия.  &lt;br /&gt;
Такое решение особенно полезно для ноутбуков и рабочих станций, которые часто остаются включёнными на ночь.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Обслуживание|← Назад: Обслуживание]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=398</id>
		<title>BTRFS/Обслуживание</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=398"/>
		<updated>2025-10-30T15:30:50Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Файловая система &#039;&#039;&#039;Btrfs&#039;&#039;&#039; может сама проверять свои данные, исправлять ошибки и сохранять стабильность, если ей немного помочь.  &lt;br /&gt;
Этот раздел рассказывает, как выполнять обслуживание — без риска и без “танцев с бубном”.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Зачем нужно обслуживание Btrfs&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Btrfs — &amp;quot;живая&amp;quot; файловая система: она отслеживает состояние своих блоков, умеет восстанавливаться при ошибках, но требует периодического ухода.  &lt;br /&gt;
Это как проверка автомобиля — если время от времени не заглядывать под капот, можно пропустить мелкую проблему, которая потом вырастет в серьёзную.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка состояния устройств&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Для начала стоит посмотреть, всё ли хорошо с диском и нет ли ошибок ввода-вывода.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs device stats /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда выводит статистику по каждому устройству, участвующему в Btrfs.  &lt;br /&gt;
Если вы видите только нули — всё отлично. Если появляются ошибки чтения или записи, их нужно исследовать глубже (например, проверить SMART с помощью `smartctl`).&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка и восстановление данных (scrub)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Scrub&amp;quot; в Btrfs — это полная проверка данных на диске с исправлением обнаруженных несоответствий.  &lt;br /&gt;
Она проверяет контрольные суммы и, при возможности, восстанавливает повреждённые блоки.&lt;br /&gt;
&lt;br /&gt;
Чтобы запустить scrub вручную:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub start -Bd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расшифровка:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;start&#039;&#039;&#039; — запустить проверку;&lt;br /&gt;
* &#039;&#039;&#039;-B&#039;&#039;&#039; — выполнить в блокирующем режиме (ждать завершения);&lt;br /&gt;
* &#039;&#039;&#039;-d&#039;&#039;&#039; — показать детальный отчёт по каждой ошибке;&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — путь к корневому разделу, который проверяем.&lt;br /&gt;
&lt;br /&gt;
Проверка может занять от нескольких минут до часа, в зависимости от объёма данных и скорости диска.&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать прогресс во время выполнения, можно выполнить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub status /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Балансировка пространства&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Со временем распределение данных на Btrfs может стать неравномерным. Это снижает эффективность и может приводить к ошибкам “недостаточно места”, даже если место есть.  &lt;br /&gt;
Для исправления этого используется балансировка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-dusage=50&#039;&#039;&#039; — перераспределить только те блоки данных, что заняты менее чем на 50%;  &lt;br /&gt;
* &#039;&#039;&#039;-musage=50&#039;&#039;&#039; — аналогично, но для метаданных;  &lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — корневой подтом (можно указать другой путь).&lt;br /&gt;
&lt;br /&gt;
Эта операция безопасна и не требует перезагрузки. Выполнять её достаточно раз в пару месяцев.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Удаление старых снимков (snapshots)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Снимки Btrfs — отличная вещь, но они занимают место.  &lt;br /&gt;
Если вы используете, например, Timeshift, то старые снимки можно удалить вручную:&lt;br /&gt;
&lt;br /&gt;
Сначала посмотрите список подтомов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs subvolume list /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Найдите ненужный снимок (обычно что-то вроде `.snapshots/2024-10-10_18-00-00/snapshot`) и удалите его:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs subvolume delete /.snapshots/2024-10-10_18-00-00/snapshot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После удаления освободившееся место можно вернуть в систему командой балансировки.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка использования места&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать, как используется пространство на диске, введите:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда показывает, сколько места занято данными, метаданными и резервами.  &lt;br /&gt;
Если метаданные занимают больше 20–30 % — это сигнал, что стоит выполнить балансировку.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка общего состояния файловой системы&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Для быстрой проверки без исправления можно использовать:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs check --readonly /dev/sda2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта команда выполняет &amp;quot;сухую&amp;quot; проверку, не изменяя данные.  &lt;br /&gt;
Используйте её, если хотите убедиться, что файловая система в порядке, но не готовы вносить правки.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Важно:&#039;&#039;&#039; если вы хотите исправить ошибки, не используйте `--readonly`, но только в режиме Live-системы, чтобы диск не был смонтирован.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Практические советы&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Запускайте scrub примерно раз в месяц. Это помогает находить ошибки до того, как они станут проблемой.  &lt;br /&gt;
* Балансировку можно делать раз в 2–3 месяца.  &lt;br /&gt;
* Проверку `btrfs check` стоит проводить только при подозрении на сбои или после аварийного выключения.  &lt;br /&gt;
* Не злоупотребляйте “полной” балансировкой — это тяжёлая операция, лучше ограничиваться параметрами `-dusage` и `-musage`.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Ежемесячное обслуживание (вручную)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если вы не хотите автоматизировать процессы (об этом — в следующей статье), можно просто выполнять три команды вручную:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub start -Bd /&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
sudo fstrim -av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;scrub&#039;&#039;&#039; проверяет целостность файлов;  &lt;br /&gt;
* &#039;&#039;&#039;balance&#039;&#039;&#039; распределяет данные;  &lt;br /&gt;
* &#039;&#039;&#039;fstrim&#039;&#039;&#039; очищает неиспользуемые блоки на SSD/NVMe.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Регулярное обслуживание Btrfs похоже на плановое ТО автомобиля — вы тратите немного времени, но сохраняете стабильность и производительность.  &lt;br /&gt;
После нескольких таких циклов вы заметите, что система остаётся “лёгкой” даже после месяцев активного использования.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Оптимизация|← Назад: Оптимизация]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Автоматизация обслуживания|Вперёд: Автоматизация обслуживания →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=397</id>
		<title>BTRFS/Оптимизация</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=397"/>
		<updated>2025-10-30T15:30:30Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;После установки ROSA Linux на файловую систему &#039;&#039;&#039;Btrfs&#039;&#039;&#039; можно немного “прикрутить турбину” — сделать работу системы быстрее, а диск износостойким.  &lt;br /&gt;
В этом разделе подробно объясняется, какие параметры влияют на производительность и зачем они нужны.&lt;br /&gt;
&lt;br /&gt;
== Что такое оптимизация Btrfs ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Btrfs&#039;&#039;&#039; умеет многое: сжимает файлы, автоматически исправляет ошибки, балансирует пространство.  &lt;br /&gt;
Но по умолчанию часть функций может быть выключена, чтобы система подходила всем типам компьютеров.  &lt;br /&gt;
Оптимизация — это настройка под ваш тип накопителя: SSD, NVMe или HDD.&lt;br /&gt;
&lt;br /&gt;
== Проверка текущих настроек ==&lt;br /&gt;
&lt;br /&gt;
Перед изменением полезно узнать, с какими параметрами сейчас смонтирован диск.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mount | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда выводит список всех разделов Btrfs и их параметры.  &lt;br /&gt;
Например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/sda2 on / type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=5)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — система автоматически определила, что диск твердотельный;  &lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — используется новая схема кэширования свободного места;  &lt;br /&gt;
* &#039;&#039;&#039;relatime&#039;&#039;&#039; — обновление времени доступа включено (его можно отключить для ускорения).&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для SSD и NVMe ==&lt;br /&gt;
&lt;br /&gt;
Откройте файл &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; и найдите строку, где монтируется корневой раздел (обычно «/»).  &lt;br /&gt;
Рекомендуемая конфигурация для SSD или NVMe выглядит так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,ssd,space_cache=v2,discard=async,compress=zstd:5,autodefrag&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Что делает каждая опция:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — отключает запись времени последнего доступа к файлам. Это уменьшает количество операций записи и продлевает срок службы SSD.  &lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — включает оптимизацию алгоритмов ввода-вывода под твердотельные накопители.  &lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — более современная и быстрая система учёта свободного пространства.  &lt;br /&gt;
* &#039;&#039;&#039;discard=async&#039;&#039;&#039; — включает асинхронный TRIM, который очищает неиспользуемые блоки без потерь производительности.  &lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:5&#039;&#039;&#039; — сжимает данные на лету. Число «5» определяет баланс между скоростью и степенью сжатия.  &lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — автоматически дефрагментирует часто изменяемые файлы (журналы, базы данных, кеши).&lt;br /&gt;
&lt;br /&gt;
После редактирования сохраните файл и перезагрузите систему.&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для HDD ==&lt;br /&gt;
&lt;br /&gt;
Для обычных жёстких дисков лучше подходят другие настройки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,space_cache=v2,compress=zstd:3,autodefrag,commit=60&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Объяснение:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — уменьшает количество операций записи.  &lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:3&#039;&#039;&#039; — слабее сжатие, зато быстрее на медленных дисках.  &lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — помогает бороться с фрагментацией.  &lt;br /&gt;
* &#039;&#039;&#039;commit=60&#039;&#039;&#039; — записывает изменения на диск каждые 60 секунд, уменьшая нагрузку на головки HDD.&lt;br /&gt;
&lt;br /&gt;
== Проверка включённого сжатия ==&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что сжатие действительно активно, выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs property get / compression&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в выводе отображается строка вроде:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
compression=zstd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— значит сжатие включено.&lt;br /&gt;
&lt;br /&gt;
== Принудительное сжатие уже существующих файлов ==&lt;br /&gt;
&lt;br /&gt;
Если система установлена давно, старые файлы могли быть записаны без сжатия.  &lt;br /&gt;
Можно «сжать» их заново:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem defragment -r -v -czstd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разбор параметров:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-r&#039;&#039;&#039; — обрабатывать рекурсивно (все вложенные каталоги);  &lt;br /&gt;
* &#039;&#039;&#039;-v&#039;&#039;&#039; — выводить процесс выполнения;  &lt;br /&gt;
* &#039;&#039;&#039;-c zstd&#039;&#039;&#039; — применить алгоритм сжатия zstd.&lt;br /&gt;
&lt;br /&gt;
== Настройка TRIM ==&lt;br /&gt;
&lt;br /&gt;
TRIM сообщает SSD, какие блоки можно освободить.  &lt;br /&gt;
Чтобы система делала это автоматически, включите таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверить состояние таймера можно командой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl status fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TRIM помогает поддерживать скорость записи и продлевает жизнь накопителю.&lt;br /&gt;
&lt;br /&gt;
== Балансировка Btrfs ==&lt;br /&gt;
&lt;br /&gt;
Btrfs хранит данные блоками (чанками). Со временем часть блоков может заполниться неравномерно, и это снижает скорость работы.  &lt;br /&gt;
Чтобы перераспределить данные, используется команда балансировки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расшифровка:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-dusage=50&#039;&#039;&#039; — перераспределить только те блоки данных, что заполнены менее чем на 50 %;  &lt;br /&gt;
* &#039;&#039;&#039;-musage=50&#039;&#039;&#039; — то же самое для метаданных;  &lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — путь к корневому подтома.&lt;br /&gt;
&lt;br /&gt;
Балансировку стоит запускать примерно раз в 1–2 месяца.&lt;br /&gt;
&lt;br /&gt;
== Проверка использования диска ==&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать, как используется место, введите:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда показывает, сколько места занято данными, метаданными и системной информацией.  &lt;br /&gt;
Полезна для оценки того, нужна ли балансировка.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Итоги&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
После выполнения оптимизации:&lt;br /&gt;
&lt;br /&gt;
* система работает быстрее, особенно при чтении и установке пакетов;&lt;br /&gt;
* SSD меньше изнашивается благодаря сокращению ненужных записей;&lt;br /&gt;
* файлы занимают меньше места за счёт сжатия;&lt;br /&gt;
* Btrfs становится более стабильной и отзывчивой.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | [[BTRFS/Введение и разметка|← Назад: Введение и разметка]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Обслуживание|Вперёд: Обслуживание →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=396</id>
		<title>BTRFS/Введение и разметка</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=396"/>
		<updated>2025-10-30T15:30:08Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Btrfs (произносится как &amp;quot;би-ти-эф-эс&amp;quot;) — это современная файловая система Linux, которая умеет не только хранить файлы, но и &#039;&#039;&#039;самостоятельно защищать их от ошибок&#039;&#039;&#039;, &#039;&#039;&#039;сжимать данные&#039;&#039;&#039;, &#039;&#039;&#039;создавать снимки системы&#039;&#039;&#039; и &#039;&#039;&#039;управлять несколькими дисками как одним&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Если вы раньше пользовались Windows, то можно сказать, что Btrfs — это &amp;quot;умный аналог NTFS&amp;quot;, только с функциями, которые в Windows реализованы отдельными утилитами (вроде восстановления системы, сжатия дисков и проверки ошибок).&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Что делает Btrfs особенной&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Копирование при записи (Copy-on-Write)&#039;&#039;&#039; — данные не перезаписываются “поверх”, а записываются в новое место. Это защищает от потери данных при сбоях.&lt;br /&gt;
* &#039;&#039;&#039;Снимки (snapshots)&#039;&#039;&#039; — можно “заморозить” состояние системы и вернуться к нему позже (аналог точек восстановления Windows).&lt;br /&gt;
* &#039;&#039;&#039;Сжатие файлов на лету&#039;&#039;&#039; — экономит место и ускоряет работу на SSD.&lt;br /&gt;
* &#039;&#039;&#039;Проверка целостности&#039;&#039;&#039; — Btrfs хранит контрольные суммы и может выявить повреждения.&lt;br /&gt;
* &#039;&#039;&#039;Гибкость в управлении разделами&#039;&#039;&#039; — легко добавлять или удалять диски, расширять файловую систему.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Как подготовить диск для установки&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Открой программу разметки дисков&#039;&#039;&#039; (например, &#039;&#039;&#039;&#039;&#039;partitionmanager&#039;&#039;&#039;&#039;&#039; или &#039;&#039;&#039;&#039;&#039;cfdisk&#039;&#039;&#039;&#039;&#039;).&lt;br /&gt;
   Это утилита, которая позволяет разбить физический диск на отдельные разделы (partitions).&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;# cfdisk /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   Здесь `/dev/sda` — первый диск в системе.  &lt;br /&gt;
   &#039;&#039;Если у вас NVMe-накопитель, он может называться `/dev/nvme0n1`.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Создайте раздел под систему&#039;&#039;&#039;, например 60–100 ГБ, и выберите тип:&lt;br /&gt;
   - &#039;&#039;&#039;Linux filesystem&#039;&#039;&#039; — для корня (`/`);&lt;br /&gt;
   - &#039;&#039;&#039;Linux swap&#039;&#039;&#039; — для подкачки (опционально);&lt;br /&gt;
   - &#039;&#039;&#039;Остальное&#039;&#039;&#039; — под `/home`.&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Сохраните изменения и выйдите&#039;&#039;&#039; из cfdisk (клавиша `Write`, затем `Quit`).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание файловой системы Btrfs&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Теперь нужно &amp;quot;отформатировать&amp;quot; раздел, чтобы он стал файловой системой Btrfs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# mkfs.btrfs -L ROSA /dev/sda2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;mkfs.btrfs&#039;&#039;&#039; — создаёт файловую систему Btrfs;&lt;br /&gt;
* &#039;&#039;&#039;-L ROSA&#039;&#039;&#039; — задаёт метку (название), чтобы её было легче узнавать;&lt;br /&gt;
* &#039;&#039;&#039;/dev/sda2&#039;&#039;&#039; — это тот раздел, на который вы ставите систему.&lt;br /&gt;
&lt;br /&gt;
После этого раздел готов к использованию.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание подтомов (subvolumes)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Подтомы в Btrfs — это как отдельные &amp;quot;папки-микросистемы&amp;quot;.  &lt;br /&gt;
Например, один подтом для системы, другой — для пользователей.  &lt;br /&gt;
Они позволяют делать снимки системы без затрагивания личных файлов.&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Смонтируйте новый раздел:&#039;&#039;&#039;&lt;br /&gt;
   &amp;lt;pre&amp;gt;sudo mount /dev/sda2 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Создайте подтомы:&#039;&#039;&#039;&lt;br /&gt;
   &amp;lt;pre&amp;gt;sudo btrfs subvolume create /mnt/@&lt;br /&gt;
   sudo btrfs subvolume create /mnt/@home&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   Теперь у вас есть два логических подтома:&lt;br /&gt;
   - `@` — основной корень системы (`/`);&lt;br /&gt;
   - `@home` — личные файлы пользователей.&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Отмонтируйте:&#039;&#039;&#039;&lt;br /&gt;
   &amp;lt;pre&amp;gt;sudo umount /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Монтирование подтомов (fstab)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы система знала, какие подтомы подключать при загрузке, их нужно описать в файле `/etc/fstab`.  &lt;br /&gt;
Пример строки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UUID=xxxx-xxxx / btrfs subvol=@,defaults,noatime,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,noatime,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Объяснение:&lt;br /&gt;
* &#039;&#039;&#039;UUID&#039;&#039;&#039; — уникальный номер раздела (можно узнать через `blkid`);&lt;br /&gt;
* &#039;&#039;&#039;/ btrfs&#039;&#039;&#039; — указывает тип файловой системы;&lt;br /&gt;
* &#039;&#039;&#039;subvol=@&#039;&#039;&#039; — подключаем подтом с названием `@`;&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — отключает запись времени последнего обращения к файлам (ускоряет работу);&lt;br /&gt;
* &#039;&#039;&#039;compress=zstd&#039;&#039;&#039; — включает сжатие данных;&lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — ускоряет работу с пространством на диске.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка результата&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Посмотреть список подтомов:&#039;&#039;&#039;&lt;br /&gt;
   &amp;lt;pre&amp;gt;sudo btrfs subvolume list /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Проверить использование места:&#039;&#039;&#039;&lt;br /&gt;
   &amp;lt;pre&amp;gt;sudo btrfs filesystem df /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Посмотреть общую информацию:&#039;&#039;&#039;&lt;br /&gt;
   &amp;lt;pre&amp;gt;sudo btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если всё сделано правильно — вы увидите свои подтомы, и система будет работать через Btrfs.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Btrfs&#039;&#039;&#039; — это гибкая и надёжная файловая система, которая подходит как новичкам, так и администраторам.  &lt;br /&gt;
Она сочетает функции нескольких инструментов Windows в одном:&lt;br /&gt;
* вместо “точек восстановления” — снимки;&lt;br /&gt;
* вместо “очистки диска” — встроенная дефрагментация и балансировка;&lt;br /&gt;
* вместо “дисковых проверок” — автоматическая проверка целостности данных.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; margin-top:1em; font-size:95%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=395</id>
		<title>BTRFS/Автоматизация обслуживания</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=395"/>
		<updated>2025-10-30T15:12:17Z</updated>

		<summary type="html">&lt;p&gt;Braumann: Новая страница: «Если вы уже знаете, как проверять и обслуживать систему &amp;#039;&amp;#039;&amp;#039;Btrfs&amp;#039;&amp;#039;&amp;#039; вручную, то следующий логичный шаг — сделать это автоматически.   Linux умеет выполнять задания сам, по расписанию, и всё, что нужно — один небольшой скрипт и два конфигурационных файла.  = &amp;#039;&amp;#039;&amp;#039;Авт...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Если вы уже знаете, как проверять и обслуживать систему &#039;&#039;&#039;Btrfs&#039;&#039;&#039; вручную, то следующий логичный шаг — сделать это автоматически.  &lt;br /&gt;
Linux умеет выполнять задания сам, по расписанию, и всё, что нужно — один небольшой скрипт и два конфигурационных файла.&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Автоматизация обслуживания&#039;&#039;&#039; =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Автоматизация&#039;&#039;&#039; — это когда система сама:&lt;br /&gt;
* проверяет файловую систему (scrub),&lt;br /&gt;
* балансирует данные (balance),&lt;br /&gt;
* очищает свободное место на SSD (fstrim).&lt;br /&gt;
&lt;br /&gt;
Пользователю больше не нужно помнить о ежемесячном обслуживании — всё выполняется в фоне, без вмешательства.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Подготовка скрипта обслуживания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Создадим простой скрипт, который выполняет три базовые команды для ухода за Btrfs.&lt;br /&gt;
&lt;br /&gt;
Откройте терминал и создайте файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вставьте туда следующий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Еженедельное обслуживание Btrfs&lt;br /&gt;
btrfs scrub start -Bd /&lt;br /&gt;
btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
fstrim -av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраните файл и сделайте его исполняемым:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;#!/bin/bash&#039;&#039;&#039;&amp;lt;/code&amp;gt; — сообщает системе, что это скрипт Bash.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;btrfs scrub start -Bd /&#039;&#039;&#039;&amp;lt;/code&amp;gt; — проверяет целостность данных.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;btrfs balance start -dusage=50 -musage=50 /&#039;&#039;&#039;&amp;lt;/code&amp;gt; — перераспределяет данные и метаданные.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;fstrim -av&#039;&#039;&#039;&amp;lt;/code&amp;gt; — очищает неиспользуемые блоки SSD (аналог TRIM).&lt;br /&gt;
&lt;br /&gt;
Теперь у нас есть готовый инструмент обслуживания.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание systemd-сервиса&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы Linux понимал, как запускать наш скрипт, нужно создать сервис.&lt;br /&gt;
&lt;br /&gt;
Создайте файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавьте в него:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Еженедельное обслуживание Btrfs&lt;br /&gt;
Documentation=man:btrfs(8)&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Что это значит:&lt;br /&gt;
* `[Unit]` — описание задачи, которое видит systemd.&lt;br /&gt;
* `[Service]` — сам сервис.  &lt;br /&gt;
  Тип `oneshot` означает, что команда запускается один раз и завершается.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание таймера systemd&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Теперь создадим &amp;quot;будильник&amp;quot;, который будет запускать сервис каждую неделю.&lt;br /&gt;
&lt;br /&gt;
Откройте новый файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вставьте туда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Таймер для еженедельного обслуживания Btrfs&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Объяснение параметров:&lt;br /&gt;
* `OnCalendar=weekly` — запускать каждую неделю (по умолчанию — по понедельникам).&lt;br /&gt;
* `Persistent=true` — если компьютер был выключен в момент запуска, задание выполнится при следующем включении.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Активация таймера&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Включаем наш таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь система будет автоматически запускать обслуживание каждую неделю.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что всё работает, выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl list-timers | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вы увидите строчку примерно такую:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
btrfs-maintain.timer  loaded active waiting  Mon 2025-11-03 00:00:00 MSK  Mon 2025-10-27 00:00:00 MSK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит, что всё настроено, и таймер запланирован.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка работы вручную&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Вы можете запустить обслуживание вручную, не дожидаясь таймера:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl start btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После завершения команд можно просмотреть журнал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo journalctl -u btrfs-maintain.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Отключение или изменение расписания&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если вы хотите изменить расписание, откройте файл `/etc/systemd/system/btrfs-maintain.timer` и замените строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OnCalendar=weekly&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
на, например:&lt;br /&gt;
&lt;br /&gt;
* `OnCalendar=daily` — ежедневно;  &lt;br /&gt;
* `OnCalendar=monthly` — раз в месяц;  &lt;br /&gt;
* `OnCalendar=Sun 03:00` — каждое воскресенье в 3 утра.&lt;br /&gt;
&lt;br /&gt;
После редактирования перезапустите таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl restart btrfs-maintain.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Альтернатива: cron (для старых систем&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если по какой-то причине systemd-таймеры недоступны, можно использовать старый способ — cron.&lt;br /&gt;
&lt;br /&gt;
Создайте задачу:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo crontab -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавьте строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@weekly /usr/local/bin/btrfs-maintain.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это даст тот же эффект, но без systemd.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка результата&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Через неделю можно посмотреть, как прошла последняя операция scrub:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub status /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если видите &amp;quot;no errors found&amp;quot;, всё отлично — автоматическое обслуживание работает.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Теперь ваша система &#039;&#039;&#039;Btrfs&#039;&#039;&#039; полностью автономна: она сама следит за своим здоровьем, проверяет и очищает диск, не требуя вашего участия.  &lt;br /&gt;
Такое решение особенно полезно для ноутбуков и рабочих станций, которые часто остаются включёнными на ночь.&lt;br /&gt;
&lt;br /&gt;
Поздравляем — вы завершили настройку автоматического обслуживания Btrfs!&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=394</id>
		<title>BTRFS/Обслуживание</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=394"/>
		<updated>2025-10-30T15:12:14Z</updated>

		<summary type="html">&lt;p&gt;Braumann: Новая страница: «Файловая система &amp;#039;&amp;#039;&amp;#039;Btrfs&amp;#039;&amp;#039;&amp;#039; может сама проверять свои данные, исправлять ошибки и сохранять стабильность, если ей немного помочь.   Этот раздел рассказывает, как выполнять обслуживание — без риска и без “танцев с бубном”.  == &amp;#039;&amp;#039;&amp;#039;Зачем нужно обслуживание Btrfs&amp;#039;&amp;#039;&amp;#039;...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Файловая система &#039;&#039;&#039;Btrfs&#039;&#039;&#039; может сама проверять свои данные, исправлять ошибки и сохранять стабильность, если ей немного помочь.  &lt;br /&gt;
Этот раздел рассказывает, как выполнять обслуживание — без риска и без “танцев с бубном”.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Зачем нужно обслуживание Btrfs&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Btrfs — &amp;quot;живая&amp;quot; файловая система: она отслеживает состояние своих блоков, умеет восстанавливаться при ошибках, но требует периодического ухода.  &lt;br /&gt;
Это как проверка автомобиля — если время от времени не заглядывать под капот, можно пропустить мелкую проблему, которая потом вырастет в серьёзную.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка состояния устройств&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Для начала стоит посмотреть, всё ли хорошо с диском и нет ли ошибок ввода-вывода.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs device stats /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда выводит статистику по каждому устройству, участвующему в Btrfs.  &lt;br /&gt;
Если вы видите только нули — всё отлично. Если появляются ошибки чтения или записи, их нужно исследовать глубже (например, проверить SMART с помощью `smartctl`).&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка и восстановление данных (scrub)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Scrub&amp;quot; в Btrfs — это полная проверка данных на диске с исправлением обнаруженных несоответствий.  &lt;br /&gt;
Она проверяет контрольные суммы и, при возможности, восстанавливает повреждённые блоки.&lt;br /&gt;
&lt;br /&gt;
Чтобы запустить scrub вручную:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub start -Bd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расшифровка:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;start&#039;&#039;&#039; — запустить проверку;&lt;br /&gt;
* &#039;&#039;&#039;-B&#039;&#039;&#039; — выполнить в блокирующем режиме (ждать завершения);&lt;br /&gt;
* &#039;&#039;&#039;-d&#039;&#039;&#039; — показать детальный отчёт по каждой ошибке;&lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — путь к корневому разделу, который проверяем.&lt;br /&gt;
&lt;br /&gt;
Проверка может занять от нескольких минут до часа, в зависимости от объёма данных и скорости диска.&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать прогресс во время выполнения, можно выполнить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub status /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Балансировка пространства&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Со временем распределение данных на Btrfs может стать неравномерным. Это снижает эффективность и может приводить к ошибкам “недостаточно места”, даже если место есть.  &lt;br /&gt;
Для исправления этого используется балансировка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пояснение:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-dusage=50&#039;&#039;&#039; — перераспределить только те блоки данных, что заняты менее чем на 50%;  &lt;br /&gt;
* &#039;&#039;&#039;-musage=50&#039;&#039;&#039; — аналогично, но для метаданных;  &lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — корневой подтом (можно указать другой путь).&lt;br /&gt;
&lt;br /&gt;
Эта операция безопасна и не требует перезагрузки. Выполнять её достаточно раз в пару месяцев.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Удаление старых снимков (snapshots)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Снимки Btrfs — отличная вещь, но они занимают место.  &lt;br /&gt;
Если вы используете, например, Timeshift, то старые снимки можно удалить вручную:&lt;br /&gt;
&lt;br /&gt;
Сначала посмотрите список подтомов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs subvolume list /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Найдите ненужный снимок (обычно что-то вроде `.snapshots/2024-10-10_18-00-00/snapshot`) и удалите его:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs subvolume delete /.snapshots/2024-10-10_18-00-00/snapshot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После удаления освободившееся место можно вернуть в систему командой балансировки.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка использования места&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать, как используется пространство на диске, введите:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда показывает, сколько места занято данными, метаданными и резервами.  &lt;br /&gt;
Если метаданные занимают больше 20–30 % — это сигнал, что стоит выполнить балансировку.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка общего состояния файловой системы&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Для быстрой проверки без исправления можно использовать:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs check --readonly /dev/sda2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта команда выполняет &amp;quot;сухую&amp;quot; проверку, не изменяя данные.  &lt;br /&gt;
Используйте её, если хотите убедиться, что файловая система в порядке, но не готовы вносить правки.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Важно:&#039;&#039;&#039; если вы хотите исправить ошибки, не используйте `--readonly`, но только в режиме Live-системы, чтобы диск не был смонтирован.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Практические советы&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Запускайте scrub примерно раз в месяц. Это помогает находить ошибки до того, как они станут проблемой.  &lt;br /&gt;
* Балансировку можно делать раз в 2–3 месяца.  &lt;br /&gt;
* Проверку `btrfs check` стоит проводить только при подозрении на сбои или после аварийного выключения.  &lt;br /&gt;
* Не злоупотребляйте “полной” балансировкой — это тяжёлая операция, лучше ограничиваться параметрами `-dusage` и `-musage`.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Ежемесячное обслуживание (вручную)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Если вы не хотите автоматизировать процессы (об этом — в следующей статье), можно просто выполнять три команды вручную:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs scrub start -Bd /&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
sudo fstrim -av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;scrub&#039;&#039;&#039; проверяет целостность файлов;  &lt;br /&gt;
* &#039;&#039;&#039;balance&#039;&#039;&#039; распределяет данные;  &lt;br /&gt;
* &#039;&#039;&#039;fstrim&#039;&#039;&#039; очищает неиспользуемые блоки на SSD/NVMe.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Регулярное обслуживание Btrfs похоже на плановое ТО автомобиля — вы тратите немного времени, но сохраняете стабильность и производительность.  &lt;br /&gt;
После нескольких таких циклов вы заметите, что система остаётся “лёгкой” даже после месяцев активного использования.&lt;br /&gt;
&lt;br /&gt;
Следующий раздел: [[BTRFS/Автоматизация обслуживания|Автоматизация обслуживания — скрипты и таймеры]].&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=393</id>
		<title>BTRFS/Оптимизация</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=393"/>
		<updated>2025-10-30T15:12:09Z</updated>

		<summary type="html">&lt;p&gt;Braumann: Новая страница: «После установки ROSA Linux на файловую систему &amp;#039;&amp;#039;&amp;#039;Btrfs&amp;#039;&amp;#039;&amp;#039; можно немного “прикрутить турбину” — сделать работу системы быстрее, а диск износостойким.   В этом разделе подробно объясняется, какие параметры влияют на производительность и зачем они нужны.  == Что т...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;После установки ROSA Linux на файловую систему &#039;&#039;&#039;Btrfs&#039;&#039;&#039; можно немного “прикрутить турбину” — сделать работу системы быстрее, а диск износостойким.  &lt;br /&gt;
В этом разделе подробно объясняется, какие параметры влияют на производительность и зачем они нужны.&lt;br /&gt;
&lt;br /&gt;
== Что такое оптимизация Btrfs ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Btrfs&#039;&#039;&#039; умеет многое: сжимает файлы, автоматически исправляет ошибки, балансирует пространство.  &lt;br /&gt;
Но по умолчанию часть функций может быть выключена, чтобы система подходила всем типам компьютеров.  &lt;br /&gt;
Оптимизация — это настройка под ваш тип накопителя: SSD, NVMe или HDD.&lt;br /&gt;
&lt;br /&gt;
== Проверка текущих настроек ==&lt;br /&gt;
&lt;br /&gt;
Перед изменением полезно узнать, с какими параметрами сейчас смонтирован диск.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mount | grep btrfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда выводит список всех разделов Btrfs и их параметры.  &lt;br /&gt;
Например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/sda2 on / type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=5)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — система автоматически определила, что диск твердотельный;  &lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — используется новая схема кэширования свободного места;  &lt;br /&gt;
* &#039;&#039;&#039;relatime&#039;&#039;&#039; — обновление времени доступа включено (его можно отключить для ускорения).&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для SSD и NVMe ==&lt;br /&gt;
&lt;br /&gt;
Откройте файл &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; и найдите строку, где монтируется корневой раздел (обычно «/»).  &lt;br /&gt;
Рекомендуемая конфигурация для SSD или NVMe выглядит так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,ssd,space_cache=v2,discard=async,compress=zstd:5,autodefrag&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Что делает каждая опция:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — отключает запись времени последнего доступа к файлам. Это уменьшает количество операций записи и продлевает срок службы SSD.  &lt;br /&gt;
* &#039;&#039;&#039;ssd&#039;&#039;&#039; — включает оптимизацию алгоритмов ввода-вывода под твердотельные накопители.  &lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — более современная и быстрая система учёта свободного пространства.  &lt;br /&gt;
* &#039;&#039;&#039;discard=async&#039;&#039;&#039; — включает асинхронный TRIM, который очищает неиспользуемые блоки без потерь производительности.  &lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:5&#039;&#039;&#039; — сжимает данные на лету. Число «5» определяет баланс между скоростью и степенью сжатия.  &lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — автоматически дефрагментирует часто изменяемые файлы (журналы, базы данных, кеши).&lt;br /&gt;
&lt;br /&gt;
После редактирования сохраните файл и перезагрузите систему.&lt;br /&gt;
&lt;br /&gt;
== Рекомендуемые параметры для HDD ==&lt;br /&gt;
&lt;br /&gt;
Для обычных жёстких дисков лучше подходят другие настройки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
noatime,space_cache=v2,compress=zstd:3,autodefrag,commit=60&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Объяснение:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — уменьшает количество операций записи.  &lt;br /&gt;
* &#039;&#039;&#039;compress=zstd:3&#039;&#039;&#039; — слабее сжатие, зато быстрее на медленных дисках.  &lt;br /&gt;
* &#039;&#039;&#039;autodefrag&#039;&#039;&#039; — помогает бороться с фрагментацией.  &lt;br /&gt;
* &#039;&#039;&#039;commit=60&#039;&#039;&#039; — записывает изменения на диск каждые 60 секунд, уменьшая нагрузку на головки HDD.&lt;br /&gt;
&lt;br /&gt;
== Проверка включённого сжатия ==&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что сжатие действительно активно, выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs property get / compression&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в выводе отображается строка вроде:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
compression=zstd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— значит сжатие включено.&lt;br /&gt;
&lt;br /&gt;
== Принудительное сжатие уже существующих файлов ==&lt;br /&gt;
&lt;br /&gt;
Если система установлена давно, старые файлы могли быть записаны без сжатия.  &lt;br /&gt;
Можно «сжать» их заново:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem defragment -r -v -czstd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разбор параметров:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-r&#039;&#039;&#039; — обрабатывать рекурсивно (все вложенные каталоги);  &lt;br /&gt;
* &#039;&#039;&#039;-v&#039;&#039;&#039; — выводить процесс выполнения;  &lt;br /&gt;
* &#039;&#039;&#039;-c zstd&#039;&#039;&#039; — применить алгоритм сжатия zstd.&lt;br /&gt;
&lt;br /&gt;
== Настройка TRIM ==&lt;br /&gt;
&lt;br /&gt;
TRIM сообщает SSD, какие блоки можно освободить.  &lt;br /&gt;
Чтобы система делала это автоматически, включите таймер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверить состояние таймера можно командой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl status fstrim.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TRIM помогает поддерживать скорость записи и продлевает жизнь накопителю.&lt;br /&gt;
&lt;br /&gt;
== Балансировка Btrfs ==&lt;br /&gt;
&lt;br /&gt;
Btrfs хранит данные блоками (чанками). Со временем часть блоков может заполниться неравномерно, и это снижает скорость работы.  &lt;br /&gt;
Чтобы перераспределить данные, используется команда балансировки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs balance start -dusage=50 -musage=50 /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расшифровка:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-dusage=50&#039;&#039;&#039; — перераспределить только те блоки данных, что заполнены менее чем на 50 %;  &lt;br /&gt;
* &#039;&#039;&#039;-musage=50&#039;&#039;&#039; — то же самое для метаданных;  &lt;br /&gt;
* &#039;&#039;&#039;/&#039;&#039;&#039; — путь к корневому подтома.&lt;br /&gt;
&lt;br /&gt;
Балансировку стоит запускать примерно раз в 1–2 месяца.&lt;br /&gt;
&lt;br /&gt;
== Проверка использования диска ==&lt;br /&gt;
&lt;br /&gt;
Чтобы узнать, как используется место, введите:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo btrfs filesystem df /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда показывает, сколько места занято данными, метаданными и системной информацией.  &lt;br /&gt;
Полезна для оценки того, нужна ли балансировка.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Итоги&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
После выполнения оптимизации:&lt;br /&gt;
&lt;br /&gt;
* система работает быстрее, особенно при чтении и установке пакетов;&lt;br /&gt;
* SSD меньше изнашивается благодаря сокращению ненужных записей;&lt;br /&gt;
* файлы занимают меньше места за счёт сжатия;&lt;br /&gt;
* Btrfs становится более стабильной и отзывчивой.&lt;br /&gt;
&lt;br /&gt;
Следующий раздел: [[BTRFS/Обслуживание|Обслуживание Btrfs — проверка и восстановление]].&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=392</id>
		<title>BTRFS/Введение и разметка</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&amp;diff=392"/>
		<updated>2025-10-30T15:12:05Z</updated>

		<summary type="html">&lt;p&gt;Braumann: Новая страница: «Btrfs (произносится как &amp;quot;би-ти-эф-эс&amp;quot;) — это современная файловая система Linux, которая умеет не только хранить файлы, но и &amp;#039;&amp;#039;&amp;#039;самостоятельно защищать их от ошибок&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;сжимать данные&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;создавать снимки системы&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;управлять несколькими дисками как одним&amp;#039;&amp;#039;&amp;#039;....»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Btrfs (произносится как &amp;quot;би-ти-эф-эс&amp;quot;) — это современная файловая система Linux, которая умеет не только хранить файлы, но и &#039;&#039;&#039;самостоятельно защищать их от ошибок&#039;&#039;&#039;, &#039;&#039;&#039;сжимать данные&#039;&#039;&#039;, &#039;&#039;&#039;создавать снимки системы&#039;&#039;&#039; и &#039;&#039;&#039;управлять несколькими дисками как одним&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Если вы раньше пользовались Windows, то можно сказать, что Btrfs — это &amp;quot;умный аналог NTFS&amp;quot;, только с функциями, которые в Windows реализованы отдельными утилитами (вроде восстановления системы, сжатия дисков и проверки ошибок).&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Что делает Btrfs особенной&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Копирование при записи (Copy-on-Write)&#039;&#039;&#039; — данные не перезаписываются “поверх”, а записываются в новое место. Это защищает от потери данных при сбоях.&lt;br /&gt;
* &#039;&#039;&#039;Снимки (snapshots)&#039;&#039;&#039; — можно “заморозить” состояние системы и вернуться к нему позже (аналог точек восстановления Windows).&lt;br /&gt;
* &#039;&#039;&#039;Сжатие файлов на лету&#039;&#039;&#039; — экономит место и ускоряет работу на SSD.&lt;br /&gt;
* &#039;&#039;&#039;Проверка целостности&#039;&#039;&#039; — Btrfs хранит контрольные суммы и может выявить повреждения.&lt;br /&gt;
* &#039;&#039;&#039;Гибкость в управлении разделами&#039;&#039;&#039; — легко добавлять или удалять диски, расширять файловую систему.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Как подготовить диск для установки&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Открой программу разметки дисков&#039;&#039;&#039; (например, &#039;&#039;&#039;&#039;&#039;partitionmanager&#039;&#039;&#039;&#039;&#039; или &#039;&#039;&#039;&#039;&#039;cfdisk&#039;&#039;&#039;&#039;&#039;).&lt;br /&gt;
   Это утилита, которая позволяет разбить физический диск на отдельные разделы (partitions).&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;# cfdisk /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   Здесь `/dev/sda` — первый диск в системе.  &lt;br /&gt;
   &#039;&#039;Если у вас NVMe-накопитель, он может называться `/dev/nvme0n1`.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Создайте раздел под систему&#039;&#039;&#039;, например 60–100 ГБ, и выберите тип:&lt;br /&gt;
   - &#039;&#039;&#039;Linux filesystem&#039;&#039;&#039; — для корня (`/`);&lt;br /&gt;
   - &#039;&#039;&#039;Linux swap&#039;&#039;&#039; — для подкачки (опционально);&lt;br /&gt;
   - &#039;&#039;&#039;Остальное&#039;&#039;&#039; — под `/home`.&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Сохраните изменения и выйдите&#039;&#039;&#039; из cfdisk (клавиша `Write`, затем `Quit`).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание файловой системы Btrfs&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Теперь нужно &amp;quot;отформатировать&amp;quot; раздел, чтобы он стал файловой системой Btrfs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# mkfs.btrfs -L ROSA /dev/sda2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;mkfs.btrfs&#039;&#039;&#039; — создаёт файловую систему Btrfs;&lt;br /&gt;
* &#039;&#039;&#039;-L ROSA&#039;&#039;&#039; — задаёт метку (название), чтобы её было легче узнавать;&lt;br /&gt;
* &#039;&#039;&#039;/dev/sda2&#039;&#039;&#039; — это тот раздел, на который вы ставите систему.&lt;br /&gt;
&lt;br /&gt;
После этого раздел готов к использованию.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Создание подтомов (subvolumes)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Подтомы в Btrfs — это как отдельные &amp;quot;папки-микросистемы&amp;quot;.  &lt;br /&gt;
Например, один подтом для системы, другой — для пользователей.  &lt;br /&gt;
Они позволяют делать снимки системы без затрагивания личных файлов.&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Смонтируйте новый раздел:&#039;&#039;&#039;&lt;br /&gt;
   &amp;lt;pre&amp;gt;sudo mount /dev/sda2 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Создайте подтомы:&#039;&#039;&#039;&lt;br /&gt;
   &amp;lt;pre&amp;gt;sudo btrfs subvolume create /mnt/@&lt;br /&gt;
   sudo btrfs subvolume create /mnt/@home&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   Теперь у вас есть два логических подтома:&lt;br /&gt;
   - `@` — основной корень системы (`/`);&lt;br /&gt;
   - `@home` — личные файлы пользователей.&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Отмонтируйте:&#039;&#039;&#039;&lt;br /&gt;
   &amp;lt;pre&amp;gt;sudo umount /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Монтирование подтомов (fstab)&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Чтобы система знала, какие подтомы подключать при загрузке, их нужно описать в файле `/etc/fstab`.  &lt;br /&gt;
Пример строки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UUID=xxxx-xxxx / btrfs subvol=@,defaults,noatime,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,noatime,compress=zstd,space_cache=v2 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Объяснение:&lt;br /&gt;
* &#039;&#039;&#039;UUID&#039;&#039;&#039; — уникальный номер раздела (можно узнать через `blkid`);&lt;br /&gt;
* &#039;&#039;&#039;/ btrfs&#039;&#039;&#039; — указывает тип файловой системы;&lt;br /&gt;
* &#039;&#039;&#039;subvol=@&#039;&#039;&#039; — подключаем подтом с названием `@`;&lt;br /&gt;
* &#039;&#039;&#039;noatime&#039;&#039;&#039; — отключает запись времени последнего обращения к файлам (ускоряет работу);&lt;br /&gt;
* &#039;&#039;&#039;compress=zstd&#039;&#039;&#039; — включает сжатие данных;&lt;br /&gt;
* &#039;&#039;&#039;space_cache=v2&#039;&#039;&#039; — ускоряет работу с пространством на диске.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Проверка результата&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Посмотреть список подтомов:&#039;&#039;&#039;&lt;br /&gt;
   &amp;lt;pre&amp;gt;sudo btrfs subvolume list /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Проверить использование места:&#039;&#039;&#039;&lt;br /&gt;
   &amp;lt;pre&amp;gt;sudo btrfs filesystem df /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Посмотреть общую информацию:&#039;&#039;&#039;&lt;br /&gt;
   &amp;lt;pre&amp;gt;sudo btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если всё сделано правильно — вы увидите свои подтомы, и система будет работать через Btrfs.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Заключение&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Btrfs&#039;&#039;&#039; — это гибкая и надёжная файловая система, которая подходит как новичкам, так и администраторам.  &lt;br /&gt;
Она сочетает функции нескольких инструментов Windows в одном:&lt;br /&gt;
* вместо “точек восстановления” — снимки;&lt;br /&gt;
* вместо “очистки диска” — встроенная дефрагментация и балансировка;&lt;br /&gt;
* вместо “дисковых проверок” — автоматическая проверка целостности данных.&lt;br /&gt;
&lt;br /&gt;
Следующий шаг — [[BTRFS/Оптимизация|перейти к разделу об оптимизации Btrfs]].&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=BTRFS&amp;diff=391</id>
		<title>BTRFS</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=BTRFS&amp;diff=391"/>
		<updated>2025-10-30T15:12:01Z</updated>

		<summary type="html">&lt;p&gt;Braumann: Новая страница: «Btrfs — это современная файловая система с поддержкой снимков, встроенного сжатия, самовосстановления и управления подтомами.   В этом разделе собраны материалы о её возможностях, настройке, оптимизации и автоматизации обслуживания в ROSA Linux.  == Подраздел...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Btrfs — это современная файловая система с поддержкой снимков, встроенного сжатия, самовосстановления и управления подтомами.  &lt;br /&gt;
В этом разделе собраны материалы о её возможностях, настройке, оптимизации и автоматизации обслуживания в ROSA Linux.&lt;br /&gt;
&lt;br /&gt;
== Подразделы ==&lt;br /&gt;
&lt;br /&gt;
* [[BTRFS/Введение и разметка|Введение и разметка]] — описание принципов Btrfs и схем разметки дисков.&lt;br /&gt;
* [[BTRFS/Оптимизация|Оптимизация]] — как улучшить производительность и продлить срок службы накопителей.&lt;br /&gt;
* [[BTRFS/Обслуживание|Обслуживание]] — контроль целостности, балансировка, дефрагментация и примеры реальных кейсов.&lt;br /&gt;
* [[BTRFS/Автоматизация обслуживания|Автоматизация обслуживания]] — как писать скрипты и таймеры для регулярного обслуживания.&lt;br /&gt;
&lt;br /&gt;
== Основные возможности Btrfs ==&lt;br /&gt;
&lt;br /&gt;
* Снимки (snapshots) и клонирование подтомов.&lt;br /&gt;
* Встроенное сжатие данных (zstd, lzo, zlib).&lt;br /&gt;
* Проверка контрольных сумм для данных и метаданных.&lt;br /&gt;
* Поддержка RAID уровней 0/1/10/5/6.&lt;br /&gt;
* Балансировка, дефрагментация и &amp;quot;самоисцеление&amp;quot; при ошибках чтения.&lt;br /&gt;
&lt;br /&gt;
Btrfs часто называют &amp;quot;Linux ZFS&amp;quot; — и недаром: она сочетает надёжность, гибкость и мощные инструменты для администрирования.&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=%D0%A0%D1%83%D1%87%D0%BD%D0%B0%D1%8F_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%B0_NVIDIA&amp;diff=390</id>
		<title>Ручная установка драйвера NVIDIA</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=%D0%A0%D1%83%D1%87%D0%BD%D0%B0%D1%8F_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%B0_NVIDIA&amp;diff=390"/>
		<updated>2025-10-30T14:36:28Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Данное руководство описывает, как установить или переустановить проприетарный драйвер NVIDIA вручную — безопасно и без риска повредить систему или графическую оболочку.&lt;br /&gt;
&lt;br /&gt;
== Подготовка ==&lt;br /&gt;
&lt;br /&gt;
1. Скачайте драйвер с официального сайта NVIDIA:  &lt;br /&gt;
   https://www.nvidia.com/Download/index.aspx&lt;br /&gt;
&lt;br /&gt;
2. Переименуйте файл для удобства:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv NVIDIA-Linux-x86_64-550.78.run bla.run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Переместите установщик в корневой каталог:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mv bla.run /root/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Переход в текстовый режим ==&lt;br /&gt;
&lt;br /&gt;
1. Перейдите в консоль:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Ctrl + Alt + F2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Войдите под суперпользователем:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ su -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Остановите дисплейный менеджер (в зависимости от окружения):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# systemctl stop gdm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Проверьте, что X-сервер действительно остановлен:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ps aux | grep X&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в выводе нет других процессов X, кроме вашей команды grep, значит графическая среда остановлена.&lt;br /&gt;
&lt;br /&gt;
== Установка драйвера ==&lt;br /&gt;
&lt;br /&gt;
1. Запустите установщик с поддержкой DKMS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# bash bla.run --dkms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Флаг &#039;&#039;&#039;--dkms&#039;&#039;&#039; обязателен. Без него драйвер не будет автоматически пересобираться после обновления ядра.&lt;br /&gt;
&lt;br /&gt;
2. После завершения пересоздайте initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# initrams-regen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Перезагрузите компьютер:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После перезагрузки проверьте, что драйвер установлен:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nvidia-smi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если выводится таблица с вашей видеокартой, установка прошла успешно.&lt;br /&gt;
&lt;br /&gt;
== Переустановка или обновление драйвера ==&lt;br /&gt;
&lt;br /&gt;
1. Удалите старую версию драйвера:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf remove *nvidia*&lt;br /&gt;
или, если драйвер ставился вручную:&lt;br /&gt;
# nvidia-uninstall&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Скачайте новый файл .run и повторите установку:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# systemctl stop gdm&lt;br /&gt;
# bash bla.run --dkms&lt;br /&gt;
# initrams-regen&lt;br /&gt;
# reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Восстановление при сбое ==&lt;br /&gt;
&lt;br /&gt;
Если система не загружается после установки драйвера:&lt;br /&gt;
&lt;br /&gt;
1. Загрузитесь с Live-диска ROSA.&lt;br /&gt;
&lt;br /&gt;
2. Определите корневой раздел и смонтируйте его:&lt;br /&gt;
* Для btrfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;# mount -t btrfs -o subvol=@ /dev/sda2 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Для ext4:&lt;br /&gt;
&amp;lt;pre&amp;gt;# mount -t ext4 /dev/sda2 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Войдите в chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# for i in /dev /dev/pts /proc /sys /run; do mount --bind $i /mnt$i; done&lt;br /&gt;
# chroot /mnt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Удалите драйвер и пересоздайте initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# nvidia-uninstall&lt;br /&gt;
# initrams-regen&lt;br /&gt;
# update-grub2&lt;br /&gt;
# exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Перезагрузитесь.  &lt;br /&gt;
Система должна загрузиться с открытым драйвером Nouveau.&lt;br /&gt;
&lt;br /&gt;
== Создание и откат через Timeshift (для ext4 и btrfs) ==&lt;br /&gt;
&lt;br /&gt;
Перед установкой драйвера рекомендуется создать снимок системы с помощью Timeshift:&lt;br /&gt;
&amp;lt;pre&amp;gt;# timeshift --create --comments &amp;quot;Перед установкой NVIDIA&amp;quot; --tags D&amp;lt;/pre&amp;gt;&lt;br /&gt;
Проверим:&lt;br /&gt;
&amp;lt;pre&amp;gt;# timeshift --list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Откат (В случае неудачи) ==&lt;br /&gt;
&lt;br /&gt;
В случае проблем можно быстро вернуть систему в рабочее состояние с помощью отката.&lt;br /&gt;
&lt;br /&gt;
1. Загрузитесь с Live-диска ROSA, затем:&lt;br /&gt;
&amp;lt;pre&amp;gt;# timeshift --restore&amp;lt;/pre&amp;gt;&lt;br /&gt;
Следуйте инструкциям (выберите последний снимок и подтвердите восстановление).&lt;br /&gt;
&lt;br /&gt;
После восстановления выполните:&lt;br /&gt;
&amp;lt;pre&amp;gt;# update-grub2&lt;br /&gt;
$ reboot&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Важно ==&lt;br /&gt;
При использовании ext4 Timeshift делает полную копию файлов, поэтому снимки занимают больше места.&lt;br /&gt;
Убедитесь, что на разделе достаточно свободного пространства (не менее 3–5 ГБ).&lt;br /&gt;
&lt;br /&gt;
== Полезные советы ==&lt;br /&gt;
Перед установкой любого проприетарного драйвера всегда создавайте снимок Timeshift.&lt;br /&gt;
&lt;br /&gt;
Если обновляете ядро, не забывайте проверять, что модуль DKMS пересобрался:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# dkms status&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=%D0%A0%D1%83%D1%87%D0%BD%D0%B0%D1%8F_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%B0_NVIDIA&amp;diff=389</id>
		<title>Ручная установка драйвера NVIDIA</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=%D0%A0%D1%83%D1%87%D0%BD%D0%B0%D1%8F_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%B0_NVIDIA&amp;diff=389"/>
		<updated>2025-10-30T13:04:29Z</updated>

		<summary type="html">&lt;p&gt;Braumann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Данное руководство описывает, как установить или переустановить проприетарный драйвер NVIDIA вручную — безопасно и без риска повредить систему или графическую оболочку.&lt;br /&gt;
&lt;br /&gt;
== Подготовка ==&lt;br /&gt;
&lt;br /&gt;
1. Скачайте драйвер с официального сайта NVIDIA:  &lt;br /&gt;
   https://www.nvidia.com/Download/index.aspx&lt;br /&gt;
&lt;br /&gt;
2. Переименуйте файл для удобства:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv NVIDIA-Linux-x86_64-550.78.run bla.run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Переместите установщик в корневой каталог:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mv bla.run /root/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Переход в текстовый режим ==&lt;br /&gt;
&lt;br /&gt;
1. Перейдите в консоль:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Ctrl + Alt + F2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Войдите под суперпользователем:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ su -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Остановите дисплейный менеджер (в зависимости от окружения):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# systemctl stop gdm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Проверьте, что X-сервер действительно остановлен:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ps aux | grep X&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в выводе нет других процессов X, кроме вашей команды grep, значит графическая среда остановлена.&lt;br /&gt;
&lt;br /&gt;
== Установка драйвера ==&lt;br /&gt;
&lt;br /&gt;
1. Запустите установщик с поддержкой DKMS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# bash bla.run --dkms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Флаг &#039;&#039;&#039;--dkms&#039;&#039;&#039; обязателен. Без него драйвер не будет автоматически пересобираться после обновления ядра.&lt;br /&gt;
&lt;br /&gt;
2. После завершения пересоздайте initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dracut -f&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Перезагрузите компьютер:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После перезагрузки проверьте, что драйвер установлен:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nvidia-smi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если выводится таблица с вашей видеокартой, установка прошла успешно.&lt;br /&gt;
&lt;br /&gt;
== Переустановка или обновление драйвера ==&lt;br /&gt;
&lt;br /&gt;
1. Удалите старую версию драйвера:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf remove *nvidia*&lt;br /&gt;
или, если драйвер ставился вручную:&lt;br /&gt;
# nvidia-uninstall&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Скачайте новый файл .run и повторите установку:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# systemctl stop gdm&lt;br /&gt;
# bash bla.run --dkms&lt;br /&gt;
# dracut -f&lt;br /&gt;
# reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Восстановление при сбое ==&lt;br /&gt;
&lt;br /&gt;
Если система не загружается после установки драйвера:&lt;br /&gt;
&lt;br /&gt;
1. Загрузитесь с Live-диска ROSA.  &lt;br /&gt;
2. Определите корневой раздел и смонтируйте его:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mount -t btrfs -o subvol=@ /dev/sda2 /mnt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Войдите в chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# for i in /dev /dev/pts /proc /sys /run; do mount --bind $i /mnt$i; done&lt;br /&gt;
# chroot /mnt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Удалите драйвер и пересоздайте initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# nvidia-uninstall&lt;br /&gt;
# dracut -f&lt;br /&gt;
# update-grub&lt;br /&gt;
# exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Перезагрузитесь.  &lt;br /&gt;
Система должна загрузиться с открытым драйвером Nouveau.&lt;br /&gt;
&lt;br /&gt;
== Полезные советы ==&lt;br /&gt;
&lt;br /&gt;
Перед установкой драйвера рекомендуется создать снимок системы с помощью Timeshift:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# timeshift --create --comments &amp;quot;Перед установкой NVIDIA&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В случае проблем можно быстро вернуть систему в рабочее состояние с помощью отката.&lt;/div&gt;</summary>
		<author><name>Braumann</name></author>
	</entry>
</feed>