Gentoolkit

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Gentoolkit and the translation is 65% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎português do Brasil • ‎svenska • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어

Not to be confused with Genkernel.

Gentoolkit представляет собой набор средств, облегчающих администрирование системы Gentoo и Portage.

Gentoo является уникальнейшим дистрибутивом с некоторыми особенностями, которых нет в других системах. Несколько инструментов были разработаны, чтобы помочь в использовании Gentoo, и сейчас они сгруппированы в пакете app-portage/gentoolkit.

Gentoolkit содержит инструмены, которые помогут пользователям управлять пакетами и отслеживать всё что происходит в их системе. Большинство пользователей — особенно те, кто обновляют систему часто — выиграют от того, что Gentoolkit установлен.

The Gentoolkit commands have man pages, type "man <command>" for each command for full documentation.

Установка

Emerge

root #emerge --ask app-portage/gentoolkit

euse

euse is used to set (disable/enable) USE flags in make.conf, without having to edit the file directly. It is also used to get detailed information about use flags like description, status of flags (enabled/disabled), type of flag (global/local), etc.

Для получения дополнительной информации об использовании флагов, пожалуйста, обратитесь к главе USE-флаги. Смотрите euse -h для получения помощи и всех опций.

Invocation

user $euse --help
euse (0.5.1-r1)
 
Syntax: euse <option> [suboptions] [useflaglist]
 
Options: -h, --help           - show this message
         -V, --version        - show version information
         -i, --info           - show descriptions for the given useflags
         -I, --info-installed - show descriptions for the given useflags and
                                their current impact on the installed system
         -g, --global         - show only global use flags (suboption)
         -l, --local          - show only local use flags (suboption)
         -a, --active         - show currently active useflags and their origin
         -E, --enable         - enable the given useflags
         -D, --disable        - disable the given useflags
         -R, --remove         - remove all references to the given flags from
                                make.conf and package.use to revert to default
                                settings
         -P, --prune          - alias for --remove
         -p, --package        - used with -E, -D, and -R to apply to a
                                specific package only
 
Notes: euse currently works for global flags defined
       in make.globals, make.defaults, make.conf, use.force, and use.mask
       and local flags defined in package.use and individual package ebuilds.
       It might have issues with cascaded profiles. If multiple options are
       specified only the last one will be used.
Заметка
The information provided by euse --help is currently out of date[1]. (2021-10)

Просмотр USE-флагов

Команда euse -a показывает текущие активные USE-флаги и где они активированы.

Есть 7 "столбцов", которые euse использует для того, чтобы показать, активен или неактивен флаг и где установлены флаги. Заглавные буквы для установленных, прописные — для неустановленных:

  • +/-: активен или нет
  • "E": установлен окружением (Environment)
  • "C": установлен в make.Conf
  • "D": установлен в make.Defaults
  • "G": установлен в make.Globals
  • "F": установлен в use.force
  • "m": заменён с помощью use.mask


Full positive values would be [+ECDGFm], full negative values would be [-ecdgfM], full missing values would be [-      ].

Example euse -a output (truncated):

user $euse -a
[...]
flac                [+  D   ] 
fortran             [+  D   ] 
fuse                [-      ] (fuse)
gbm                 [-      ] (archive)
gdbm                [+  D   ] 
gif                 [+  D   ] 
gnutls              [-      ] (gnutls)
gpm                 [+  D   ] 
gtk                 [+  D   ] 
gui                 [+  D   ] 
hdri                [+ C    ] 
heif                [+ C    ] 
hpcups              [+ C    ] 
hwaccel             [-      ] (hwaccel)
iconv               [+  D   ] 
[...]

Так же можно использовать команду euse -a -g, чтобы просмотреть только активные глобальные флаги. Команда euse -a -l делает то же самое для активных локальных флагов. -g и -l являются суб-опциями для euse и для корректного функционирования перед ними необходима опция (такая как -a).

Активация и деактивация USE–флагов

euse может активировать, деактивировать или удалять USE-флаги из файла make.conf. Для этого используются команды euse -E flagname(активировать флаг), euse -D flagname (деактивировать флаг) и euse -P flagname (удалить флаг).

Предупреждение
Не используйте команды euse -E или euse -D без флага. Это действие активирует/деактивирует ВСЕ USE-ФЛАГИ в /etc/portage/make.conf. Копия будет храниться в /etc/portage/make.conf.euse_backup, тем не менее будьте осторожны при использовании euse -E или euse -D.

Активация USE-флага

Use the -E option to enable a USE flag.

root #euse -E 3dfx
/etc/portage/make.conf was modified, a backup copy has been placed at /etc/portage/make.conf.euse_backup

