APT, APT-കാഷെ, അവ പതിവായി ഉപയോഗിക്കുന്ന കമാൻഡുകൾ എന്നിവ മനസ്സിലാക്കുന്നു


നിങ്ങൾ എപ്പോഴെങ്കിലും ഡെബിയൻ അല്ലെങ്കിൽ ഉബുണ്ടു അല്ലെങ്കിൽ ലിനക്സ് മിന്റ് പോലുള്ള ഡെബിയൻ അധിഷ്uഠിത വിതരണങ്ങൾ ഉപയോഗിച്ചിട്ടുണ്ടെങ്കിൽ, സോഫ്റ്റ്uവെയർ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനോ നീക്കംചെയ്യുന്നതിനോ നിങ്ങൾ APT പാക്കേജ് സിസ്റ്റം ഉപയോഗിച്ചിരിക്കാനാണ് സാധ്യത. നിങ്ങൾ ഒരിക്കലും കമാൻഡ് ലൈനിൽ ഇടപെട്ടിട്ടില്ലെങ്കിലും, നിങ്ങളുടെ പാക്കേജ് മാനേജർ GUI-യെ പവർ ചെയ്യുന്ന അടിസ്ഥാന സിസ്റ്റം APT സിസ്റ്റമാണ്.

ഇന്ന്, ഞങ്ങൾ പരിചിതമായ ചില കമാൻഡുകൾ നോക്കാൻ പോകുന്നു, കൂടാതെ കുറച്ച് അല്ലെങ്കിൽ കൂടുതലായി ഉപയോഗിക്കുന്ന ചില APT കമാൻഡുകളിലേക്ക് നീങ്ങുകയും, ഈ മികച്ച രീതിയിൽ രൂപകൽപ്പന ചെയ്ത സിസ്റ്റത്തിലേക്ക് കുറച്ച് വെളിച്ചം വീശുകയും ചെയ്യും.

എന്താണ് APT?

APT എന്നത് അഡ്വാൻസ്ഡ് പാക്കേജ് ടൂളിനെ സൂചിപ്പിക്കുന്നു. 1999-ൽ ഡെബിയൻ 2.1-ലാണ് ഇത് ആദ്യമായി കണ്ടത്. അടിസ്ഥാനപരമായി, *.deb എന്ന വിപുലീകരണത്തിൽ കാണുന്നതുപോലെ, dpkg പാക്കേജുകൾക്കായുള്ള ഒരു മാനേജ്മെന്റ് സിസ്റ്റമാണ് APT. പാക്കേജുകളും അപ്uഡേറ്റുകളും കൈകാര്യം ചെയ്യാൻ മാത്രമല്ല, ചില പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുമ്പോൾ പല ഡിപൻഡൻസി പ്രശ്uനങ്ങൾ പരിഹരിക്കാനും ഇത് രൂപകൽപ്പന ചെയ്uതിരിക്കുന്നു.

ആ പയനിയർ കാലത്ത് ലിനക്സ് ഉപയോഗിച്ചിരുന്നവരെന്ന നിലയിൽ, ഉറവിടത്തിൽ നിന്ന് എന്തെങ്കിലും കംപൈൽ ചെയ്യാൻ ശ്രമിക്കുമ്പോഴോ അല്ലെങ്കിൽ നിരവധി Red Hat-ന്റെ വ്യക്തിഗത RPM ഫയലുകൾ കൈകാര്യം ചെയ്യുമ്പോഴോ പോലും \ആശ്രിത നരകം എന്ന പദം ഞങ്ങൾക്കെല്ലാം പരിചിതമായിരുന്നു.

APT ഈ ഡിപൻഡൻസി പ്രശ്uനങ്ങളെല്ലാം സ്വയമേവ പരിഹരിച്ചു, ഡിപൻഡൻസികളുടെ വലുപ്പമോ എണ്ണമോ പരിഗണിക്കാതെ, ഒരു പാക്കേജ് ഇൻസ്റ്റാളുചെയ്യുന്നത് ഒരു വരി കമാൻഡാക്കി മാറ്റുന്നു. ഈ ജോലികൾക്കായി മണിക്കൂറുകളോളം അധ്വാനിച്ച ഞങ്ങളിൽ, ഞങ്ങളുടെ ലിനക്സ് ജീവിതത്തിലെ \സൂര്യൻ മേഘങ്ങളെ വേർപെടുത്തുന്ന നിമിഷങ്ങളിൽ ഒന്നായിരുന്നു ഇത്!

APT കോൺഫിഗറേഷൻ മനസ്സിലാക്കുന്നു

ഞങ്ങൾ നോക്കാൻ പോകുന്ന ഈ ആദ്യ ഫയൽ 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

എന്റെ sources.list ഫയലിൽ നിന്ന് നിങ്ങൾക്ക് ഊഹിക്കാൻ കഴിയുന്നത് പോലെ, ഞാൻ ഉബുണ്ടു 12.04 (കൃത്യമായ പാംഗോലിൻ) ഉപയോഗിക്കുന്നു. ഞാൻ മൂന്ന് റിപ്പോസിറ്ററികളും ഉപയോഗിക്കുന്നു:

  1. പ്രധാന സംഭരണി
  2. യൂണിവേഴ്uസ് റിപ്പോസിറ്ററി
  3. ഉബുണ്ടു സെക്യൂരിറ്റി റിപ്പോസിറ്ററി

