Unsa ang APT ug Aptitude? ug Unsa ang tinuod nga Kalainan Tali Nila?


Ang aptitude ug apt-get mao ang duha sa mga sikat nga himan nga nagdumala sa pagdumala sa package. Ang duha adunay katakus sa pagdumala sa tanan nga mga matang sa mga kalihokan sa mga pakete lakip ang pag-install, pagtangtang, pagpangita ug uban pa. Unsa ang mga kalainan nga naghimo niining duha ka mga himan nga gikonsiderar nga gilain mao ang sakup niini nga artikulo.

Unsa ang Apt

Ang Apt o Advanced Packaging Tool usa ka libre ug bukas nga gigikanan nga software nga maayo nga nagdumala sa pag-install ug pagtangtang sa software. Sa sinugdan kini gidisenyo alang sa Debian nga .deb nga mga pakete apan kini nahimo nga compatible sa RPM Package Manager.

Ang Apt mao ang tibuok command line nga walay GUI. Sa matag higayon nga gisangpit gikan sa command line uban ang pagpiho sa ngalan sa package nga i-install, makita nga ang package sa gi-configure nga lista sa mga tinubdan nga gipiho sa '/etc/apt/sources.list' uban sa lista sa mga dependency alang sa maong package ug i-sort sila ug Awtomatikong gi-install kini kauban ang karon nga pakete sa ingon gitugotan ang tiggamit nga dili mabalaka sa pag-instalar sa mga dependency.

Makapabag-o kaayo kini nga gitugotan ang Gumagamit nga dali nga makontrol ang lainlaing mga pag-configure, sama sa: pagdugang bisan unsang bag-ong gigikanan sa pagpangita alang sa mga pakete, apt-pinning i.e. pagmarka sa bisan unsang pakete nga dili magamit sa panahon sa pag-upgrade sa sistema sa ingon naghimo sa karon nga bersyon nga ang katapusan nga bersyon nga na-install, \smart ” pag-upgrade ie pag-upgrade sa labing hinungdanon nga mga pakete ug gibiyaan ang labing gamay nga hinungdanon.

Unsa ang Aptitude?

Ang Aptitude mao ang front-end sa advanced packaging tool nga nagdugang usa ka user interface sa functionality, sa ingon nagtugot sa usa ka user nga interactive nga mangita sa usa ka package ug i-install o tangtangon kini. Sa sinugdan gihimo alang sa Debain, ang Aptitude nagpalapad sa iyang gamit sa RPM based distributions usab.

Ang user interface niini gibase sa ncurses library nga nagdugang sa nagkalain-laing elemento niini nga sagad makita sa GUI's. Usa sa highlight niini mao nga kini makasundog sa kadaghanan sa mga argumento sa command line sa apt-get.

Sa kinatibuk-an, ang Aptitude usa ka mas taas nga lebel nga mga managers sa pakete nga nag-abstract sa mga detalye sa ubos nga lebel, ug mahimong molihok sa parehas nga interactive UI mode nga nakabase sa text ug bisan sa command line nga non-interactive mode.

Kung gusto nimo mahibal-an ang paggamit sa APT ug Aptitude nga adunay mga panig-ingnan sa tinuud nga kalibutan, kinahanglan ka nga moadto sa mosunud nga mga artikulo.

  1. Pagkat-on sa 25 ka Mapuslanong Ehemplo sa APT-GET ug APT-CACHE
  2. Pagkat-on sa Linux Package Management gamit ang Aptitude ug Dpkg

Unsa ang mga Kalainan Tali sa APT ug Aptitude?

Gawas sa panguna nga kalainan mao nga ang Aptitude usa ka taas nga lebel nga tagdumala sa pakete samtang ang APT usa ka ubos nga lebel nga tagdumala sa pakete nga mahimong magamit sa ubang mga tagdumala sa package nga mas taas nga lebel, ang uban pang mga nag-unang highlight nga nagbulag niining duha nga managers sa package mao ang:

  1. Mas dako ang abilidad sa pagpaandar kay sa apt-get ug gihiusa ang mga gamit sa apt-get ug ang uban pang mga variant niini lakip ang apt-mark ug apt-cache.

Samtang ang apt-get nagdumala sa tanan nga pag-install sa package, up-gradation, system-upgradation, purging package, pagsulbad sa mga dependency ug uban pa, ang Aptitude nagdumala sa daghang mga butang kaysa apt, lakip ang mga gamit sa apt-mark ug apt-cache ie pagpangita alang sa usa ka pakete sa lista sa mga na-install nga pakete, pagmarka sa usa ka pakete nga awtomatiko o mano-mano nga ma-install, naghupot sa usa ka pakete nga dili magamit alang sa pag-upgrade ug uban pa.

  1. Samtang ang apt-get walay UI, ang Aptitude adunay text-only ug interactive nga UI

