Úvod GNU/Linux Software Ke stažení Odkazy

Vaše IP: 34.204.168.209
Počet návštěv: 1473514
Hledání příkazů operačního systému Linux podle syntaxe nebo popisu.

Nastavení vzhledu stránek
Dark
Silver
Green
Grey

Radek Tříška

E-mail a Jabber :
radek(at)fastlinux(dot)eu
mseed@njs.netlab.cz

Sekce V.I.P. uživatelů


Portage - nástroje pro správu software (Gentoo Linux)

Obsah


Úvod

Balíček (program) se v Gentoo Linuxu jmenuje Ebuild. Ebuild není celý program ale jen textový soubor, ve kterém je popsáno odkud se mají stáhnout zdrojové kódy, jaké balíčky jsou na něm závislé, parametry kompilace, patche, ...

V /usr/portage/ jsou uloženy všechny dostupné balíčky v podobě Ebuildů pěkně rozdělené do kategorií.

# ls -al /usr/portage/

celkem 502
drwxr-xr-x 163 root    root     4840 10. dub 11.39 .
drwxr-xr-x  17 root    root      504  4. led 20.42 ..
drwxr-xr-x  43 portage portage  1256 10. dub 11.39 app-accessibility
drwxr-xr-x 179 portage portage  5136 10. dub 11.39 app-admin
drwxr-xr-x   4 portage portage   128 10. dub 11.39 app-antivirus
drwxr-xr-x  88 portage portage  2304 10. dub 11.39 app-arch
drwxr-xr-x  35 portage portage   976 10. dub 11.39 app-backup
drwxr-xr-x  28 portage portage   760 10. dub 11.39 app-benchmarks
drwxr-xr-x  64 portage portage  1712 10. dub 11.39 app-cdr
drwxr-xr-x  84 portage portage  2320 10. dub 11.39 app-crypt
drwxr-xr-x 359 portage portage 11888 10. dub 11.39 app-dicts
drwxr-xr-x  45 portage portage  1424 10. dub 11.39 app-doc
drwxr-xr-x  78 portage portage  1976 10. dub 11.39 app-editors
drwxr-xr-x 185 portage portage  5048 10. dub 11.39 app-emacs
drwxr-xr-x  95 portage portage  2952 10. dub 11.39 app-emulation
drwxr-xr-x  24 portage portage   640 10. dub 11.39 app-forensics
drwxr-xr-x 101 portage portage  2936 10. dub 11.39 app-i18n
drwxr-xr-x  28 portage portage   824 10. dub 11.39 app-laptop
drwxr-xr-x 235 portage portage  6224 10. dub 11.39 app-misc
drwxr-xr-x  34 portage portage   944 10. dub 11.39 app-mobilephone
drwxr-xr-x  64 portage portage  1760 10. dub 11.39 app-office
drwxr-xr-x  60 portage portage  2000 10. dub 11.39 app-pda
drwxr-xr-x  45 portage portage  1272 10. dub 11.39 app-portage
drwxr-xr-x  34 portage portage   896 10. dub 11.39 app-shells
drwxr-xr-x 261 portage portage  6920 10. dub 11.39 app-text
drwxr-xr-x  96 portage portage  2848 10. dub 11.39 app-vim
drwxr-xr-x 132 portage portage  3544 10. dub 11.39 app-xemacs
drwxr-xr-x  18 portage portage   480 10. dub 11.39 dev-ada
drwxr-xr-x  46 portage portage  1280 10. dub 11.39 dev-cpp
drwxr-xr-x  85 portage portage  2416 10. dub 11.39 dev-db
drwxr-xr-x  61 portage portage  1952 10. dub 11.39 dev-dotnet
drwxr-xr-x  63 portage portage  1960 10. dub 11.39 dev-embedded
drwxr-xr-x  38 portage portage  1040 10. dub 11.39 dev-games
drwxr-xr-x  86 portage portage  2344 10. dub 11.39 dev-haskell
drwxr-xr-x 484 portage portage 14112 10. dub 11.39 dev-java
drwxr-xr-x  98 portage portage  2560 10. dub 11.39 dev-lang
drwxr-xr-x 331 portage portage  8816 10. dub 11.39 dev-libs
drwxr-xr-x 217 portage portage  6496 10. dub 11.39 dev-lisp
drwxr-xr-x  44 portage portage  1232 10. dub 11.39 dev-ml
drwxr-xr-x 951 portage portage 31008 10. dub 11.39 dev-perl
drwxr-xr-x 164 portage portage  5848 10. dub 11.39 dev-php
drwxr-xr-x  98 portage portage  3096 10. dub 11.39 dev-php5
drwxr-xr-x 505 portage portage 14168 10. dub 11.39 dev-python
drwxr-xr-x 322 portage portage  9144 10. dub 11.39 dev-ruby
drwxr-xr-x  38 portage portage  1064 10. dub 11.38 dev-scheme
drwxr-xr-x  45 portage portage  1168 10. dub 11.38 dev-tcltk
drwxr-xr-x  84 portage portage  2224 10. dub 11.38 dev-tex
drwxr-xr-x  85 portage portage  3456 10. dub 11.38 dev-texlive
drwxr-xr-x   8 portage portage   248 10. dub 11.38 dev-tinyos
drwxr-xr-x 273 portage portage  7256 10. dub 11.38 dev-util
drwxr-xr-x  39 root    root     1016 10. dub 11.38 dev-vcs
drwxrwsr-x   5 root    portage 84832 10. dub 13.03 distfiles
drwxr-xr-x   4 portage portage  7624 10. dub 11.38 eclass
drwxr-xr-x  74 portage portage  2168 10. dub 11.38 games-action
drwxr-xr-x 124 portage portage  3536 10. dub 11.38 games-arcade
drwxr-xr-x  72 portage portage  1952 10. dub 11.38 games-board
drwxr-xr-x  79 portage portage  2200 10. dub 11.38 games-emulation
drwxr-xr-x  15 portage portage   408 10. dub 11.38 games-engines
drwxr-xr-x 137 portage portage  4440 10. dub 11.38 games-fps
drwxr-xr-x  14 portage portage   400 10. dub 11.38 games-kids
drwxr-xr-x  70 portage portage  2448 10. dub 11.38 games-misc
drwxr-xr-x  19 portage portage   520 10. dub 11.38 games-mud
drwxr-xr-x 102 portage portage  2792 10. dub 11.38 games-puzzle
drwxr-xr-x  20 portage portage   552  1. čec  2007 games-roguelike
drwxr-xr-x  35 portage portage  1016 10. dub 11.38 games-rpg
drwxr-xr-x  16 portage portage   480 10. dub 11.38 games-server
drwxr-xr-x  24 portage portage   712 10. dub 11.38 games-simulation
drwxr-xr-x  20 portage portage   568 10. dub 11.38 games-sports
drwxr-xr-x  58 portage portage  1632 10. dub 11.38 games-strategy
drwxr-xr-x  39 portage portage  1040 10. dub 11.38 games-util
drwxr-xr-x  35 portage portage  1064 10. dub 11.38 gnome-base
drwxr-xr-x  65 portage portage  2152 10. dub 11.38 gnome-extra
drwxr-xr-x  41 portage portage  1144 10. dub 11.38 gnustep-apps
drwxr-xr-x   9 portage portage   312 10. dub 11.38 gnustep-base
drwxr-xr-x  21 portage portage   608 10. dub 11.38 gnustep-libs
drwxr-xr-x  22 root    root      712 10. dub 11.38 gpe-base
drwxr-xr-x   9 root    root      288  6. bře 19.06 gpe-utils
-rw-r--r--   1 root    root      121  1. led 01.05 header.txt
drwxr-xr-x  12 portage portage   352 10. dub 11.38 java-virtuals
drwxr-xr-x 297 portage portage  8744 10. dub 11.38 kde-base
drwxr-xr-x  53 portage portage  1616 10. dub 11.38 kde-misc
drwxr-xr-x   2 portage portage 16640  3. dub 18.05 licenses
drwxr-xr-x   3 root    root       72 22. kvě  2008 local
drwxr-xr-x  17 portage portage   528 10. dub 11.38 lxde-base
drwxr-xr-x  47 portage portage  1520 10. dub 11.38 mail-client
drwxr-xr-x  59 portage portage  1688 10. dub 11.38 mail-filter
drwxr-xr-x  15 portage portage   416 10. dub 11.38 mail-mta
drwxr-xr-x 147 portage portage  4848 10. dub 11.38 media-fonts
drwxr-xr-x 189 portage portage  5064 10. dub 11.38 media-gfx
drwxr-xr-x 284 portage portage  7600 10. dub 11.38 media-libs
drwxr-xr-x 283 portage portage  9336 10. dub 11.38 media-plugins
drwxr-xr-x  11 portage portage   304 10. dub 11.38 media-radio
drwxr-xr-x 363 portage portage  9840 10. dub 11.38 media-sound
drwxr-xr-x  36 portage portage  1096 10. dub 11.38 media-tv
drwxr-xr-x 179 portage portage  4952 10. dub 11.38 media-video
drwxr-xr-x   6 portage portage   272 10. dub 11.45 metadata
drwxr-xr-x 247 portage portage  6584 10. dub 11.38 net-analyzer
drwxr-xr-x  77 portage portage  2112 10. dub 11.38 net-dialup
drwxr-xr-x  38 portage portage  1024 10. dub 11.38 net-dns
drwxr-xr-x  32 portage portage   928 10. dub 11.38 net-firewall
drwxr-xr-x  22 portage portage   640 10. dub 11.38 net-fs
drwxr-xr-x  34 portage portage   904 10. dub 11.38 net-ftp
drwxr-xr-x  64 portage portage  1712 10. dub 11.38 net-im
drwxr-xr-x  74 portage portage  1968 10. dub 11.38 net-irc
drwxr-xr-x 114 portage portage  3192 10. dub 11.38 net-libs
drwxr-xr-x 112 portage portage  3120 10. dub 11.38 net-mail
drwxr-xr-x 339 portage portage  9432 10. dub 11.38 net-misc
drwxr-xr-x  17 portage portage   456 10. dub 11.38 net-nds
drwxr-xr-x  14 portage portage   384 10. dub 11.38 net-news
drwxr-xr-x  21 portage portage   544 10. dub 11.38 net-nntp
drwxr-xr-x  39 portage portage  1112 10. dub 11.38 net-print
drwxr-xr-x  34 portage portage   912 10. dub 11.38 net-proxy
drwxr-xr-x  76 portage portage  2088 10. dub 11.38 net-p2p
drwxr-xr-x  16 portage portage   520 10. dub 11.38 net-voip
drwxr-xr-x  80 portage portage  2416 10. dub 11.38 net-wireless
drwxr-xr-x 163 portage portage  5240 10. dub 11.38 net-zope
drwxr-xr-x  65 portage portage  2032 10. dub 11.38 perl-core
drwxr-xr-x  15 portage portage   744 10. dub 11.38 profiles
drwxr-xr-x  20 portage portage   568 10. dub 11.38 rox-base
drwxr-xr-x  33 portage portage   912 10. dub 11.38 rox-extra
drwxr-xr-x  20 portage portage   544 10. dub 11.38 sci-astronomy
drwxr-xr-x 127 portage portage  3440 10. dub 11.38 sci-biology
drwxr-xr-x  24 portage portage   696 10. dub 11.38 sci-calculators
drwxr-xr-x  45 portage portage  1240 10. dub 11.38 sci-electronics
drwxr-xr-x  34 portage portage  1000 10. dub 11.38 sci-geosciences
drwxr-xr-x  91 portage portage  2456 10. dub 11.38 sci-chemistry
drwxr-xr-x 127 portage portage  3392 10. dub 11.38 sci-libs
drwxr-xr-x  39 portage portage  1000 10. dub 11.38 sci-mathematics
drwxr-xr-x  18 portage portage   504 10. dub 11.38 sci-misc
drwxr-xr-x  22 portage portage   584 23. bře 04.37 sci-physics
drwxr-xr-x  32 portage portage   840 10. dub 11.38 sci-visualization
drwxr-xr-x   2 portage portage    80 25. zář  2009 scripts
drwxr-xr-x  65 portage portage  2208 10. dub 11.38 sec-policy
-rw-r--r--   1 root    root     7583  8. dub 00.05 skel.ebuild
-rw-r--r--   1 root    root     3656  5. dub 14.05 skel.ChangeLog
-rw-r--r--   1 portage portage  1238 28. čec  2008 skel.metadata.xml
drwxr-xr-x 220 portage portage  6136 10. dub 11.38 sys-apps
drwxr-xr-x  48 portage portage  1392 10. dub 11.38 sys-auth
drwxr-xr-x  49 portage portage  1320 25. lis 17.38 sys-block
drwxr-xr-x  34 portage portage   936 10. dub 11.38 sys-boot
drwxr-xr-x  43 portage portage  1168 10. dub 11.38 sys-cluster
drwxr-xr-x  47 portage portage  1264 10. dub 11.38 sys-devel
drwxr-xr-x  17 portage portage   560 10. dub 11.38 sys-freebsd
drwxr-xr-x  96 portage portage  2584 10. dub 11.38 sys-fs
drwxr-xr-x  26 portage portage   824 10. dub 11.38 sys-kernel
drwxr-xr-x  63 portage portage  1760 10. dub 11.38 sys-libs
drwxr-xr-x  30 portage portage   856 10. dub 11.38 sys-power
drwxr-xr-x  32 portage portage   872 10. dub 11.38 sys-process
drwxr-xr-x 112 portage portage  3536 10. dub 11.38 virtual
drwxr-xr-x  73 portage portage  2240 10. dub 11.38 www-apache
drwxr-xr-x  76 portage portage  2176 10. dub 11.38 www-apps
drwxr-xr-x  38 portage portage  1016 10. dub 11.38 www-client
drwxr-xr-x  14 portage portage   416 10. dub 11.38 www-misc
drwxr-xr-x  14 root    root      448 10. dub 11.38 www-plugins
drwxr-xr-x  28 portage portage   744 10. dub 11.38 www-servers
drwxr-xr-x  18 portage portage   544 10. dub 11.37 xfce-base
drwxr-xr-x  57 portage portage  2192 10. dub 11.37 xfce-extra
drwxr-xr-x  95 portage portage  2448 10. dub 11.38 x11-apps
drwxr-xr-x   6 portage portage   200 10. dub 11.38 x11-base
drwxr-xr-x  78 portage portage  2792 10. dub 11.38 x11-drivers
drwxr-xr-x 136 portage portage  3864 10. dub 11.38 x11-libs
drwxr-xr-x 239 portage portage  6472 10. dub 11.38 x11-misc
drwxr-xr-x 213 portage portage  6232 10. dub 11.37 x11-plugins
drwxr-xr-x  34 portage portage  1064 10. dub 11.37 x11-proto
drwxr-xr-x  27 portage portage   744 10. dub 11.37 x11-terms
drwxr-xr-x 114 portage portage  3912 10. dub 11.37 x11-themes
drwxr-xr-x  49 portage portage  1312 10. dub 11.37 x11-wm

