Note

The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.

Emerge

From Funtoo
Jump to navigation Jump to search
This page is a translated version of the page Emerge and the translation is 100% complete.
Other languages:
English • ‎Türkçe • ‎español • ‎português do Brasil • ‎русский • ‎中文(中国大陆)‎

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
   Note

Требование запустить 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