MyTetra Share
Делитесь знаниями!
Установка и удаление программ
Время создания: 09.07.2013 21:36
Раздел: linux - gentoo
Запись: lesnik757/mytetra/master/base/1373384208p6qs2rgsjv/text.html на raw.githubusercontent.com


Поиск программ

Для быстрого поиска программ служит программа eix (пакет app-portage/eix), имеющая собственную базу данных для ускорения поиска.

Пример:

eix mozilla
eix -S browser

Отобразить список установленных пакетов можно при помощи команды:

qlist -I

Отобразить список установленных пакетов с версией:

qlist -Iv

Отобразить список установленных пакетов с версией и USE флагами:

qlist -Uv

Если вы не нашли интересующей вас программы в дереве портежей, вы можете поискать ее в оверлеях. Для поиска воспользуйтесь сайтом http://gpo.zugaina.org. Название оверлея будет справа в нижней строке результата поиска.
Прежде чем установить программу, найденную на сайте, подключите оверлей в вашу систему, выполнив:

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/opera(комментарии можно опустить).

echo "=www-client/opera-11.10.2092 ~amd64" >> /etc/portage/package.keywords/opera

Исправление зависимостей

Когда вы вносите изменения в установленные пакеты, может наступить случай нарушения зависимостей. Чтобы выявить и исправить такие нарушения, мы рекомендуем после обновления или удаления какой-либо программы выполнять команду revdep-rebuild.

Пример:

revdep-rebuild

Настройки программ

Во время обновления программ, для предотвращения ошибок, новые файлы настроек создаются с суффиксом ._cfg0000 _. Для некоторых сервисов важно после обновления заменять старые настройки новыми. Иногда старые настройки могут привести в нерабочее состояние установленную программу, например, старые скрипты запуска сервисов, расположенные в директории /etc/init.d.
Для своевременной замены конфигурационных файлов используйте программу 
dispatch-conf.

Пример:

dispatch-conf

После запуска программа будет показывать отличия новой версии каждого конфигурационного файла от старого. Обратите внимание: если настройки файла были модифицированы программой [[calculate]] (вы увидите соответствующий комментарий), заменять эти настройки не следует - нажмите клавишу "z" для пропуска изменений. Для замены файла новым нажмите клавишу "u".

Загрузка сервисов

Для добавления и удаления скрипта из уровня запуска служит скрипт rc-update.

Пример:

rc-update show
rc-update add numlock default
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}" 

Далее, все действия не отличаются от обычной установки программ, с той лишь разницей, что качаются дельты исходников, что в разы сокращает объем необходимого на обновление трафика.

Чистка distfiles

С течением времени может накопиться достаточно большое количество разных версий пакетов программ. При нехватке дискового пространства вы можете удалить пакеты с устаревшими версиями программ, для этого воспользуйтесь программой eclean-dist (app-portage/gentoolkit):

eclean-dist

Дефрагментация дисков

Современные файловые системы, используемые в Linux, минимизируют фрагментацию дисков, поэтому существует достаточно небольшое количество программ для дефрагментации.

Для файловой системы XFS - пакет sys-fs/xfsdump (утилиты для дефрагментации и настройки xfs).

Пример команды для просмотра текущей фрагментации диска:

xfs_db -r -c frag /dev/sda2

Пример команды для дефрагментирования:

xfs_fsr -v /dev/sda2

Проверка жесткого диска

Для проверки жесткого диска на битые сектора используйте утилиту badblocks.

badblocks -svn -o /sda_log.txt -b 4096 -c 256 -p 2 /dev/sda

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования