注意:

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

Install/Introducing Portage/ru

From Funtoo
< Install
Revision as of 10:57, February 21, 2021 by R.ivan (talk | contribs)
Jump to navigation Jump to search
Other languages:
English • ‎español • ‎português do Brasil • ‎русский • ‎中文(中国大陆)‎

Руководство по установке: Введение в Portage

Install Guide, Chapter 12 < Prev Next >

Менеджер пакетов Funto Linux под названием Portage имеет команду под названием emerge которая используется для сборки и установки пакетов из исходных текстов. Также эта команда обеспечивает контроль за всеми зависимостями этих пакетов. Запустить emerge можно следующим образом:

(chroot) # emerge packagename

Когда Вы устанавливаете пакет, указав его имя в командной строке, Portage записывает его имя в файл /var/lib/portage/world. Он предполагает, что если Вы решили установить пакет по его имени, Вы вероятнее всего рассматриваете его как часть вашей системы и в будущем его нужно будет обновлять. Это очень удобная вещь, поскольку, если все такие пакеты добавлены в группу world, всю систему можно обновить лишь набрав следующую команду:

chroot # ego sync
chroot # emerge -auDN @world

Это - "официальный" метод обновления системы Funtoo Linux. Выполняя код, указанный выше, мы сначала обновим наше дерево Portage с помощью git, чтобы получить самые последние версии ebuild-ов (скриптов сборки), после чего запустим команду emerge для обновления набора пакетов world. У emerge есть опции командной строки чтобы:

  • a - показать список пакетов для установки и спросить (ask), хотите ли мы продолжить или нет.
  • u - обновить (update) указанные пакеты -- если они уже установлены, повторно переустанавливать их не надо.
  • D - просматривать полное дерево зависимостей пакетов при поиске обновлений. Другими словами, провести глубокое (deep) обновление.
  • N - обновить все пакеты, для которых был изменен (new=новые) список USE-флагов.

Также Вам следует хотя бы иногда использовать параметр --with-bdeps=y при обновлении -@world . Это обеспечит обновление также и зависимостей для собираемых пакетов.

Разумеется, иногда бывает желание установить пакет без добавления его в файл world. Это часто нужно при временной установке пакета или когда Вы знаете, что этот пакет является зависимостью для какого-то другого пакета. Для получения такого эффекта, emerge можно вызвать следующим образом:

(chroot) # emerge -1 packagename

Опытным пользователям также может быть интересно оснакомиться с wiki-страницей Emerge.

Обновление "Мира"

Некоторые пакеты в Funtoo Stage3 компилируются с включенным по умолчанию USE-флагом bindist. (Флаг bindist управляет включением или отключением опций для проприетарных и/или запатентованных частей кода, которые нельзя распространять на образах из-за проблем с лицензированием). Вы можете заметить проблему разрешения зависимостей с флагами USE bindist во время обновления пакетов после начальной настройки системы. Чтобы избежать потенциальных проблем, обновите систему перед первой загрузкой или установкой любого другого пакета, как показано ниже:

(chroot) # ego sync
(chroot) # emerge -auDN @world
   Important

Прочитайте все появившиеся сообщения и следуйте их инструкциям. Это особенно важно, если вы обновили Perl или Python.

   Important

Если вы выбираете другие файловые системы, указанные в этом руководстве, например, JFS, XFS, ZFS или Btrfs, пожалуйста, не забудьте установить все необходимые пакеты, чтобы вы смогли провести проверку файловой системы при загрузке. Для JFS это jfsutils, аналогичные пакеты существуют для всех файловых систем.

Install Guide, Chapter 12 < Prev Next >