The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "Install/Introducing Portage"
Dutch-master (talk | contribs) |
(remove repetitive crap) |
||
(17 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
<translate> | |||
<includeonly> | |||
== Introducing Portage == <!--T:1--> | |||
</includeonly><noinclude><languages/> | |||
= Install Guide: Introducing Portage = | |||
<!--T:2--> | |||
{{InstallNavigation|num=12|prev=Configuration Files|next=Kernel}}</noinclude> | |||
<!--T:16--> | |||
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: | 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: | ||
<!--T:3--> | |||
{{console|body= | {{console|body= | ||
%chroot% ##i##emerge packagename | |||
}} | }} | ||
<!--T:4--> | |||
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: | 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: | ||
<!--T:5--> | |||
{{console|body= | {{console|body= | ||
%chroot% ##i##ego sync | |||
%chroot% ##i##emerge -auDN @world | |||
}} | }} | ||
<!--T:6--> | |||
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: | 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: | ||
<!--T:7--> | |||
* '''<code>a</code>''' - show us what will be emerged, and '''ask''' us if we want to proceed | * '''<code>a</code>''' - show us what will be emerged, and '''ask''' us if we want to proceed | ||
* '''<code>u</code>''' - '''update''' the packages we specify -- don't emerge them again if they are already emerged. | * '''<code>u</code>''' - '''update''' the packages we specify -- don't emerge them again if they are already emerged. | ||
Line 21: | Line 34: | ||
* '''<code>N</code>''' - Update any packages that have changed ('''new''') USE settings. | * '''<code>N</code>''' - Update any packages that have changed ('''new''') USE settings. | ||
<!--T:9--> | |||
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: | 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: | ||
<!--T:10--> | |||
<console> | <console> | ||
%chroot% ##i##emerge -1 packagename | |||
</console> | </console> | ||
<!--T:11--> | |||
Advanced users may be interested in the [[Emerge]] wiki page. | Advanced users may be interested in the [[Emerge]] wiki page. | ||
</translate> | |||
<noinclude>{{InstallNavigation|num=12|prev=Configuration Files|next=Kernel|align=right}}</noinclude> | |||
< | |||
{{ | |||
Latest revision as of 22:54, October 6, 2022
Install Guide: Introducing Portage
Install Guide, Chapter 12 | < Prev | Next > |
Portage, the Funtoo Linux package manager has a command called emerge
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:
chroot # emerge packagename
When you install a package by specifying its name in the command-line, Portage records its name in the /var/lib/portage/world
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 world
set, we can update our entire system by typing:
chroot # ego sync chroot # 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 world
set of packages. The options specified tell emerge
to:
a
- show us what will be emerged, and ask us if we want to proceedu
- update the packages we specify -- don't emerge them again if they are already emerged.D
- Consider the entire dependency tree of packages when looking for updates. In other words, do a deep update.N
- Update any packages that have changed (new) USE settings.
Of course, sometimes we want to install a package but not add it to the world
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:
chroot # emerge -1 packagename
Advanced users may be interested in the Emerge wiki page.
Install Guide, Chapter 12 | < Prev | Next > |