# ls -al /usr/portage/games-strategy/

celkem 10
drwxr-xr-x  58 portage portage 1632 10. dub 14.38 .
drwxr-xr-x 163 root    root    4840 10. dub 14.38 ..
drwxr-xr-x   2 portage portage  176 10. dub 14.38 asc
drwxr-xr-x   3 portage portage  200  1. čen  2009 attal
drwxr-xr-x   3 portage portage  200  1. dub 08.36 boswars
drwxr-xr-x   2 portage portage  184 10. dub 14.38 castle-combat
drwxr-xr-x   2 portage portage  176 10. dub 14.38 coldwar
drwxr-xr-x   2 portage portage  176 10. dub 14.38 coldwar-demo
drwxr-xr-x   2 portage portage  176 10. dub 14.38 crimson
drwxr-xr-x   3 portage portage  208 17. čec  2009 dark-oberon
drwxr-xr-x   2 portage portage  224 10. dub 14.38 darwinia
drwxr-xr-x   2 portage portage  184 10. dub 14.38 darwinia-demo
drwxr-xr-x   3 portage portage  200  6. dub 15.06 defcon-demo
drwxr-xr-x   2 portage portage  176 10. dub 14.38 dominions2
drwxr-xr-x   2 portage portage  184 10. dub 14.38 dominions2-demo
drwxr-xr-x   3 portage portage  208  4. bře 02.05 dopewars
drwxr-xr-x   3 portage portage  280  5. bře 21.36 freeciv
drwxr-xr-x   3 portage portage  208  7. pro 20.05 freecnc
drwxr-xr-x   2 portage portage  176 10. dub 14.38 freecol
drwxr-xr-x   3 portage portage  200 31. led  2008 freecraft
drwxr-xr-x   3 portage portage  200 11. úno  2009 galaxyhack
drwxr-xr-x   3 portage portage  200 22. bře 20.05 glest
drwxr-xr-x   3 portage portage  200 23. lis 00.36 glob2
drwxr-xr-x   2 portage portage  184 10. dub 14.38 gorky17-demo
drwxr-xr-x   3 portage portage  200 21. lis 20.35 gwp
drwxr-xr-x   2 portage portage  256 10. dub 14.38 hedgewars
drwxr-xr-x   3 portage portage  200 14. dub  2009 heroes3
drwxr-xr-x   2 portage portage  184 10. dub 14.38 heroes3-demo
drwxr-xr-x   2 portage portage  176 10. dub 14.38 knights-demo
drwxr-xr-x   3 portage portage  208  1. lis 09.05 lgeneral
drwxr-xr-x   3 portage portage  200  6. dub 17.06 lightyears
drwxr-xr-x   3 portage portage  240 14. úno  2009 liquidwar
drwxr-xr-x   2 portage portage  184 10. dub 14.38 majesty-demo
drwxr-xr-x   2 root    root     176 17. lis 23.05 maxr
-rw-r--r--   1 portage portage 1137 18. úno  2006 metadata.xml
drwxr-xr-x   2 portage portage  184 10. dub 14.38 mindrover-demo
drwxr-xr-x   2 root    root     176 18. bře 19.06 naev
drwxr-xr-x   3 portage portage  200 21. lis 19.06 netherearth
drwxr-xr-x   3 portage portage  200  6. dub  2009 netpanzer
drwxr-xr-x   3 portage portage  200  6. dub 11.05 outerspace
drwxr-xr-x   3 portage portage  200 17. led 22.35 savage-bin
drwxr-xr-x   2 root    root     184 10. bře 21.05 savage2-bin
drwxr-xr-x   3 portage portage  240  7. dub 22.37 scorched3d
drwxr-xr-x   2 portage portage  168 10. dub 14.38 smac
drwxr-xr-x   3 portage portage  200 23. lis 02.05 tornado
drwxr-xr-x   2 portage portage  224 10. dub 14.38 triplea
drwxr-xr-x   3 portage portage  200 10. bře 20.05 ufo-ai
drwxr-xr-x   2 portage portage  168 10. dub 14.38 uqm
drwxr-xr-x   2 portage portage  176 10. dub 14.38 wargus
drwxr-xr-x   2 portage portage  176 10. dub 14.38 warzone2100
drwxr-xr-x   3 portage portage  240 10. dub 02.05 wesnoth
drwxr-xr-x   3 portage portage  200 23. led 17.08 widelands
drwxr-xr-x   3 portage portage  240 30. bře 05.37 wormux
drwxr-xr-x   2 portage portage  176 10. dub 14.38 xbattle
drwxr-xr-x   3 portage portage  208 25. říj 16.35 xbattleai
drwxr-xr-x   3 portage portage  200 21. pro  2008 xconq
drwxr-xr-x   3 portage portage  200 12. úno  2009 xscorch
drwxr-xr-x   2 portage portage  168 10. dub 14.38 x2
drwxr-xr-x   2 portage portage  176 10. dub 14.38 x2-demo