Ang Apt-get nga usa ka ubos nga lebel nga manedyer sa pakete gipugngan lamang sa command line, samtang ang Aptitude nga usa ka mas taas nga lebel nga himan adunay usa ka default nga text-only interactive nga interface uban ang opsyon sa command-line nga operasyon pinaagi sa pagsulod sa gikinahanglan nga mga sugo.

  1. Ang Aptitude adunay mas maayo nga pagdumala sa package kaysa apt-get

Sa daghang mga sitwasyon nga naglambigit sa pag-instalar, pagtangtang ug pagsulbad sa panagbangi alang sa mga pakete, ang Aptitude nagpamatuod sa bili niini kay sa apt-get. Ang pipila sa mga sitwasyon naglakip sa:

1. Samtang nagtangtang sa bisan unsa nga na-install nga pakete, ang Aptitude awtomatik nga magtangtang sa wala magamit nga mga pakete, samtang ang apt-get magkinahanglan sa user nga dayag nga ipiho kini pinaagi sa pagdugang ug dugang nga opsyon sa '—auto-remove' o pagtino sa 'apt-get autoremove'.4

2. Aron imbestigahan pa kung nganong gibabagan ang pipila ka aksyon o ngano o ngano-dili kinahanglan buhaton ang usa ka piho nga aksyon, nagtanyag ang Aptitude nga ngano ug mga mando nga 'ngano-dili'.

Sama sa: Mahimong makit-an nimo ang katakus sa pag-install sa usa ka piho nga pakete pinaagi sa pagtan-aw sa lista sa mga na-install nga mga pakete ug pagsusi kung ang bisan kinsa sa ilang gisugyot nga mga pakete adunay usa ka dependency o bisan unsa sa ilang mga dependency nga nagsugyot sa kana nga pakete o uban pa.

$ aptitude why yaws-wiki
i   doc-base  Suggests   dhelp | dwww | doc-central | yelp | khelpcenter4
p   dwww      Depends    apache2 | httpd-cgi
p   yaws      Provides   httpd-cgi
p   yaws      Suggests   yaws-wiki

Sama dinhi nangita kini alang sa rason sa pag-instalar sa usa ka package nga ginganlan og yaws-wiki nga kini gisugyot sa usa ka dependency (yaws) nga naghatag og virtual package ( httpd-cgi) diin ang package (dwww) adunay dependency ug package (dwww) gisugyot sa usa sa mga naka-install nga package nga ginganlan og doc-base .

Kini nga bahin nawala sa apt-get.

3. Samtang ang apt-get lagmit mamatay sa kaso sa nagkasumpaki nga aksyon bahin sa pag-instalar o pagtangtang sa pakete nga adunay mensahe, ang Aptitude mahimong mosugyot ug posible nga mga lakang aron matangtang ang panagbangi.

Ang Aptitude naghatag usa ka kusgan nga pagpangita nga magamit sa pagpangita sa hapit bisan unsang pakete dili lamang sa sistema apan usab sa tibuuk nga repositoryo.

Samtang ang apt-get nanginahanglan ug lain nga variant sa apt ie apt-cache aron makapangita usa ka pakete, ang Aptitude naghatag labi ka dali ug episyente nga paagi sa pagpangita sa usa ka pakete nga na-install o naa sa repositoryo apan wala pa ma-install.

$ apt-cache search 'python' | head -n4
kate - powerful text editor
kcachegrind-converters - format converters for KCachegrind profiler visualisation tool
kig - interactive geometry tool for KDE
python-kde4 - Python bindings for the KDE Development Platform

$ aptitude search 'python' | head -n4
i   bpython                         - fancy interface to the Python interpreter 
p   bpython-gtk                     - fancy interface to the Python interpreter 
p   bpython-urwid                   - fancy interface to the Python interpreter 
p   bpython3                        - fancy interface to the Python3 interpreter

Dinhi, pinaagi sa default pareho ang apt-cache ug aptitude nga pagpangita alang sa usa ka pakete sa tibuuk nga lista sa mga pakete sa repository, apan ang output sa aptitude nagpakita kung ang package na-install sa sistema o dili pinaagi sa paghatag usa ka per-package nga bandila nga ania p nga nagpaila nga ang package anaa apan wala ma-install ug i nga nagpaila nga ang package na-install, samtang ang apt-cache naglista lang sa package ug ang usa ka linya nga detalye niini nga wala isulti kung ang package na-install o dili.

1. Pagpangita alang sa usa ka pakete sa repository nga adunay python2.7 sa ngalan sa package ug 2.7 sa paghulagway niini.

