The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Emerge
Emerge это фронтальное решение для менеджера пакетов Portage, который есть в Funtoo. C emerge
очень просто устанавливать, обновлять или удалять пакеты.
Обновление базы данных пакетов
Синхронизируйте мета-репозиторий. Это обновит ваше локальное дерево Portage до последних сценариев пакетов (ebuild
) Funtoo.
root # ego sync
Посмотрите больше информации об app-admin/ego на странице (Wiki Page). Также можно посмотреть страницы справки man
: ego
, ego-profile
, ego-sync
и страницу Funtoo Profiles.
Поиск пакетов
Поиск пакета по имени
root # emerge -s firefox root # emerge --search firefox
Поиск пакета по описанию
root # emerge -S web browser root # emerge --searchdesc web browser
Установка пакетов
Установка одного пакета
root # emerge firefox
Установка нескольких пакетов
root # emerge firefox thunderbird
Установка пакета. Спросить ask
перед применением изменений. Показать подробный verbose
вывод в консоли
root # emerge -av firefox root # emerge --ask firefox
Удаление пакетов
Удалить пакет
root # emerge -C firefox root # emerge --unmerge firefox
Удалить пакет. Спросить ask
перед применением изменений. Все совпавшие с запросом пакеты -C
. Зависимости не проверяются!
root # emerge -aC firefox
Удалить осиротевшие пакеты - не ассоциированные с явно установленными пакетами depclean
.Спросить ask
перед применением изменений
root # emerge -a --depclean
Обновление пакетов
Обновить все пакеты
root # emerge -uDN @world
Обновить update
все пакеты. Спросить ask
перед применением изменений. Показать подробный verbose
вывод в консоли. Cчитать полное deep
дерево зависимостей пакетов, вместо проверки прямых зависимостей пакета. Включить установленные пакеты, в которых с момента предыдущей компиляции изменились флаги newuse
root # emerge -uavDN @world
Во время апгрейда на новую версию perl, необходимо запустить perl-cleaner
следующей командой:
root # emerge -auvDN @world root # perl-cleaner --all
Требование запустить perl-cleaner
отпадёт как только связанные с perl скрипты установки ebuilds обновятся до EAPI 5. EAPI 5 - это версия спецификации Ebuild, которая поддерживает интеллектуальное обновление связанных с perl скриптов
Параметры Emerge
- --sync
- Запускает обновление дерева портов, расположенного по умолчанию в /usr/portage
- --search -s
- Ищет совпадения переданной строки в дереве portage
- --searchdesc -S
- Сверяет поисковый шаблон не только с именем пакета, но и с описанием
- --ask -a
- Запрашивает подтверждение перед применением изменений
- --pretend -p
- Не выполняет установку, а лишь отображает пакеты которые были бы установлены без --pretend
- --unmerge -C
- Удаляет все совпавшие с запросом пакеты
- --update -u
- Обновляет пакеты до версии, маркированной как лучшая; учтите, что это не обязательно последняя выпущенная версия, поскольку отдельные версии могут маскироваться для тестирования и дальнейшей разработки.
- --deep [DEPTH] -D
- Принудительно указывает emerge считывать полное дерево зависимостей пакетов вместо проверки прямых зависимостей.
- --newuse -N
- Включить установленные пакеты, в которых с момента предыдущей компиляции изменились USE флаги
- --depclean -c
- Удалить осиротевшие пакеты - не ассоциированные с явно установленными пакетами
- --autounmask-write
- Изменения записываются в конфигурационные файлы, с учетом переменной CONFIG_PROTECT и опции --ask. Если соответствующий элемент package.* - файл, изменения будут записаны в этот файл; если это каталог, изменения будут сохранены в последний по списку файл. Это сделано для того, чтобы последние изменения всегда имели приоритет перед более ранними.
- --resume -r
- Возобновляет последнюю установку, которая была прервана с возникновением ошибки.
- --jobs[=JOBS] -j [JOBS]
- Указывает количество пакетов для одновременной сборки
- --load-average [LOAD]
- Указывает, что новые сборки не должны начинаться до тех пор, пока идут другие сборки пакетов и средняя нагрузка выше LOAD. (число с плавающей точкой)
Настройки
make.conf
Emerge может быть настроен через редактирование файла /etc/make.conf
, там меняются настройки профилей. Как вы знаете, рекомендуется использовать Funtoo Profiles во всех возможных случаях, чтобы избежать загромождения файла /etc/make.conf
. Имейте в виду, что /etc/portage/make.conf
- это то же самое, что /etc/make.conf
-- они связаны символической ссылкой.
/etc/portage/make.conf
- смотрите страницу Make.conf# override subarch profile
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="-march=native -O2 -pipe"
MAKEOPTS="-j2"
EMERGE_DEFAULT_OPTS="--jobs 2 --load-average 2"
INPUT_DEVICES="evdev synaptics"
VIDEO_CARDS="intel i965"
LINGUAS="en en_US en_GB"
ACCEPT_LICENSE="*"
# Generally, your subarch profile and flavor/mix-ins will set these for you:
USE="mmx mmxext sse sse2 sse3 ssse3 threads alsa X gtk xcb dri opengl vaapi udev \
svg x264 xvid gstreamer webm vpx icu bash-completion vim-pager \
-gnome -xscreensaver -cups -fortran -deprecated -iptables -ipv6 -geoloc \
-mta -sendmail -kmod -tiff -live -quicktime -real -gpm -themes"
Package.use
Индивидуальные флаги для каждого пакета могут быть настроены так
/etc/portage/package.use
x11-wm/dwm savedconfig
x11-drivers/ati-drivers qt4
media-sound/ncmpcpp visualizer clock taglib
package.accept_keywords
Если вы хотите установить пакет, который не тестировался под вашу аритектуру, вам нужно отредактировать
/etc/portage/package.accept_keywords
=app-misc/screenfetch-9999 **
Дополнительные источники
Для просмотра дополнительной информации обратитесь к страницам man
user $ man emerge