GNU/Linux >> Znalost Linux >  >> Linux

Jaký je rozdíl mezi apt-get a aptitude?

Řešení 1:

aptitude je obal pro dpkg stejně jako apt-get/apt-cache, ale je to komplexní nástroj pro vyhledávání/instalaci/odebírání/dotazování. Několik příkladů, které apt nemusí poskytnout:

$ aptitude why libc6
i   w64codecs Depends libc6 (>= 2.3.2)
$ aptitude why-not libc6
Unable to find a reason to remove libc6.

$ aptitude show libc6
Package: libc6
State: installed
Automatically installed: no
Version: 2.9-4ubuntu6
Priority: required
Section: libs
Maintainer: Ubuntu Core developers <[email protected]>
Uncompressed Size: 12.1M
Depends: libgcc1, findutils (>= 4.4.0-2ubuntu2)
Suggests: locales, glibc-doc
Conflicts: libterm-readline-gnu-perl (< 1.15-2), 
tzdata (< 2007k-1), tzdata-etch, nscd (< 2.9)
Replaces: belocs-locales-bin
Provides: glibc-2.9-1
Description: GNU C Library: Shared libraries
 Contains the standard libraries that are used by nearly all programs 
 on the system. This package includes shared versions of the standard 
 C library and the standard math library, as well as many others.

Řešení 2:

[email protected] ~$ aptitude -h | tail -n 1
              This aptitude does not have Super Cow Powers.
[email protected] ~$ apt-get -h | tail -n 1
                   This APT has Super Cow Powers.
[email protected] ~$ aptitude moo
    There are no Easter Eggs in this program.
[email protected] ~$ apt-get moo
         (__)
         (oo)
   /------\/
  / |    ||
 *  /\---/\
    ~~   ~~
...."Have you mooed today?"...
[email protected] ~$ aptitude -v moo
There really are no Easter Eggs in this program.
[email protected] ~$ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
[email protected] ~$ aptitude -vvv moo
Stop it!
[email protected] ~$ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
[email protected] ~$ aptitude -vvvvv moo
All right, you win.

                               /----\
                       -------/      \
                      /               \
                     /                |
   -----------------/                  --------\
   ----------------------------------------------
[email protected] ~$ aptitude -vvvvvv moo
What is it?  It's an elephant being eaten by a snake, of course. 

Řešení 3:

Oficiální nástroj, který se aktuálně používá v rámci instalačního programu Debianu a doporučený v poznámkách k vydání je aptitude .

Aptitude nabízí rozhraní curses (při spuštění bez jakéhokoli parametru) a rozhraní příkazového řádku, které umí téměř vše, co apt-cache /apt-get dělá. Má také lepší překladač závislostí, který vám umožní procházet mezi více řešeními. I když používáte verzi s příkazovým řádkem, můžete pracovat s navrhovaným řešením a dávat dodatečné příkazy nebo rady (jako je instalace nebo odebrání balíčku, který doporučuje jiný).

Ale aptitude je založen na knihovně libapt (nejedná se o přímý obal dpkg) a jako takový závisí na apt takže nemůžete mít aptitude nainstalovaný bez apt-get (který je také v balíčku apt).

$ dpkg --status aptitude| grep Depends
Depends: libapt-pkg-libc6.9-6-4.7, [...]
$ dpkg --status apt|grep Provides
Provides: libapt-pkg-libc6.9-6-4.7
$ dpkg --search /usr/lib/libapt-pkg-libc6.9-6.so.4.7 /usr/bin/apt-get
apt: /usr/lib/libapt-pkg-libc6.9-6.so.4.7
apt: /usr/bin/apt-get

Chcete-li se dozvědět více o tom, jak apt/dpkg/aptitude interagují, můžete se podívat na diagram vytvořený Danielem Burrowsem (hlavním autorem aptitude). Další diagram představuje informace uložené různými nástroji pro správu balíčků:Mapa stavových souborů apt a dpkg.

Můžete si také přečíst můj článek apt-get, aptitude, … vyberte si toho správného správce balíčků

Řešení 4:

aptitude si pamatuje, které balíčky jste záměrně nainstalovali a které byly nainstalovány automaticky, aby byly uspokojeny závislosti. Po odstranění balíčku aptitude odstraní tyto automaticky nainstalované balíčky, aby byl váš systém uklizený. apt-get není tak chytrý.

aptitude se rychle stane nepostradatelným nástrojem, jakmile použijete různá úložiště s různými verzemi balíčku. Představte si, že pracujete s backports.org nebo neoficiální úložiště jako debian-multimedia.org . Potom aptitude zobrazí (v dolní části stránky s podrobnostmi určitého balíčku) dostupné číslo verze a umožní vám jednu vybrat.

Pokud se dostanete do situace, kdy dojde ke konfliktu programů kvůli takovému používání neoficiálních úložišť, zobrazí se "Broken:..." displej v horní části. Můžete zadat l~b (limit / flag / broken) a získáte pouze seznam balíčků, které jsou ve vzájemném konfliktu. Je mnohem snazší vyřešit konflikt ručně.

Dále můžete použít "l ", abyste omezili seznam balíčků. Představte si, že hledáte balíčky, které začínají "openoffice “ a poté stiskněte „l “ a zadejte „^openoffice " (je to regulární výraz) a uvidíte pouze tyto balíčky. Vyberte "plochý seznam balíčků" z nabídky a rychle dosáhnete svého cíle.

Kompletní příručka je velmi rozsáhlá a nabízí vám mnohem více filtrů a možností. I když je neznáte aptitude je šikovná náhrada za apt-get a můžete jej použít s běžnými parametry jako:

aptitude install ... (install or upgrade a package)
aptitude remove ... (remove the binary portions of a package but preserve your /etc configuration)
aptitude purge ... (remove the package completely including your configuration)

Řešení 5:

Kromě poskytování pěkného uživatelského rozhraní konzoly při spuštění aptitude bez argumentů kombinuje různé apt-* příkazy (a dselect ) do jednoho nástroje..

Chcete-li vyhledat balíček a nainstalovat jej, použijte apt-get:

apt-cache search somepkg
apt-get install somepkg

..ale s aptitude je to stejný příkaz:

aptitude search somepkg
aptitude install somepkg

aptitude má některé další funkce, například aptitude changelog somepkg a věci jako držení balíčků (aby se zabránilo jejich upgradu) – nic, čeho byste nemohli dosáhnout pomocí jiných příkazů/metod, je to jen sjednocenější a příjemnější na používání.


Linux
  1. Jaký je rozdíl mezi insmod a modprobe

  2. Jaký je rozdíl mezi mutexem a kritickou sekcí?

  3. Jaký je rozdíl mezi strtok_r a strtok_s v C?

  1. Jaký je rozdíl mezi fsck a e2fsck?

  2. Jaký je rozdíl mezi adduser a useradd?

  3. Jaký je rozdíl mezi ls a l?

  1. Jaký je rozdíl mezi $(CC) a $CC?

  2. Jaký je rozdíl mezi unlink a rm?

  3. Jaký je rozdíl mezi trasou a ip trasou?