Файл /etc/portage/make.conf выглядит таким, после запуска команды:

Файл make.confПосле активации USE-флага 3dfx
USE="alsa acpi apache2 -arts cups cdr crypt cscope -doc fbcon \
     firefox gd gif gimpprint gnome gpm gstreamer gtkhtml imlib \
     innodb -java javascript jpeg libg++ libwww mad mbox md5sum \
     mikmod mmx motif mpeg mpeg4 mysql ncurses nvidia \
     ogg odbc offensive opengl pam pdflib perl png python \
     quicktime readline sdl spell sse ssl svga tcltk tiff truetype usb \
     vanilla X xosd xv xvid x86 zlib 3dfx"

Деактивация USE-флага

Use the -D option to remove a USE flag.

root #euse -D 3dfx
/etc/portage/make.conf was modified, a backup copy has been placed at /etc/portage/make.conf.euse_backup

Пример файла /etc/portage/make.conf после запуска команды:

Файл make.confПосле деактивации USE-флага 3dfx
USE="alsa acpi apache2 -arts cups cdr crypt cscope -doc fbcon \
     firefox gd gif gimpprint gnome gpm gstreamer gtkhtml imlib \
     innodb -java javascript jpeg libg++ libwww mad mbox md5sum \
     mikmod mmx motif mpeg mpeg4 mysql ncurses nvidia \
     ogg odbc offensive opengl pam pdflib perl png python \
     quicktime readline sdl spell sse ssl svga tcltk tiff truetype usb \
     vanilla X xosd xv xvid x86 zlib -3dfx"
Заметка
euse -D не ``удаляет`` флаг из /etc/portage/make.conf, а добавляет - (минус) перед флагом, чтобы деактивировать его. Используйте опцию для удаления USE–флага, чтобы удалить флаг. Также вы можете отредактировать файл вручную в текстовом редакторе.
Совет
A disabled USE flag is not the same as the absence of the flag in make.conf. A disabled use flag will actively disable features, whereas not listing a flag at all will use the default - enabled or disabled - as set by the package maintainer.

Удаление USE–флага

Use the -P (purge) option to remove a USE flag.

root #euse -P 3dfx

The example /etc/portage/make.conf file, after the command:

Файл make.confAfter disabling the 3dfx USE flag
USE="alsa acpi apache2 -arts cups cdr crypt cscope -doc fbcon \
     firefox gd gif gimpprint gnome gpm gstreamer gtkhtml imlib \
     innodb -java javascript jpeg libg++ libwww mad mbox md5sum \
     mikmod mmx motif mpeg mpeg4 mysql ncurses nvidia \
     ogg odbc offensive opengl pam pdflib perl png python \
     quicktime readline sdl spell sse ssl svga tcltk tiff truetype usb \
     vanilla X xosd xv xvid x86 zlib"

Прочие инструменты

revdep-rebuild

Важно
It is not necessary to run this tool for general use. The portage FEATURE preserve-libs makes the original purpose obsolete. The primary purpose of this tool is now ABI changes for specific libraries when instructions are provided by developers.

Этот инструмент является инструментом для пересборки обратных зависимостей в Gentoo. Он будет сканировать установленные файлы ebuild, чтобы найти пакеты, которые повредились в результате обновлении пакета, от которого они зависят. Он может собрать эти пакеты для пользователя автоматически, но также может случиться, что данный пакет не работает с текущей установленной зависимостью, и в этом случае вы должны обновить сломанный пакет до более новой версии. revdep-rebuild передает флаги emerge, что позволяет использовать опцию --pretend, чтобы увидеть что произойдет, прежде чем произвести реальную операцию.

revdep-rebuild will pass flags to emerge which lets the --pretend flag pass through, to see what is going to be emerged again before going any further.

root #revdep-rebuild -p
 * Configuring search environment for revdep-rebuild
  
 * Checking reverse dependencies
 * Packages containing binaries and libraries broken by a package update
 * will be emerged.
  
 * Collecting system binaries and libraries
 * Generated new 1_files.rr
 * Collecting complete LD_LIBRARY_PATH
 * Generated new 2_ldpath.rr
 * Checking dynamic linking consistency
[ 48% ]  *   broken /usr/lib/gstreamer-0.10/libgsttaglib.la (requires /usr/lib/libtag.la)
[ 64% ]  *   broken /usr/lib/libgdkglext-x11-1.0.la (requires /usr/lib/libGLU.la)
[ 67% ]  *   broken /usr/lib/libgtkglext-x11-1.0.la (requires /usr/lib/libGLU.la)
[ 85% ]  *   broken /usr/lib/python2.6/site-packages/gtk-2.0/gtk/gdkgl/_gdkgl.la (requires /usr/lib/libGLU.la)
 *   broken /usr/lib/python2.6/site-packages/gtk-2.0/gtk/gtkgl/_gtkgl.la (requires /usr/lib/libGLU.la)
