Að skilja APT, APT-Cache og oft notaðar skipanir þeirra


Ef þú hefur einhvern tíma notað Debian eða Debian dreifingu eins og Ubuntu eða Linux Mint, þá eru líkurnar á því að þú hafir notað APT pakkakerfið til að setja upp eða fjarlægja hugbúnað. Jafnvel þó þú hafir aldrei pælt í skipanalínunni, þá er undirliggjandi kerfið sem knýr pakkastjóra GUI þitt APT kerfið.

Í dag ætlum við að skoða nokkrar kunnuglegar skipanir og kafa ofan í nokkrar sjaldnar eða oftar notaðar APT skipanir og varpa ljósi á þetta frábærlega hannaða kerfi.

Hvað er APT?

APT stendur fyrir Advanced Package Tool. Það sást fyrst í Debian 2.1 aftur árið 1999. Í meginatriðum er APT stjórnunarkerfi fyrir dpkg pakka, eins og sést með viðbótinni *.deb. Það var hannað til að stjórna ekki aðeins pökkum og uppfærslum, heldur til að leysa mörg ósjálfstæðisvandamál þegar settir eru upp ákveðnir pakkar.

Eins og allir sem voru að nota Linux á þessum brautryðjendadögum, þá þekktum við allt of hugtakið „háð helvíti“ þegar við reyndum að setja saman eitthvað frá uppruna, eða jafnvel þegar fjallað var um fjölda einstakra RPM skráa Red Hat.

APT leysti öll þessi ósjálfstæðisvandamál sjálfkrafa og gerði uppsetningu á hvaða pakka sem er, óháð stærð eða fjölda ósjálfstæðna, að einni línu skipun. Fyrir okkur sem unnum tímunum saman við þessi verkefni, var þetta ein af þessum augnablikum sem „sól skilur skýin“ í Linux lífi okkar!

Að skilja APT stillingar

Þessi fyrsta skrá sem við ætlum að skoða er ein af stillingarskrám APT.

$ sudo cat /etc/apt/sources.list
deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise main
deb-src http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise main

deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise-updates main
deb-src http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise-updates main

deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise universe
deb-src http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise universe
deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise-updates universe
deb-src http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise-updates universe

deb http://security.ubuntu.com/ubuntu precise-security main
deb-src http://security.ubuntu.com/ubuntu precise-security main
deb http://security.ubuntu.com/ubuntu precise-security universe
deb-src http://security.ubuntu.com/ubuntu precise-security universe

Eins og þú getur líklega ályktað af sources.list skránni minni, þá er ég að nota Ubuntu 12.04 (Precise Pangolin). Ég er líka að nota þrjár geymslur:

  1. Aðalgeymsla
  2. Alheimsgeymsla
  3. Ubuntu öryggisgeymsla

Setningafræði þessarar skráar er tiltölulega einföld:

deb (url) release repository

Meðfylgjandi lína er frumskráargeymslan. Það fylgir svipuðu sniði:

deb-src (url) release repository

Þessi skrá er nokkurn veginn það eina sem þú þarft nokkurn tíma að breyta með APT og líkurnar eru á að sjálfgefnar stillingar muni þjóna þér nokkuð vel og þú þarft aldrei að breyta henni.

Hins vegar eru tímar sem þú gætir viljað bæta við geymslum þriðja aðila. Þú myndir einfaldlega slá þær inn með sama sniði og keyra síðan uppfærsluskipunina:

$ sudo apt-get update

ATH: Vertu mjög meðvitaður um að bæta við geymslum þriðja aðila!!! Bættu aðeins við frá traustum og virtum aðilum. Að bæta við óvissulegum geymslum eða blanda útgáfum getur klúðrað kerfinu þínu alvarlega!

Við höfum skoðað sources.list skrána okkar og vitum núna hvernig á að uppfæra hana, svo hvað er næst? Við skulum setja upp nokkra pakka. Segjum að við séum að keyra netþjón og við viljum setja upp WordPress. Fyrst skulum við leita að pakkanum:

$ sudo apt-cache search wordpress
blogilo - graphical blogging client
drivel - Blogging client for the GNOME desktop
drupal6-mod-views - views modules for Drupal 6
drupal6-thm-arthemia - arthemia theme for Drupal 6
gnome-blog - GNOME application to post to weblog entries
lekhonee-gnome - desktop client for wordpress blogs
libmarkdown-php - PHP library for rendering Markdown data
qtm - Web-log interface program
tomboy-blogposter - Tomboy add-in for posting notes to a blog
wordpress - weblog manager
wordpress-l10n - weblog manager - language files
wordpress-openid - OpenID plugin for WordPress
wordpress-shibboleth - Shibboleth plugin for WordPress
wordpress-xrds-simple - XRDS-Simple plugin for WordPress
zine - Python powered blog engine