Portage je systém na správu Ebuildů, který nám umožní snadnou instalaci, upgrade, odinstalaci programů v našem PC.

zpět na obsah


Synchronizace stromu portage:

Chceme-li instalovat nové programy (balíčky), musíme upgradnout náš adresář /usr/portage/ s nejnovějším dostupným na internetu, aby jsme měli dostupné nové Ebuildy. Standardně se využívá podpora rsync aby se nemusel stahovat úplně celý strom portage ale jen změny. Je-li použití znemožněno například firewallem můžeme použít nástroj emerge-websync.

# emerge --sync

Další možnost je použít příkaz eix-sync, který je součástí balíku app-portage/eix. Program eix provede emerge --sync a navíc vypíše informace o změnách v portage.

# eix-sync

zpět na obsah


Instalace programů:

O instalaci se stará nástroj emerge. Naštěstí umí pracovat i se závislostmi, což znamená že automaticky zkontroluje váš systém a doinstaluje i další balíčky (soft, knihovny, ...) potřebné pro běh námi vybrané aplikace.

Instalace nového programu probíhá tak, že nejdříve stáhne zdroják, rozbalí ho, opatchuje a zkompiluje. Kompilace trvá déle než instalace binárních (již zkompilovaných) souborů, ale umožní optimalizovat program dle našich požadavků.

