5. Выбор программ по умолчанию¶
- Выбор программ по умолчанию
- Файл world
- Мета-пакеты
- Вспомогательные USE-флаги
- CDISTRO
- CALCULATE
- Удаление зависимостей
- Пример удаления Skype
Файл world¶
Состав программ по умолчанию определяет файл /var/lib/portage/world. По мере установки программ в файле world начнут формироваться новые записи. После того, как вы установили пакет X с зависимостями, в world будет добавлена запись только пакета X. Это действие выполняется по умолчанию пакетным менеджером emerge. Не следует пренебрегать этим поведением, так как продублированные в world программы и библиотеки впоследствии могут стать причиной коллизий при обновлении системы, например, когда один пакет замещается другим, при этом удаляемый пакет прописан в файле world. Чтобы установить пакет без записи в world, используйте параметр "-1". Вы можете отредактировать файл world при помощи текстового редактора.
Мета-пакеты¶
В каждой редакции Calculate Linux существует набор программ, установленных по умолчанию. Независимо от того, какой дистрибутив вы используете, он всегда будет включать мета-пакет app-misc/calculate-meta.
Мета-пакет (англ. metapackage) - специальный пакет прикладных программ в пакетных менеджерах, не содержащий устанавливаемого программного обеспечения, но имеющий в зависимостях другие пакеты. Основных назначений мета-пакетов два - установка всегда самой свежей версии программного обеспечения (например, всегда последнего ядра операционной системы) одной и той же командой (не содержащей указания версии устанавливаемого программного обеспечения) и установка больших комплексов программного обеспечения, составляющих логически единую структуру, несмотря на отсутствие зависимостей частей этой структуры друг от друга (например, среды рабочего стола).
В силу отсутствия программного обеспечения, устанавливаемого непосредственно мета-пакетом, удаление самого мета-пакета не приводит к удалению программного обеспечения, установившегося при установке мета-пакета.
Помимо app-misc/calculate-meta существует множество вспомогательных мета-пакетов, разделенных по редакции дистрибутива: app-misc/cld-meta, app-misc/cldg-meta и т.д., либо по назначению: app-misc/cl-graphics-meta, app-misc/cl-network-meta, app-misc/cl-xfce-meta и т.д.
Вспомогательные USE-флаги¶
Для формирования зависимостей мета-пакетов используются два основных USE флага: CDISTRO и CALCULATE, а также вспомогательные, входящие в портежи.
CDISTRO¶
Значение флага CDISTRO определяет редакцию дистрибутива (CLD, CLDG, CDS, desktop и т.д.) и может быть изменено только сменой профиля Calculate (см. eselect profile list). В зависимости от значения флага, в состав дистрибутива входят такие мета-пакеты как app-misc/cld-meta, app-misc/cldg-meta, app-misc/cds-meta и др.
CALCULATE¶
Флаг CALCULATE используется для исключения группы тематических пакетов. По умолчанию CALCULATE равен пустоте и может содержать одно или несколько значений (см. /var/lib/layman/calculate/profiles/desc/calculate.desc), разделенных пробелом:
noapache- исключить пакеты Apache серераnocompiz- исключить пакеты Compiznodecoration- исключить пакеты темnodhcp- исключить пакеты DHCPnodict- исключить пакеты словарейnoftp- исключить пакеты FTP-сервераnognome- исключить пакеты Gnomenographics- исключить пакеты графических утилитnojabber- исключить пакеты jabber сервераnokde- исключить пакеты KDEnokernel- исключить пакеты ядра calculate-sourcesnomail- исключить пакеты почтового сервераnomultimedia- исключить мультимедийные пакетыnomysql- исключить пакеты mysql сервераnonamed- исключить пакеты ДНС сервераnonettools- исключить пакеты сетевых утилитnonetwork- исключить пакеты сетевых приложенийnooffice- исключить office пакетыnoopenbox- исключить пакеты openboxnopgsql- исключить пакеты PostgreSQL сервераnoprinter- исключить поддержку принтеровnoproxy- исключить пакеты прокси-сервераnosamba- исключить пакеты Samba сервераnowireless- исключить поддержку беспроводных сетейnoxfce- исключить XFCEnoxorg- исключить пакеты Xorg-сервера
Значение флага CALCULATE может быть изменено в файле /etc/make.conf. Вы даже можете исключить все зависимости, сохранив лишь минимальный объем дистрибутива: для этого укажите в значении флага "*".
Удаление зависимостей¶
Удаление зависимостей происходит в несколько этапов:
- измените USE флаг
CALCULATE(в/etc/make.conf); - обновите портежи с оверлеем Calculate (eix-sync);
- обновите пакеты (emerge -uDNa world);
- удалите лишние зависимости (emerge -ac).
Второй способ - выяснить зависимости, переустановить мета-пакет с измененным USE-флагом CALCULATE и, наконец, удалить пакет. Далее рассмотрим примеры.
Пример удаления Skype¶
Для примера удалим программу Skype, входящую в дистрибутивы CLD, CLDG и CLDX. Узнать имя пакета программы Skype можно выполнив eix -Ic skype.
- Определим зависимости:
# equery d net-im/skype * These packages depend on net-im/skype: app-misc/cl-nettools-meta-11.6-r3 (cdistro_desktop ? net-im/skype)
- Определим USE флаг мета-пакета:
# equery d app-misc/cl-nettools-meta * These packages depend on app-misc/cl-nettools-meta: app-misc/cld-meta-11.6 (!calculate_nonettools ? app-misc/cl-nettools-meta)
- Отредактируем
/etc/make.conf:CALCULATE="nonettools"
- Переустановим мета-пакет с новым флагом:
emerge -1N app-misc/cld-meta
Обратите внимание, флаг "N" нужен для того, чтобы измененные USE-флаги учитывались, флаг "1", чтобы пакет не попал в world-файл. - Удалим Skype:
emerge -C net-im/skype
Обратите внимание, значение "nonettools" USE флага CALCULATE отключает из зависимостей все программы мета-пакета app-misc/cl-nettools-meta. Увидеть программы, исключенные из зависимостей и, возможно, удалить их вы можете, выполнив emerge -ac.
Скорей всего вы увидите в списке используемые вами программы. Перенесите необходимые вам программы, которые вы хотите оставить в системе в world:
echo app-text/wgetpaste >> /var/lib/portage/world echo net-analyzer/nmap >> /var/lib/portage/world
и т.д.