9. Системные утилиты¶
- Системные утилиты
- Управление ПО
- Поиск программ
- Установка и удаление программ
- Исправление зависимостей
- Настройки программ
- Управление сервисами
- Содержимое пакета
- Обеспечение безопасности
- Полезное
- Зависимости пакетов
- Экономия трафика
- Чистка distfiles
- Дефрагментация дисков
- Проверка жесткого диска
Управление ПО¶
Поиск программ¶
Для быстрого поиска программ служит программа eix
(пакет app-portage/eix
), имеющая собственную базу данных для ускорения поиска.
Пример:
eix mozilla eix -S browser
Отобразить список установленных пакетов можно при помощи команды:
qlist -I
Отобразить список установленных пакетов с версией:
qlist -Iv
Отобразить список установленных пакетов с версией и USE флагами:
qlist -Uv
Если вы не нашли интересующей вас программы в дереве портежей, вы можете поискать ее в оверлеях. Для поиска воспользуйтесь сайтом
Прежде чем установить программу, найденную на сайте, подключите оверлей в вашу систему, выполнив:
layman -a <оверлей>
Список оверлеев можно получить командой:
layman -L
Установка и удаление программ¶
Для установки и удаления программ используйте программу emerge (sys-apps/portage)
.
emerge kde-base/kgoldrunner emerge -C mc
В приведенном примере будет установлена игра kgoldrunner
и удалена программа mc
(Midnight Commander).
В случае если программа замаскирована, вы можете воспользоваться опцией --autounmask
для вызова справки по размаскировке пакетов.
Пример установки замаскированной версии пакета:
emerge --autounmask =www-client/opera-11.10.2092
В конце перечня пакетов, подлежащих установке, вы увидите следующие рекомендации:
The following keyword changes are necessary to proceed: #required by =www-client/opera-11.10.2092 (argument) =www-client/opera-11.10.2092 ~amd64
Поместите текст под фразой "The following keyword changes are necessary to proceed:" в файл /etc/portage/package.keywords/custom
(комментарии можно опустить).
echo "=www-client/opera-11.10.2092 ~amd64" >> /etc/portage/package.keywords/custom
Есть и более простой способ подтверждения размаскировки - использовать dispatch-conf
(см. ниже).
Исправление зависимостей¶
Когда вы вносите изменения в установленные пакеты, может наступить случай нарушения зависимостей. Чтобы выявить и исправить такие нарушения, мы рекомендуем после обновления или удаления какой-либо программы выполнять команду revdep-rebuild
.
Пример:
revdep-rebuild
Настройки программ¶
Во время обновления программ, для предотвращения ошибок, новые файлы настроек создаются с суффиксом ._cfg0000_
. Для некоторых сервисов важно после обновления заменять старые настройки новыми. Иногда старые настройки могут привести в нерабочее состояние установленную программу, например, старые скрипты запуска сервисов, расположенные в директории /etc/init.d
.
Для своевременной замены конфигурационных файлов используйте программу dispatch-conf
.
Пример:
dispatch-conf
После запуска программа будет показывать отличия новой версии каждого конфигурационного файла от старого. Обратите внимание: если настройки файла были модифицированы Calculate (вы увидите соответствующий комментарий), заменять эти настройки не следует - нажмите клавишу z для пропуска изменений. Для замены файла новым нажмите клавишу u.
Управление сервисами¶
Для добавления и удаления скрипта из уровня запуска служит скрипт rc-update
.
Примеры:
# вывести список сервисов rc-update show # добавить numlock на уровень запуска default rc-update add numlock default # перестать запускать numlock rc-update del numlock
Показать запущенные сервисы можно командой:
rc-status --all
Содержимое пакета¶
Получить перечень файлов установленного пакета, а также узнать, какому пакету принадлежит файл в системе, можно при помощи программ qlist
и qfile
(app-portage/portage-utils
).
Пример:
# список файлов пакета app-portage/portage-utils qlist -ae app-portage/portage-utils # узнать пакет в который входит qfile qfile qfile
Вам также может пригодиться программка which
(sys-apps/which
), показывающая путь к файлу.
Пример:
# which equery /usr/bin/equery
Обеспечение безопасности¶
Постоянное обновление системы - одно из важнейших мероприятий по обеспечению безопасности.
Можно следить за обновлениями посредством GLSA - glsa-check
(app-portage/gentoolkit
).
Просмотреть пакеты, которые необходимо переустановить:
glsa-check -p $(glsa-check -t all)
Переустановка уязвимых пакетов:
glsa-check -f $(glsa-check -t all)
Не помешает после этой операции проверить зависимости, см. выше Исправление зависимостей.
Полезное¶
Зависимости пакетов¶
Получить информацию о зависимостях пакетов можно с помощью программы qdepends
(app-portage/portage-utils
).
Пример:
qdepends -Q python
Экономия трафика¶
Если у Вас дорогой или лимитированный трафик, то можно сэкономить с помощью пакета getdelta
.
Для его установки, если у вас архитектура i686, выполните:
ACCEPT_KEYWORDS=~x86 emerge getdelta
если x86_64, то:
ACCEPT_KEYWORDS=~amd64 emerge getdelta
Необходимо добавить в файл /etc/make.conf
строку:
FETCHCOMMAND="/usr/bin/getdelta.sh \${URI} \${DISTDIR}/\${FILE}"
Далее все действия не отличаются от обычной установки программ, с той лишь разницей, что качаются дельты исходников, что значительно сокращает объем необходимого на обновление трафика.
Чистка distfiles¶
С течением времени может накопиться достаточно большое количество разных версий пакетов программ. При нехватке дискового пространства вы можете удалить пакеты с устаревшими версиями программ, для этого воспользуйтесь программой eclean-dist
(app-portage/gentoolkit
):
eclean-dist
Дефрагментация дисков¶
Современные файловые системы, используемые в Linux, минимизируют фрагментацию дисков, поэтому существует достаточно небольшое количество программ для дефрагментации.
Для файловой системы XFS - пакет sys-fs/xfsdump
(утилиты для дефрагментации и настройки XFS).
Пример команды для просмотра текущей фрагментации диска:
xfs_db -r -c frag /dev/sdaХ
где Х - номер раздела.
Пример команды для дефрагментирования:
xfs_fsr -v /dev/sdaX
Проверка жесткого диска¶
Для проверки жесткого диска на битые секторы используйте утилиту badblocks
.
badblocks -svn -o /sda_log.txt -b 4096 -c 256 -p 2 /dev/sda