# emerge blender - Nainstaluje program blender.
# emerge -p blender - Jen vypíše co se bude dít při instalaci.
# emerge -pv blender - Vypíše co se bude dít při instalaci a zobrazí nastavení USE
# emerge -f blender - Jen stáhne program blender a závislosti, ale nekompiluje.
# emerge -u world - Nainstaluje nejnovější verze všech programů v systému.
# emerge -u --deep world - Nainstaluje nejnovější verze úplně všech balíčku i knihoven.
# emerge --newuse world - Přeinstaluje všechny programy podle aktuálního USE nastavení.
# emerge -e system - Znovu přeloží všechny systémové balíčky.

Jednotlivé parametry programu emerge můžeme bezproblémů kombinovat a zapisovat v krátkém nebo dlouhém tvaru (-u | --update).

Pokud se chci podívat co se bude dít při aktualizaci celého systému zadám:
# emerge -pv --update --deep --newuse world nebo # emerge -pvDNu world

Jestliže bych tedy chtěl zaktualizovat celý systém mohu to udělat příkazem:
# emerge --update --deep --newuse world nebo # emerge -DNu world

# emerge -DNua world - zobrazí co se bude aktualizovat a případně provede aktualizaci

emerge

Pokud chci stáhnout jenom zdrojáky a nechat si instalaci na později:
# emerge --fetchonly --update --deep --newuse world nebo # emerge -DNuf world

