Emerge

From Funtoo
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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