Pagsabut sa APT, APT-Cache ug sa Ilang Kanunay nga Gigamit nga mga Sugo


Kung nakagamit ka na sa Debian o usa ka pag-apod-apod nga nakabase sa Debian sama sa Ubuntu o Linux Mint, nan lagmit nga gigamit nimo ang sistema sa pakete sa APT aron ma-install o matangtang ang software. Bisan kung wala ka pa mag-dabble sa command line, ang nagpahiping sistema nga nagpalihok sa imong package manager GUI mao ang APT system.

Karon, atong tan-awon ang pipila ka pamilyar nga mga sugo, ug mosalom sa pipila nga dili kaayo o mas kanunay nga gigamit nga mga mando sa APT, ug maghatag gamay nga kahayag sa kini nga maayo nga gidisenyo nga sistema.

Unsa ang APT?

Ang APT nagpasabot sa Advanced Package Tool. Kini una nga nakita sa Debian 2.1 balik sa 1999. Sa esensya, ang APT usa ka sistema sa pagdumala alang sa dpkg nga mga pakete, nga makita sa extension *.deb. Gidisenyo kini aron dili lamang magdumala sa mga pakete ug mga update, apan aron masulbad ang daghang mga isyu sa pagsalig kung mag-install sa pipila nga mga pakete.

Sama sa bisan kinsa nga naggamit sa Linux kaniadtong mga pioneer nga mga adlaw, pamilyar kaayo kami sa termino nga dependency hell kung gisulayan pag-compile ang usa ka butang gikan sa gigikanan, o bisan kung nag-atubang sa daghang mga indibidwal nga RPM file sa Red Hat.

Gisulbad sa APT ang tanan niini nga mga isyu sa dependency awtomatiko, nga naghimo sa pag-install sa bisan unsang pakete, bisan unsa pa ang gidak-on o gidaghanon sa mga dependency usa ka usa ka linya nga mando. Sa amon nga nagtrabaho sa daghang oras sa kini nga mga buluhaton, usa kini sa mga adlaw nga nagbulag sa mga panganod nga mga higayon sa among kinabuhi sa Linux!

Pagsabut sa APT Configuration

Kini nga una nga file nga atong tan-awon mao ang usa sa mga file sa pagsumpo sa 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

Ingon nga mahimo nimong mahibal-an gikan sa akong sources.list file, naggamit ako Ubuntu 12.04 (Precise Pangolin). Gigamit usab nako ang tulo ka mga repositoryo:

  1. Main Repository
  2. Universe Repository
  3. Ubuntu Security Repository

Ang syntax sa kini nga file medyo yano:

deb (url) release repository

Ang nag-uban nga linya mao ang source file repository. Kini nagsunod sa usa ka susama nga format:

deb-src (url) release repository

Kini nga file mao ra ang butang nga kinahanglan nimo nga i-edit gamit ang APT, ug ang posibilidad nga ang mga default magsilbi kanimo nga maayo ug dili na nimo kinahanglan nga i-edit kini.

Bisan pa, adunay mga higayon nga mahimo nimong idugang ang mga repositoryo sa ikatulo nga partido. Mahimo nimong isulod kini gamit ang parehas nga format, ug dayon ipadagan ang update nga mando:

$ sudo apt-get update

PAHINUMDOM: Hunahunaa pag-ayo ang pagdugang sa mga repositoryo sa ikatulo nga partido !!! Idugang lamang gikan sa kasaligan ug kasaligan nga mga tinubdan. Ang pagdugang sa mga dodgy repository o pagsagol sa mga pagpagawas mahimong seryoso nga makaguba sa imong sistema!

Gitan-aw namo ang among sources.list file ug karon nahibal-an kung unsaon kini pag-update, busa unsa ang sunod? Atong i-install ang pipila ka mga pakete. Ingnon ta nga nagdagan kami usa ka server ug gusto namon i-install ang WordPress. Una atong pangitaon ang package:

$ 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

Unsa ang APT-Cache?

Ang Apt-cache usa ka sugo nga yanong mangutana sa APT cache. Gipasa namo ang parameter sa pagpangita niini, nga nag-ingon nga, klaro, gusto namong pangitaon ang APT alang niini. Sama sa atong makita sa ibabaw, ang pagpangita sa \wordpress mibalik og daghang mga pakete nga may kalabutan sa search string nga adunay mubo nga paghulagway sa matag pakete.

Gikan niini, atong makita ang nag-unang pakete sa \wordpress – weblog manager, ug gusto namong i-install kini. Apan dili ba nindot tan-awon kon unsa gayud ang mga dependency nga i-install uban niini? Ang APT makasulti kanato niana ingon man:

$ 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:

Kini nagpakita kanato nga ang wordpress 3.3.1 mao ang bersyon nga i-install, ang repositoryo diin kini i-install, reverse dependencies, ug uban pang mga pakete nga gisaligan niini, ug ang ilang mga numero sa bersyon.

NOTE: (null nagpasabot nga ang bersyon wala gihubit, ug ang pinakabag-o nga bersyon sa repository i-install.)

Karon, ang aktuwal nga pag-install nga mando:

$ sudo apt-get install wordpress

Kana nga sugo mag-instalar sa WordPress-3.3.1 ug sa tanang dependency nga wala pa ma-install karon.

Siyempre, dili lang kana ang imong mahimo sa APT. Ang ubang mapuslanong mga sugo mao ang mosunod:

PAHINUMDOM: Maayo nga praktis ang pagpadagan sa apt-get update sa dili pa magpadagan sa bisan unsang serye sa APT commands. Hinumdomi, ang apt-get update nag-parse sa imong /etc/apt/sources.list file ug nag-update sa database niini.

Ang pag-uninstall sa usa ka pakete sama ra kadali sa pag-install sa package:

$ sudo apt-get remove wordpress

Ikasubo, ang apt-get remove command gibiyaan ang tanan nga mga file sa pag-configure nga wala’y hunong. Aron makuha usab kini, gusto nimong gamiton ang apt-get purge:

$ sudo apt-get purge wordpress

Matag karon ug unya, mahimo ka makaagi sa usa ka sitwasyon diin adunay mga nabuak nga dependency. Kini kasagaran mahitabo kung dili ka modagan sa apt-get update sa hustong paagi, maguba ang database. Maayo na lang, ang APT adunay ayo alang niini:

$ sudo apt-get –f install

Tungod kay gi-download sa APT ang tanan nga *.deb nga mga file gikan sa repositoryo mismo sa imong makina (gitipigan kini sa /var/cache/apt/archives) mahimo nimong tangtangon kini matag karon ug unya aron mapahawa ang espasyo sa disk:

$ sudo apt-get clean

Kini usa lamang ka gamay nga tipik sa APT, APT-Cache ug pipila sa mga mapuslanon nga mga sugo niini. Adunay daghan pa nga makat-unan ug mag-usisa sa pipila ka mas abante nga mga sugo sa ubos nga artikulo.

  1. 25 Mapuslanon ug Abanteng mga Sugo sa APT-GET ug APT-CACHE

Sama sa kanunay, palihug tan-awa ang mga panid sa tawo alang sa daghang mga kapilian. Kung nahibal-an na sa usa ang APT, posible nga magsulat mga katingad-an nga mga script sa Cron aron mapadayon ang sistema hangtod karon.