zpět na obsah


Odinstalace programů:

# emerge --unmerge blender - Odinstaluje program blender.

Odinstalace nepotřebných programů:

Při odinstalaci se neodstraní závislé balíčky, ale i to se dá vyřešit pomocí přepínače --depclean. Tato operace nemusí být vždy úplně bezpečná a doporučuje se dělat zálohy. Já osobně jsem zatím žádný neřešitelný problém neměl, jelikož existuje utilitka revdep-rebuild(balíček: gentoolkit), která zkontroluje systém a opraví případné problémy například špatně slinkované knihovny. V každém případě, když nevíte co děláte tak --depclean vynechte.

# emerge -pv --depclean - Ukáže co považuje za nepotřebné.
# emerge --depclean - Odstraní balíčky na které neukazujou žádné závislosti. (POZOR !!!)
# revdep-rebuild - Zkontroluje a opraví nekonzistence.

# emerge --prune - Jestliže máme instalované některé balíčky ve více verzích, odinstaluje všechny starší verze.

zpět na obsah


Vyhledávací funkce:

# emerge --search mplayer - Vypíše všechny balíčky a informace o nich kterým vyhovuje alespoň část jména mplayer

Výborný nástroj na vyhledávání je program eix, který je součástí balíku app-portage/eix

# eix blender - Vypíše všechny balíčky a informace o nich kterým vyhovuje alespoň část jména blender
# eix -S "flight simulator" - Vypíše všechny balíčky které mají v popisu flight simulator

