Getting started with emerge
Emerge is the front-end for funtoo's portage package manager. With emerge its easy to install, update or remove packages.
Update package database
Sync local package database.
# emerge --sync
Search packages by name.
# emerge -s firefox # emerge --search firefox
Search packages by description.
# emerge -S web browser # emerge --searchdesc web browser
# emerge firefox
Install multiple packages.
# emerge firefox thunderbird
Install package. Ask for confirmation before performing any changes. Show verbose output.
# emerge -av firefox
# emerge -C firefox # emerge --unmerge firefox
Remove package. Ask for confirmation before performing any changes.
# emerge -aC firefox
Remove orphaned packages. Ask for confirmation before performing any changes.
# emerge -a --depclean
Update all packages.
# emerge -uDN @world
Update all packages. Ask for confirmation before performing any changes. Show verbose output.
# emerge -uavDN @world
- Updates the portage tree that is located in /usr/portage by default.
- --search -s
- Searches for matches of the supplied string in the portage tree.
- --searchdesc -S
- Matches the search string against the description field as well as the package name.
- --ask -a
- Ask for confirmation before performing any changes.
- --pretend -p
- Instead of actually performing the merge, simply display what *would* have been installed if --pretend weren't used.
- --unmerge -C
- Removes all matching packages.
- --update -u
- Updates packages to the best version available, which may not always be the highest version number due to masking for testing and development.
- --deep [DEPTH] -D
- force emerge to consider the entire dependency tree of packages, instead of checking only the immediate dependencies of the packages.
- --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.
- 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).
Emerge can be configured with /etc/portage/make.conf
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="*" 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"
Per-package use flags can be configured with /etc/portage/package.use
x11-wm/dwm savedconfig media-sound/ncmpcpp visualizer clock taglib
If you want to install package that has not been tested on your architecture you need to edit /etc/portage/package.accept_keywords
For further info see emerge man page.
$ man emerge