Hvað er APT-Cache?

Apt-cache er skipun sem einfaldlega biður um APT skyndiminni. Við sendum leitarfæribreytuna yfir á hana, þar sem fram kom að við viljum augljóslega leita í APT að henni. Eins og við sjáum hér að ofan skilaði leit að \wordpress fjölda pakka sem tengdust leitarstrengnum með stuttri lýsingu á hverjum pakka.

Út frá þessu sjáum við aðalpakkann af \wordpress – bloggstjóra, og viljum setja hann upp. En væri ekki gaman að sjá nákvæmlega hvaða ósjálfstæði verða sett upp ásamt því? APT getur sagt okkur að einnig:

$ sudo apt-cache showpkg wordpress
Versions:
3.3.1+dfsg-1 (/var/lib/apt/lists/us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_precise_universe_binary-amd64_Packages)
 Description Language:
                 File: /var/lib/apt/lists/us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_precise_universe_binary-amd64_Packages
                  MD5: 3558d680fa97c6a3f32c5c5e9f4a182a
 Description Language: en
                 File: /var/lib/apt/lists/us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_precise_universe_i18n_Translation-en
                  MD5: 3558d680fa97c6a3f32c5c5e9f4a182a

Reverse Depends:
  wordpress-xrds-simple,wordpress
  wordpress-shibboleth,wordpress 2.8
  wordpress-openid,wordpress
  wordpress-l10n,wordpress 2.8.4-2
Dependencies:
3.3.1+dfsg-1 - libjs-cropper (2 1.2.1) libjs-prototype (2 1.7.0) libjs-scriptaculous (2 1.9.0) libphp-phpmailer (2 5.1) libphp-simplepie (2 1.2) libphp-snoopy (2 1.2.4) tinymce (2 3.4.3.2+dfsg0) apache2 (16 (null)) httpd (0 (null)) mysql-client (0 (null)) libapache2-mod-php5 (16 (null)) php5 (0 (null)) php5-mysql (0 (null)) php5-gd (0 (null)) mysql-server (2 5.0.15) wordpress-l10n (0 (null))
Provides:
3.3.1+dfsg-1 -
Reverse Provides:

Þetta sýnir okkur að wordpress 3.3.1 er útgáfan sem á að setja upp, geymslan sem það á að setja upp úr, gagnstæða ósjálfstæði og aðrir pakkar sem það veltur á, auk útgáfunúmera þeirra.

ATHUGIÐ: (null þýðir að útgáfan er ekki skilgreind og nýjasta útgáfan í geymslunni verður sett upp.)

Nú, raunveruleg uppsetningarskipun:

$ sudo apt-get install wordpress

Sú skipun mun setja upp WordPress-3.3.1 og öll ósjálfstæði sem eru ekki uppsett.

Auðvitað er það ekki allt sem þú getur gert með APT. Nokkrar aðrar gagnlegar skipanir eru sem hér segir:

ATHUGIÐ: Það er góð venja að keyra apt-get update áður en þú keyrir einhverja röð af APT skipunum. Mundu að apt-get update flokkar /etc/apt/sources.list skrána þína og uppfærir gagnagrunn hennar.

Að fjarlægja pakka er alveg eins auðvelt og að setja upp pakkann:

$ sudo apt-get remove wordpress

Því miður, apt-get remove skipunin lætur allar stillingarskrár óskert. Til að fjarlægja þá líka þarftu að nota apt-get purge:

$ sudo apt-get purge wordpress

Öðru hvoru gætirðu lent í aðstæðum þar sem ósjálfstæði eru brotin. Þetta gerist venjulega þegar þú keyrir ekki apt-get update almennilega og eyðileggur gagnagrunninn. Sem betur fer hefur APT lagfæringu fyrir það:

$ sudo apt-get –f install

Þar sem APT halar niður öllum *.deb skránum úr geymslunni beint á vélina þína (geymir þær í /var/cache/apt/archives) gætirðu viljað fjarlægja þær reglulega til að losa um pláss á disknum:

$ sudo apt-get clean

Þetta er bara lítið brot af APT, APT-skyndiminni og nokkrum af gagnlegum skipunum þess. Það er enn margt sem þarf að læra og kanna nokkrar háþróaðar skipanir í greininni hér að neðan.

  1. 25 Gagnlegar og ítarlegar skipanir APT-GET og APT-CACHE

Eins og alltaf, vinsamlegast skoðaðu man síðurnar fyrir enn fleiri valkosti. Þegar maður hefur kynnst APT er hægt að skrifa frábær Cron forskrift til að halda kerfinu uppfærðu.