ഈ ഫയലിന്റെ വാക്യഘടന താരതമ്യേന ലളിതമാണ്:

deb (url) release repository

ഇതോടൊപ്പമുള്ള വരി സോഴ്സ് ഫയൽ റിപ്പോസിറ്ററിയാണ്. ഇത് സമാനമായ ഒരു ഫോർമാറ്റ് പിന്തുടരുന്നു:

deb-src (url) release repository

APT ഉപയോഗിച്ച് നിങ്ങൾ എപ്പോഴെങ്കിലും എഡിറ്റുചെയ്യേണ്ട ഒരേയൊരു കാര്യം ഈ ഫയൽ മാത്രമാണ്, കൂടാതെ സ്ഥിരസ്ഥിതികൾ നിങ്ങളെ നന്നായി സെർവർ ചെയ്യാനുള്ള സാധ്യതയുണ്ട്, നിങ്ങൾ ഒരിക്കലും ഇത് എഡിറ്റ് ചെയ്യേണ്ടതില്ല.

എന്നിരുന്നാലും, നിങ്ങൾ മൂന്നാം കക്ഷി ശേഖരണങ്ങൾ ചേർക്കാൻ ആഗ്രഹിക്കുന്ന ചില സമയങ്ങളുണ്ട്. ഒരേ ഫോർമാറ്റ് ഉപയോഗിച്ച് നിങ്ങൾ അവ ലളിതമായി നൽകുക, തുടർന്ന് അപ്ഡേറ്റ് കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

$ sudo apt-get update

ശ്രദ്ധിക്കുക: മൂന്നാം കക്ഷി ശേഖരണങ്ങൾ ചേർക്കുന്നതിൽ വളരെ ശ്രദ്ധാലുവായിരിക്കുക!!! വിശ്വസനീയവും പ്രശസ്തവുമായ ഉറവിടങ്ങളിൽ നിന്ന് മാത്രം ചേർക്കുക. തെറ്റായ ശേഖരണങ്ങൾ ചേർക്കുന്നത് അല്ലെങ്കിൽ റിലീസുകൾ മിക്സിംഗ് ചെയ്യുന്നത് നിങ്ങളുടെ സിസ്റ്റത്തെ ഗുരുതരമായി കുഴപ്പത്തിലാക്കും!

ഞങ്ങളുടെ sources.list ഫയൽ ഞങ്ങൾ പരിശോധിച്ചു, അത് എങ്ങനെ അപ്uഡേറ്റ് ചെയ്യണമെന്ന് ഇപ്പോൾ അറിയാം, അപ്പോൾ എന്താണ് അടുത്തത്? നമുക്ക് ചില പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യാം. ഞങ്ങൾ ഒരു സെർവർ പ്രവർത്തിപ്പിക്കുകയാണെന്നും വേർഡ്പ്രസ്സ് ഇൻസ്റ്റാൾ ചെയ്യാൻ ആഗ്രഹിക്കുന്നുവെന്നും പറയാം. ആദ്യം നമുക്ക് പാക്കേജിനായി തിരയാം:

$ 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

എന്താണ് APT-Cache?

APT കാഷെ അന്വേഷിക്കുന്ന ഒരു കമാൻഡാണ് Apt-cache. ഞങ്ങൾ അതിലേക്ക് തിരയൽ പാരാമീറ്റർ കൈമാറി, വ്യക്തമായും, അതിനായി APT തിരയാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് പ്രസ്താവിച്ചു. മുകളിൽ കാണുന്നത് പോലെ, \wordpress എന്നതിനായി തിരയുമ്പോൾ, ഓരോ പാക്കേജിന്റെയും ഒരു ചെറിയ വിവരണത്തോടെ തിരയൽ സ്ട്രിംഗുമായി ബന്ധപ്പെട്ട നിരവധി പാക്കേജുകൾ ലഭിച്ചു.

ഇതിൽ നിന്ന്, \wordpress - weblog manager ന്റെ പ്രധാന പാക്കേജ് ഞങ്ങൾ കാണുന്നു, അത് ഇൻസ്റ്റാൾ ചെയ്യാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു. എന്നാൽ അതിനോടൊപ്പം എന്ത് ഡിപൻഡൻസികൾ ഇൻസ്റ്റാൾ ചെയ്യാൻ പോകുന്നു എന്ന് കൃത്യമായി കാണുന്നത് നല്ലതല്ലേ? APT-ന് അത് ഞങ്ങളോട് പറയാൻ കഴിയും. അതുപോലെ:

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

വേർഡ്പ്രസ്സ് 3.3.1 ആണ് ഇൻസ്റ്റാൾ ചെയ്യേണ്ട പതിപ്പ്, അത് ഇൻസ്റ്റാൾ ചെയ്യേണ്ട റിപ്പോസിറ്ററി, റിവേഴ്സ് ഡിപൻഡൻസികൾ, മറ്റ് പാക്കേജുകൾ എന്നിവയും അവയുടെ പതിപ്പ് നമ്പറുകളും ഇത് കാണിക്കുന്നു.