$ aptitude search '~npython2.7 ~d2.7'
p   idle-python2.7                   - IDE for Python (v2.7) using Tkinter       
i   libpython2.7                     - Shared Python runtime library (version 2.7
p   libpython2.7:i386                - Shared Python runtime library (version 2.7
p   libpython2.7-dbg                 - Debug Build of the Python Interpreter (ver
p   libpython2.7-dbg:i386            - Debug Build of the Python Interpreter (ver
i A libpython2.7-dev                 - Header files and a static library for Pyth
p   libpython2.7-dev:i386            - Header files and a static library for Pyth
i   libpython2.7-minimal             - Minimal subset of the Python language (ver
p   libpython2.7-minimal:i386        - Minimal subset of the Python language (ver
i   libpython2.7-stdlib              - Interactive high-level object-oriented lan
p   libpython2.7-stdlib:i386         - Interactive high-level object-oriented lan
p   libpython2.7-testsuite           - Testsuite for the Python standard library 
i   python2.7                        - Interactive high-level object-oriented lan
p   python2.7:i386                   - Interactive high-level object-oriented lan
p   python2.7-dbg                    - Debug Build of the Python Interpreter (ver
p   python2.7-dbg:i386               - Debug Build of the Python Interpreter (ver
i A python2.7-dev                    - Header files and a static library for Pyth
p   python2.7-dev:i386               - Header files and a static library for Pyth
p   python2.7-doc                    - Documentation for the high-level object-or
p   python2.7-examples               - Examples for the Python language (v2.7)   
i   python2.7-minimal                - Minimal subset of the Python language (ver
p   python2.7-minimal:i386           - Minimal subset of the Python language (ver

Dinhi ang ~n nagpaila sa ngalan ug ang ~d nagpaila sa paghulagway. Ang uban nga porma sa parehas nga mando mao ang:

$ aptitude search '?name(python2.7) ?description(2.7)'

  1. ~i or ?installed(): Pagpangita ug package sa listahan sa mga installed packages lang.
  2. ~U or ~Upgradable: Naglista sa tanang packages nga ma-upgrade sa ilang pinakabag-o nga available nga bersyon.
  3. ~E o ?Essential(): Kadtong mga package nga na-install o anaa, nga gikinahanglan.

$ aptitude versions '?Upgradable' | head -n 12
Package apache2:
ph  2.4.7-1ubuntu4                                trusty                    500 
ph  2.4.7-1ubuntu4.5                              trusty-security           500 
ih  2.4.7-1ubuntu4.8                                                        100 
ph  2.4.7-1ubuntu4.9                              trusty-updates            500 

Package apache2-bin:
p A 2.4.7-1ubuntu4                                trusty                    500 
p A 2.4.7-1ubuntu4.5                              trusty-security           500 
i A 2.4.7-1ubuntu4.8                                                        100 
p A 2.4.7-1ubuntu4.9                              trusty-updates            500 

Sama sa usa ka mubo nga lista nga gipakita dinhi sa 3 ka pakete nga adunay naka-install nga bersyon (gipakita sa i) ug ang ilang ma-upgrade nga bersyon karon (gipakita sa p).

Aron makit-an ang tanan nga mga pakete nga naghatag serbisyo sa smtp:

$ aptitude search '?provides(smtp)'
p   libghc-smtpclient-dev            - Simple Haskell SMTP client library        
p   libghc-smtpclient-dev:i386       - Simple Haskell SMTP client library        
p   libghc-smtpclient-prof           - Simple Haskell SMTP client library; profil
p   libghc-smtpclient-prof:i386      - Simple Haskell SMTP client library; profil
p   syslog-ng-mod-smtp               - Enhanced system logging daemon (SMTP plugi
p   syslog-ng-mod-smtp:i386          - Enhanced system logging daemon (SMTP plugi

Sama dinhi, among gilista ang tanan nga mga pakete nga nagsugyot sa 'gcc' nga pakete.

$ aptitude search '~DSuggests:gcc' | head -n10
p   bochs                           - IA-32 PC emulator                         
p   bochs:i386                      - IA-32 PC emulator                         
p   cpp-4.4                         - GNU C preprocessor                        
p   cpp-4.4:i386                    - GNU C preprocessor                        
p   cpp-4.6                         - GNU C preprocessor                        
p   cpp-4.6:i386                    - GNU C preprocessor                        
p   cpp-4.7                         - GNU C preprocessor                        
p   cpp-4.7:i386                    - GNU C preprocessor                        
p   cpp-4.7-arm-linux-gnueabi       - GNU C preprocessor                        
p   cpp-4.7-arm-linux-gnueabi:i386  - GNU C preprocessor 

Konklusyon

Mao nga, alang sa kadaghanan sa mga kaso, ang syntax sa Aptitude gitipigan halos parehas sa apt-get, aron ang mga tiggamit sa apt-get adunay gamay nga kasakit sa paglalin sa Aptitude, apan dugang pa niini, daghang gamhanan nga mga bahin ang gisagol sa Aptitude nga naghimo niini nga usa nga pilion. Gawas sa kini nga mga kalainan nga among gipasiugda, kung nakit-an nimo ang bisan unsang uban pang makapaikag nga mga kalainan tali niining duha nga mga managers sa package, isulti kini sa imong mga komento.