Note

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

Emerge

From Funtoo
Revision as of 20:19, March 11, 2021 by R.ivan (talk | contribs)
Jump to navigation Jump to search
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

--unmerge -C
Удаляет все совпавшие с запросом пакеты
--update -u
Обновляет пакеты до версии, маркированной как лучшая; учтите, что это не обязательно последняя выпущенная версия, поскольку отдельные версии могут маскироваться для тестирования и дальнейшей разработки.
--deep [DEPTH] -D
Принудительно указывает emerge считывать полное дерево зависимостей пакетов вместо проверки прямых зависимостей.
--newuse -N
Включить установленные пакеты, в которых с момента предыдущей компиляции изменились USE флаги
--depclean -c
Удалить осиротевшие пакеты - не ассоциированные с явно установленными пакетами
--autounmask-write
Изменения записываются в конфигурационные файлы, с учетом переменной CONFIG_PROTECT и опции --ask. Если соответствующий элемент package.* - файл, изменения будут записаны в этот файл; если это каталог, изменения будут сохранены в последний по списку файл. Это сделано для того, чтобы последние изменения всегда имели приоритет перед более ранними.
--resume -r
Resumes the most recent merge list that has been aborted due to an error.

Возобновляет последнюю установку, которая была прервана с возникновением ошибки.

--jobs[=JOBS] -j [JOBS]
Specifies the number of packages to build simultaneously.
--load-average [LOAD]
Specifies that no new builds should be started if there are other builds running and the load average is at least LOAD (a floating-point number).

Configuration

make.conf

Emerge can be configured by editing /etc/make.conf to customize settings that are set in profiles. However, it's recommended to try to use Funtoo Profiles as much as possible to avoid having to clutter up /etc/make.conf. Also note that /etc/portage/make.conf is the same as /etc/make.conf -- they are symlinked.

   /etc/portage/make.conf - See 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

Per-package use flags can be configured in

   /etc/portage/package.use
x11-wm/dwm savedconfig
x11-drivers/ati-drivers qt4
media-sound/ncmpcpp visualizer clock taglib

package.accept_keywords

If you want to install a package that has not been tested on your architecture you need to edit

   /etc/portage/package.accept_keywords
=app-misc/screenfetch-9999 **

Other Resources

For more info see the emerge man page.

user $ man emerge