ശ്രദ്ധിക്കുക: (ശൂന്യമായത് അർത്ഥമാക്കുന്നത് പതിപ്പ് നിർവചിച്ചിട്ടില്ല, റിപ്പോസിറ്ററിയിലെ ഏറ്റവും പുതിയ പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്യപ്പെടും എന്നാണ്.)

ഇപ്പോൾ, യഥാർത്ഥ ഇൻസ്റ്റാൾ കമാൻഡ്:

$ sudo apt-get install wordpress

ആ കമാൻഡ് WordPress-3.3.1 ഉം നിലവിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലാത്ത എല്ലാ ഡിപൻഡൻസികളും ഇൻസ്റ്റാൾ ചെയ്യും.

തീർച്ചയായും, APT ഉപയോഗിച്ച് നിങ്ങൾക്ക് ചെയ്യാൻ കഴിയുന്നത് അതല്ല. മറ്റ് ചില ഉപയോഗപ്രദമായ കമാൻഡുകൾ ഇനിപ്പറയുന്നവയാണ്:

ശ്രദ്ധിക്കുക: APT കമാൻഡുകളുടെ ഏതെങ്കിലും ശ്രേണി പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് apt-get അപ്uഡേറ്റ് പ്രവർത്തിപ്പിക്കുന്നത് നല്ല പരിശീലനമാണ്. ഓർക്കുക, apt-get അപ്uഡേറ്റ് നിങ്ങളുടെ /etc/apt/sources.list ഫയൽ പാഴ്uസ് ചെയ്യുകയും അതിന്റെ ഡാറ്റാബേസ് അപ്uഡേറ്റ് ചെയ്യുകയും ചെയ്യുന്നു.

ഒരു പാക്കേജ് അൺഇൻസ്റ്റാൾ ചെയ്യുന്നത് പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതുപോലെ എളുപ്പമാണ്:

$ sudo apt-get remove wordpress

നിർഭാഗ്യവശാൽ, apt-get remove കമാൻഡ് എല്ലാ കോൺഫിഗറേഷൻ ഫയലുകളും കേടുകൂടാതെ വിടുന്നു. അവയും നീക്കംചെയ്യാൻ, നിങ്ങൾ apt-get purge ഉപയോഗിക്കണം:

$ sudo apt-get purge wordpress

ഇടയ്ക്കിടെ, തകർന്ന ഡിപൻഡൻസികൾ ഉള്ള ഒരു സാഹചര്യത്തിലൂടെ നിങ്ങൾ കടന്നുപോയേക്കാം. നിങ്ങൾ apt-get അപ്uഡേറ്റ് ശരിയായി പ്രവർത്തിപ്പിക്കാത്തപ്പോൾ ഇത് സാധാരണയായി സംഭവിക്കുന്നു, ഡാറ്റാബേസ് മാംഗ്ലിംഗ് ചെയ്യുന്നു. ഭാഗ്യവശാൽ, APT-ന് ഇതിന് ഒരു പരിഹാരമുണ്ട്:

$ sudo apt-get –f install

APT എല്ലാ *.deb ഫയലുകളും റിപ്പോസിറ്ററിയിൽ നിന്ന് നിങ്ങളുടെ മെഷീനിലേക്ക് ഡൗൺലോഡ് ചെയ്യുന്നതിനാൽ (അവയെ /var/cache/apt/archives-ൽ സംഭരിക്കുന്നു) ഡിസ്uക് ഇടം ശൂന്യമാക്കാൻ നിങ്ങൾക്ക് അവ ഇടയ്uക്കിടെ നീക്കം ചെയ്യേണ്ടതായി വന്നേക്കാം:

$ sudo apt-get clean

ഇത് APT, APT-Cache, അതിന്റെ ഉപയോഗപ്രദമായ ചില കമാൻഡുകൾ എന്നിവയുടെ ഒരു ചെറിയ ഭാഗം മാത്രമാണ്. ചുവടെയുള്ള ലേഖനത്തിൽ കൂടുതൽ വിപുലമായ കമാൻഡുകൾ പഠിക്കാനും പര്യവേക്ഷണം ചെയ്യാനും ഇനിയും ധാരാളം ഉണ്ട്.

  1. APT-GET, APT-CACHE എന്നിവയുടെ 25 ഉപയോഗപ്രദവും നൂതനവുമായ കമാൻഡുകൾ

എല്ലായ്uപ്പോഴും എന്നപോലെ, കൂടുതൽ ഓപ്ഷനുകൾക്കായി ദയവായി മാൻ പേജുകൾ നോക്കുക. ഒരിക്കൽ APT-യുമായി പരിചയം നേടിയാൽ, സിസ്റ്റം കാലികമായി നിലനിർത്തുന്നതിന് ആകർഷകമായ ക്രോൺ സ്ക്രിപ്റ്റുകൾ എഴുതാൻ സാധിക്കും.