[ 97% ]  *   broken /usr/qt/3/lib/libqt-mt.la (requires -lpng)
[ 100% ]
 * Generated new 3_broken.rr
 * Assigning files to packages
 *   /usr/lib/gstreamer-0.10/libgsttaglib.la -> media-plugins/gst-plugins-taglib
 *   /usr/lib/libgdkglext-x11-1.0.la -> x11-libs/gtkglext
 *   /usr/lib/libgtkglext-x11-1.0.la -> x11-libs/gtkglext
 *   /usr/lib/python2.6/site-packages/gtk-2.0/gtk/gdkgl/_gdkgl.la -> dev-python/pygtkglext
 *   /usr/lib/python2.6/site-packages/gtk-2.0/gtk/gtkgl/_gtkgl.la -> dev-python/pygtkglext
 *   /usr/qt/3/lib/libqt-mt.la -> x11-libs/qt
 * Generated new 4_raw.rr and 4_owners.rr
 * Cleaning list of packages to rebuild
 * Generated new 4_pkgs.rr
 * Assigning packages to ebuilds
 * Generated new 4_ebuilds.rr
 * Evaluating package order
 * Generated new 5_order.rr
 * All prepared. Starting rebuild
emerge --oneshot --pretend  dev-python/pygtkglext:0
media-plugins/gst-plugins-taglib:0.10
x11-libs/gtkglext:0
x11-libs/qt:3
  
These are the packages that would be merged, in order:
  
Calculating dependencies... done!
[ebuild   R   ] media-plugins/gst-plugins-taglib-0.10.17
[ebuild   R   ] x11-libs/gtkglext-1.2.0
[ebuild   R   ] x11-libs/qt-3.3.8b-r2
[ebuild   R   ] dev-python/pygtkglext-1.1.0
 * Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.

Если нужно пересобрать некоторые пакеты запустите команду revdep-rebuild без опции и перечисленные пакеты будут пересобраны.

eread

eread это простая утилита для отображения elog-файлов, представленных в Portage начиная с версии 2.1. Сохранение elog файлов можно настроить, установив пару переменных в /etc/portage/make.conf:

Файл make.confАктивация elog
PORTAGE_ELOG_CLASSES="log"
PORTAGE_ELOG_SYSTEM="save"
Заметка
Это только один из способов сохранения elog сообщений. Для получения дополнительной информации о том, как система elog работает в Portage, пожалуйста, обратитесь к соответствующей странице Настольной книги Portage.

После того, как создали удовлетворяющую настройку elog, запустите eread, чтобы посмотреть log файлы.

user $eread
This is a list of portage log items. Choose a number to view that file or type
q to quit.
  
1) app-portage:gentoolkit-0.2.4_pre2:20070320-000256.log
2) app-portage:gentoolkit-0.2.4_pre2:20070320-000258.log
3) app-portage:gentoolkit-0.2.4_pre2:20070320-000319.log
4) app-portage:gentoolkit-0.2.3:20070320-000408.log
Choice?

Выберите номер и файл будет отображаться с использованием программы, указанной в переменной окружения PAGER. Если переменная PAGER не установлена, будет использоваться less. Переменную окружения PAGER можно задать с помощью eselect (модуль pager).

После отображения пункта elog, вам будет предложено удалить файл.

eclean

eclean является инструментом для удаления из системы старых файлов исходного кода и бинарных пакетов.

Во время сборки и установки пакетов, исходные файлы загружаются и сохраняются в DISTDIR, обычно это /usr/portage/distfiles. Со временем они могут накапливаться до нескольких гигабайт, если периодически их не очищать. Пользователь должен запустить eclean-dist, чтобы удалить только исходные файлы из DISTDIR.

Можно создавать архивы установленных пакетов с помощью quickpg или функции FEATURES="buildpkg". Собранные архивы пакетов хранятся в PKGDIR, обычно это /usr/portage/packages. Если они больше не требуется или устарели, то удалить их из PKGDIR можно командой eclean-pkg. Это хороший способ убедиться, что все бинарные пакеты в системе только последних версий.

Более подробную информацию о eclean и советы о том, как поддерживать систему, свободной хлама вы можете прочитать man eclean или проверить статью об eclean.

Смотрите также


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Matt Butcher, John P. Davis, Erwin, Shyam Mani, Xavier Neys, Karl Trygve, José Luis Rivero, Joshua Saddler, Douglas Anderson
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.