eix

Následující aplikace jsou součástí balíčku gentoolkit

# genlop -l - Vypíše seznam všech balíčků jak jsme je postupem času instalovali.
# genlop -t blender - Vypíše jak dlouho trvala kompilace programu blender.
# genlop -e blender - Vypíše historii balíčku.
# genlop -r - Ukáže seznam provedených synchonizací portage stromu.
# genlop -u blender - Ukáže kdy byl balíček odinstalován (--unmerge).

# equery uses mplayer - Zobrazí detailní informace o USE proměných programu mplayer.
# equery b soubor - Ukáže balíčky kterým patří zadaný soubor.
# equery g mplayer - Ukáže závislosti programu.
# equery h doc - Ukáže balíčky které mají nastaven danný USE-flag (doc).
# equery w blender - Ukáže celou cestu k danému balíčku(ebuidu).
# equery depends imagemagick - Ukáže závislosti balíčku imagemagick.

Užitečný je také program epm, který je součástí balíčku epm.

# epm -qa - Vypíše všechny nainstalované balíčky
# epm -ql blender - Vypíše soubory, které patří balíčku blender
# epm -qi blender - vypíše informace o balíčku blender
# epm -qf /usr/bin/blender - Vypíše jméno balíčku, do kterého patří soubor /usr/bin/blender
# epm -q blender - zobrazí verzi balíčku blender
# epm -qG blender - zobrazí skupinu, do které patří balíček blender

zpět na obsah


Detekce a odstranění známých chyb:

# glsa-check -t all - Zobrazí všechny známé nezazáplatované chyby v našem systému.
# glsa-check -d 200509-08 - Ukáže jak odstranit nezazáplatovanou díru.
# glsa-check -f 200509-08 - Opraví danou chybu.
# glsa-check -f all - Opraví všechny díry v systému.

zpět na obsah


USE flagy:

Instalaci(kompilaci) programů můžeme velice slušně ovlivnit. Gentoo k tomuto účelu používá tzv. USE flagy. USE flag je vlastně jen značka, které řekne programu co do sebe má přikompilovat nebo vypustit.

Když se podíváme například na nastavení USE u programu mplayer získáme pěkný přehled co je zaplé(+) a vyplé(-).

# emerge -pv mplayer
These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] media-video/mplayer-1.0_pre7-r1  -3dfx +3dnow
-3dnowext +X -aac +aalib +alsa (-altivec) +arts -bidi -bindist
-bl +cdparanoia -cpudetection -custom-cflags -debug -dga -directfb
+doc -dts -dv -dvb +dvd +dvdread -edl +encode +esd* -fbcon -ggi
+gif +gtk -i8x0 +ipv6 +jack -joystick +jpeg -libcaca -lirc -live
-livecd -lzo +mad -matroska -matrox +mmx -mmxext -mythtv -nas
+nls -nvidia +opengl -oss +png -real -rtc -samba +sdl +sse -sse2 
-svga -tga -theora +truetype -v4l -v4l2 +vorbis +win32codecs
-xanim -xinerama +xmms +xv +xvid -xvmc 0 kB

Pro přidání či ubrání USE flagu můžeme použít dva hlavní způsoby. Liší se tím, jestli mají vliv jen na jeden daný balíček nebo na celý systém.

Globální nastavení USE:

Chceme-li přidat nějaký flag všem programům zadáme ho do /etc/make.conf. Odstranění flagu se dělá akorát připsáním (-) před název flagu.

USE="-oss apache2 ipv6 jack aalib slang audiofile cdparanoia doc"

Lokální nastavení USE:

Nastavení USE pro jednotlivé balíčky se provádí v /etc/portage/package.use

Příklad souboru /etc/portage/package.use
app-office/openoffice -gtk
media-gfx/blender -nsl
media-video/dvdrip mplayer subtitles
dev-php/php mysql

Flagedit

flagedit je nástroj pro snadné nastavení USE flagů, je součástí balíku app-portage/flagedit.

# flagedit +gtk -qt -kde - povolí nebo zakáže globální USE flagy.
# flagedit media-video/avidemux -qt4 aac x264 - povolí nebo zakáže USE flagy pro konkrétní balík.

Pokud nevím co jaký USE flag znamená mohu použít program equery z balíku app-portage/gentoolkit.

