Note

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

Difference between revisions of "Install/Introducing Portage/ru"

From Funtoo
Jump to navigation Jump to search
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(28 intermediate revisions by 3 users not shown)
Line 6: Line 6:
{{InstallNavigation|num=12|prev=Configuration Files|next=Kernel}}</noinclude>
{{InstallNavigation|num=12|prev=Configuration Files|next=Kernel}}</noinclude>


Portage, the Funtoo Linux package manager has a command called <code>emerge</code> which is used to build and install packages from source. It also takes care of installing all of the package's dependencies. You call emerge like this:
Менеджер пакетов Funto Linux под названием Portage имеет команду под названием <code>emerge</code> которая используется для сборки и установки пакетов из исходных текстов. Также эта команда обеспечивает контроль за всеми зависимостями этих пакетов. Запустить emerge можно следующим образом:


{{console|body=
{{console|body=
(chroot) # ##i##emerge packagename
%chroot% ##i##emerge packagename
}}
}}


When you install a package by specifying its name in the command-line, Portage records its name in the <code>/var/lib/portage/world</code> file. It does so because it assumes that, since you have installed it by name, you want to consider it part of your system and want to keep the package updated in the future. This is a handy feature, since when packages are being added to the <code>world</code> set, we can update our entire system by typing:
Когда Вы устанавливаете пакет, указав его имя в командной строке, Portage записывает его имя в файл <code>/var/lib/portage/world</code>. Он предполагает, что если Вы решили установить пакет по его имени, Вы вероятнее всего рассматриваете его как часть вашей системы и в будущем его нужно будет обновлять. Это очень удобная вещь, поскольку, если все такие пакеты добавлены в набор  <code>world</code>, всю систему можно обновить лишь набрав следующую команду:


{{console|body=
{{console|body=
(chroot) # ##i##ego sync
%chroot% ##i##ego sync
(chroot) # ##i##emerge -auDN @world
%chroot% ##i##emerge -auDN @world
}}
}}


This is the "official" way to update your Funtoo Linux system. Above, we first update our Portage tree using git to grab the latest ebuilds (scripts), and then run an emerge command to update the <code>world</code> set of packages. The options specified tell {{c|emerge}} to:
Это - "официальный" метод обновления системы Funtoo Linux. Выполняя код, указанный выше, мы сначала обновим наше дерево Portage с помощью git, чтобы получить самые последние версии ebuild-ов (скриптов сборки), после чего запустим команду emerge для обновления набора пакетов <code>world</code>. У <code>emerge</code> есть опции командной строки чтобы:


* '''<code>a</code>''' - show us what will be emerged, and '''ask''' us if we want to proceed
* '''<code>a</code>''' - показать список пакетов для установки и спросить ('''ask'''), хотите ли мы продолжить или нет.
* '''<code>u</code>''' - '''update''' the packages we specify -- don't emerge them again if they are already emerged.
* '''<code>u</code>''' - обновить ('''update''') указанные пакеты -- если они уже установлены, повторно переустанавливать их не надо.
* '''<code>D</code>''' - Consider the entire dependency tree of packages when looking for updates. In other words, do a '''deep''' update.
* '''<code>D</code>''' - просматривать полное дерево зависимостей пакетов при поиске обновлений. Другими словами, провести глубокое ('''deep''') обновление.  
* '''<code>N</code>''' - Update any packages that have changed ('''new''') USE settings.
* '''<code>N</code>''' - обновить все пакеты, для которых был обновлен ('''new''') список USE-флагов.


You should also consider passing <code>--with-bdeps=y</code> when emerging @world, at least once in a while. This will update build dependencies as well.
Разумеется, иногда бывает желание установить пакет без добавления его в файл <code>world</code>. Это часто нужно при временной установке пакета или когда Вы знаете, что этот пакет является зависимостью для какого-то другого пакета. Для получения такого эффекта, emerge можно вызвать следующим образом:
 
Of course, sometimes we want to install a package but not add it to the <code>world</code> file. This is often done because you only want the package installed temporarily or because you know the package in question is a dependency of another package. If this behavior is desired, you call emerge like this:


<console>
<console>
(chroot) # ##i##emerge -1 packagename
%chroot% ##i##emerge -1 packagename
</console>
</console>


Advanced users may be interested in the [[Emerge]] wiki page.
Опытные пользователи могут заинтересоваться wiki-страницей [[Emerge]].
 
==== Updating World ====
 
Certain packages in the Funtoo stage3 tarball are compiled with the bindist USE flag enabled by default. (The bindist flag controls enabling or disabling of options for proprietary and/or patented parts of code which is not allowed to be distributed in images due to licensing issues). You may notice a dependency resolution problem with bindist USE flags during updating packages after initial system setup. To avoid potential problems, '''update the system before first boot or any other package installation''' as shown below:
 
<console>
(chroot) # ##i##ego sync
(chroot) # ##i##emerge -auDN @world
</console>


{{fancyimportant|1=
<noinclude>{{InstallNavigation|num=12|prev=Configuration Files|next=Kernel|align=right}}</noinclude>
Make sure you read any post emerge messages and follow their instructions. This is especially true if you have upgraded perl or python.}}
{{fancyimportant|1=
If you choose different file systems then the ones in this guide, like JFS, XFS, ZFS or Btrfs, make sure the kernel has the tools to check them. For JFS the package is jsfutils, similar packages exist for all file systems.}}

Latest revision as of 22:55, October 6, 2022

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-флагов.

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

chroot # emerge -1 packagename

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

Install Guide, Chapter 12 < Prev Next >