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
- --unmerge -C
- Удаляет все совпавшие с запросом пакеты
- --update -u
- Обновляет пакеты до версии, маркированной как лучшая; учтите, что это не обязательно последняя выпущенная версия, поскольку отдельные версии могут маскироваться для тестирования и дальнейшей разработки.
- --deep [DEPTH] -D
- Принудительно указывает emerge считывать полное дерево зависимостей пакетов вместо проверки прямых зависимостей.
- --newuse -N
- Tells emerge to include installed packages where USE flags have changed since compilation.
- --depclean -c
- Remove orphaned packages. Cleans the system by removing packages that are not associated with explicitly merged packages.
- --autounmask-write
- Automatically write package.use settings as necessary to satisfy dependencies.
- --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