equery uses

zpět na obsah


Maskované ebuildy:

Maskované ebuildy jsou balíčky v testovací verzi nebo verzi, která obsahuje nějakou chybu. Seznam maskovaných ebuildů je uložen v souboru /usr/portage/profiles/package.mask.

Testovací verze programů můžeme nainstalovat, tak že vytvoříme soubor /etc/portage/package.keywords a vložíme na každý řádek jeden ebuild s příponou ~x86 (přípona se může lišit podle architektury počítače na kterém pracujeme).

Příklad souboru /etc/portage/package.keywords

x11-drivers/ati-drivers ~x86
app-admin/eselect-opengl ~x86
app-admin/eselect ~x86

Maskované chybové ebuildy musíme vložit do souboru /etc/portage/package.unmask

Příklad souboru /etc/portage/package.unmask

x11-drivers/ati-drivers
app-admin/eselect-opengl
app-admin/eselect

Autounmask:

Program autounmask zjednoduší proces odmaskování, sám edituje potřebné konfigurační soubory.

# emerge app-portage/autounmask - nainstaluje program autounmask.

Použití je jednoduché:

# autounmask =media-gfx/blender-9999 - odmaskuje daný balík.

autounmask

zpět na obsah


Aktualizace konfiguračních souborů

Po aktualizaci systému potřebují občas některé programy zaktualizovat také své konfigurační soubory. Nový konfigurační soubor se uloží jako ._cfg0000_<jméno>. Pomocí jednoduchých nástrojů můžeme automaticky sloučit změny tzn. zaktualizovat konfigurační soubory a mít pod kontrolou případné změny konfigurace.

Pro automatické slučování změn můžeme použít například následující programy které jsou obsaženy v balíku sys-apps/portage

# etc-update - slučuje změny v konf. souborech

Please select a file to edit by entering the corresponding number.
              (-1 to exit) (-3 to auto merge all remaining files)
                           (-5 to auto-merge AND not use 'mv -i'):

# dispatch-conf - slučuje změny v konf. souborech a udržuje historii změn

>> q quit, h help, n next, e edit-new, z zap-new, u use-new
   m merge, t toggle-merge, l look-merge:

zpět na obsah


Logování průběhu kompilací:

Při kompilaci většího množství balíků nestihneme sledovat zajímavé informace na monitoru, které se občas hodí pro pozdější konfiguraci. Zapnutím logování získáme možnost uchovat si informace uložené v textových souborech pro pozdější prostudování.

Zapnutí provedeme vložením parametru PORT_LOGDIR=/var/log/portage do /etc/make.conf

# echo "PORT_LOGDIR=/var/log/portage" >> /etc/make.conf

Logovací soubory jsou uloženy v /var/log/portage.

zpět na obsah


Portage Overlay:

Portage overlay je užitečný pro instalování ebuildů které nejsou v oficiálním stromu portage. Je to vlastně náš další portage strom.

Zapnutí je jednoduché, stačí přidat do konfiguračního souboru /etc/make.conf proměnnou PORTDIR_OVERLAY:

# echo "PORTDIR_OVERLAY=/usr/local/portage"' >> /etc/make.conf

Tímto příkazem jsme nastavili, že náš neoficiální strom bude umístěn v adresáři /usr/local/portage. Tento adresář si můžeme změnit podle naší potřeby.

Jestliže nemáme adresář /usr/local/portage vytvořen, je čas ho vytvořit:

# mkdir -p /usr/local/portage

A můžeme začít používat portage overlay.

Máme-li nový (stažený, napsaný) ebuild, nejdříve koukneme do jaké kategorie patří. Jaké jsou kategorie můžeme zjistit prohlédnutím adresáře /usr/portage. Například program Blender patří do kategorie media-gfx.

V adresáři /usr/local/portage vytvoříme podadresář s názvem kategorie pro náš ebuild. (např.: games-simulation)

A můžeme si náš ebuild (např. dangerdeep-0.2.2.ebuild) nakopírovat do adresáře s kategorií /usr/local/portage/games-simulation/dangerdeep/

Po nakopírování si vytvoříme soubory se součty, aby je portage mohl zkontrolovat. Vejdeme do adresáře s naším ebuildem a zadáme:

# ebuild dangerdeep-0.2.2.ebuild manifest - ve starých verzích portage ebuild dangerdeep-0.2.2.ebuild digest

A můžeme instalovat nově přidané programy.

# emerge dangerdeep

Když si budeme chtít vytvořit kategorii, která není obsažena v /usr/portage musíme instalovat program pomocí # emerge --digest kategorie/balík

zpět na obsah


Eclean - distfiles cleaner.

Gentoo si ukládá všechny stažené zdrojáky z instalací v adresáři /usr/portage/distfiles

Po delším používání Gentoo se velikost tohoto adresáře zvětšuje a může mít i několik GB. Pro úsporu místa na disku buď ručně smažeme obsah tohoto adresáře, nebo použijeme utilitku eclean-dist. Ta má tu výhodu, že smaže jen soubory, které nemáme nainstalované a nechá zdrojáky programů, které používáme. Výborná to věc, když nemáme doma internet a musíme všechno nosit odjinud.

Eclean je součástí balíčku gentoolkit:

# eclean-dist -pd - ukáže co bude mazat

# eclean-dist -d - vymaže nepotřebné soubory

Užitečný je i přepínač -i který se ptá každého souboru před jeho smazáním

zpět na obsah


Profily.

Profil specifikuje výchozí hodnoty CHOST, CFLAGS a jiné důležité proměnné, dále specifikuje defaultni nastaveni USE flagů a verze balíků, které bude systém používat. Na moderním gentoo existuje více profilů a můžeme si vybrat jaký chceme používat.

Nastavení profilu se dělá nasměrováním symbolického odkazu na adresu žádaného profilu.

Ruční nastavení může vypadat např. takto.

rm /etc/make.profile - smaže starý odkaz na profil
ln -s /usr/portage/profiles/default/linux/x86/10.0/desktop/ /etc/make.profile - vytvoří nový odkaz na profil

Pro snadné nastavení můžeme použít program eselect který najdeme v balíku app-admin/eselect

eselect

zpět na obsah


Pro systémy bez přístupu k internetu:

Aktualizovat náš portage (seznam balíků, které systém může používat) můžeme i bez přímého připojení k internetu. Můj postup je následující.

Stáhneme poslední zabalený portage. Adres kde ho můžeme najít je mnoho, proto uvedu jen dvě.

http://gentoo.mirror.web4u.cz/
http://gentoo.supp.name/

Na těchto adresách najdeme poslední zabalený portage. Jméno souboru odpovídá datu vytvoření (například soubor portage-20061102.tar.bz2 byl vytvořen 02.11.2006). Soubor si doneseme a zkopírujeme do našeho Gentoo bez internetu.

Před samotným rozbalením nového portage si přejmenujeme starý adresář /usr/portage na /usr/portage_old. Tento krok je potřebný pro zachování adresáře /usr/portage/distfiles, ve kterém jsou uloženy všechny dříve stažené balíčky. Ušetříme si tím zbytečné stahování navíc.

# mv /usr/portage /usr/portage_old

Rozbalíme stažený soubor do /usr

# tar -xvjf portage-20061102.tar.bz2 -C /usr

Po rozbalení máme portage nainstalován. Teď už jen vrátit adresář /usr/portage_old/distfiles do /usr/portage a smazat zbytečný /usr/portage_old

# mv /usr/portage_old/distfiles /usr/portage
# rm -r /usr/portage_old

!Portage je zaktualizován tak můžeme pokračovat!

Chceme-li stáhnout balíčky někde jinde a donést si je domů můžeme. # emerge -pf blender vypíše adresy odkud stáhnout potřebné balíčky pro program blender. Takto to funguje i pro upgrade celého systému stačí přidat přepínač -pf a uložit si výsledek do souboru, podle kterého pak stahujeme. Stažené balíčky jednoduše nakopírujeme do /usr/portage/distfiles/ a můžeme kompilovat.

Pokud nemáme internet doma a můžeme si soubory stáhnout jinde, tak si to můžeme zjednodušit. Následující příkaz uloží adresy souborů potřebných pro aktualizaci systému do souboru stahnout.txt

emerge -pf --update --newuse --deep world | tr " " "\n" >> stahnout.txt

Ve starších verzích portage použijeme: emerge -pf --update --newuse --deep world 2>&1 >/dev/null | tr " " "\n" >> stahnout.txt

Soubor stahnout.txt si doneseme k internetu a stáhneme balíčky najednou pomocí wgetu. Program wget můžeme s přehledem použít i na stojích s MS Windows, protože existují i binárky pro tento systém a jsou relativne malé (stačí soubor wget.exe).

wget -i stahnout.txt -nc

Stažené balíčky doneseme domů, nakopírujeme do /usr/portage/distfiles/ a můžeme aktualizovat.

# emerge --update --deep --newuse world

zpět na obsah


Problémy a jejich řešení.

Během kompilace může dojít k přerušení za nenadálých okolností (vypnutí proudu a podobně). Tento problém vyřešíme zadáním # emerge --resume, což řekne portage systému aby pokračoval v poslední přerušené kompilaci.

Jestliže kompilace selže na překladu nejakého balíku, můžeme tento balík (poslední) přeskočit příkazem # emerge --resume --skipfirst a pokračovat v selhané kompilaci.

zpět na obsah

| Verze projektu: 1.52 | © 2000 - 2011 | Historie |