Apt
Sissejuhatus
- apt-get : APT is acronym for Advanced Package Tool. It supports installing packages over internet using ftp or http protocols. You can also upgrade all packages in a single operations, which makes it even more attractive.
- dpkg : Debian packaging tool which can be use to install, query, uninstall packages.
Gui tools: You can also try GUI based or high level interface to the Debian GNU/Linux package system. Following list summaries them:
apt-get on debiani pakkide paigaldamise ning uuendamise abivahendiseks üle võrgu nagu on up2date punamütsikesel ja pkg_add -r <nimi> fbsd'l
http://www.debianhelp.co.uk/pkgadm.htm
pakkide otsingukohad on defineeritud failis
/etc/apt/sources.list
ehk siis serverid kust ta üritab neid tirida
Seal on tüüpilised read tavaliselt näiteks stiilis
deb http://ftp.ee.debian.org/debian/ etch main deb-src http://ftp.ee.debian.org/debian/ etch main deb http://security.debian.org/ etch/updates main contrib deb-src http://security.debian.org/ etch/updates main contrib
NB! enne seda faili muutma ning tarkvara linkide asukohti lisama hakkamist tasub olla väga hoolikas, hakates lisama uuemate tarkvaraversioonide hankimise soovis mitteametlikke aadresse võib viia selleni ,et erinevate tarkvarade versioonid ei klapi enam kokku mis võib lõppeda süsteemi katki tegemisega.
Kõiki apti seadistusi ja võtmeid näeb käsuga
# apt-config dump
Kõik tiritud paketid lähevad kausta
/var/cache/apt/archives/
apt-get kasutamine
kohe alguses tuleks öelda ,et apt'il on olemas ka pseudograafikaga konfimisproge mida saab kasutada käsuga apt-setup
selleks ,et mingit tarkvara installeerida tuleb anda käsk
# apt-get install <nimi>
selleks ,et otsida nimejärgi mis pakke olemas on serverites siis
# apt-cache dump <nimi>
või siis lihtsalt
# apt-cache dump |grep <nimi>
kuna see käsk näitab lisaks ka kõiki neid pakke mis enda tööks vajavad otsitud faili siis võib list üsnagi pikaks minna ning on soovitatav more kasutamine :)
# apt-get update
sünkroniseerib pakkide indekseid mis tiritud sources.list. faili järgi
# apt-get upgrade
selleks ,et installida uuemad versioonid kõigist pakkidest mis on hetkel süsteem installitud
Kui ei julge kohe upgrade sisse lüüa (nt vana server, pole kaua uuendatud) on hea vaadata mida see upgrade käsk teeb, selleks võti --simulate upgrade
# apt-get --simulate upgrade Reading package lists... Done Building dependency tree... Done The following packages have been kept back: openssh-client openssh-server The following packages will be upgraded: libmysqlclient15off libssl-dev libssl0.9.8 linux-image-2.6.18-6-amd64 mysql-client-5.0 mysql-common mysql-server mysql-server-5.0 openssl 9 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. Inst linux-image-2.6.18-6-amd64 [2.6.18.dfsg.1-24etch3] (2.6.18.dfsg.1-24etch4 Debian-Security:4.0/oldstable) Inst mysql-common [5.0.32-7etch10] (5.0.32-7etch11 Debian-Security:4.0/oldstable) Inst mysql-server [5.0.32-7etch10] (5.0.32-7etch11 Debian-Security:4.0/oldstable) Inst libmysqlclient15off [5.0.32-7etch10] (5.0.32-7etch11 Debian-Security:4.0/oldstable) Inst mysql-client-5.0 [5.0.32-7etch10] (5.0.32-7etch11 Debian-Security:4.0/oldstable) Conf mysql-common (5.0.32-7etch11 Debian-Security:4.0/oldstable) Inst mysql-server-5.0 [5.0.32-7etch10] (5.0.32-7etch11 Debian-Security:4.0/oldstable) Inst libssl-dev [0.9.8c-4etch5] (0.9.8c-4etch9 Debian-Security:4.0/oldstable) [] Inst libssl0.9.8 [0.9.8c-4etch5] (0.9.8c-4etch9 Debian-Security:4.0/oldstable) Inst openssl [0.9.8c-4etch5] (0.9.8c-4etch9 Debian-Security:4.0/oldstable) Conf linux-image-2.6.18-6-amd64 (2.6.18.dfsg.1-24etch4 Debian-Security:4.0/oldstable) Conf libmysqlclient15off (5.0.32-7etch11 Debian-Security:4.0/oldstable) Conf mysql-client-5.0 (5.0.32-7etch11 Debian-Security:4.0/oldstable) Conf mysql-server-5.0 (5.0.32-7etch11 Debian-Security:4.0/oldstable) Conf mysql-server (5.0.32-7etch11 Debian-Security:4.0/oldstable) Conf libssl0.9.8 (0.9.8c-4etch9 Debian-Security:4.0/oldstable) Conf libssl-dev (0.9.8c-4etch9 Debian-Security:4.0/oldstable) Conf openssl (0.9.8c-4etch9 Debian-Security:4.0/oldstable)
Ning veel..
# apt-get remove <nimi>
kah üks tähtis asi täpsemalt ei ole vaja vist seletada :)
veel üks apt-get'i huviav võti on --assume-yes see lihtsalt iga küsimuse peale ütleb alati YES pole soovitatav siiski kasutada kui ei tea täpselt mida sinult küsitakse
dpkg kasutamine
Selleks, et installida deb laiendiga paketti tuleb anda käsk
# dpkg -i fail.deb
Selline juhtum võib tulla ette kui pole võimalik kasutada võrku kuid vaja paigaldada mõni tarkvara
Nimekirja kõigist pakettidest saab käsuga:
$ dpkg --get-selections adduser install alsa-base install alsa-utils install apache2 install apache2-mpm-prefork install apache2-utils install apache2.2-common install apt install apt-utils install
Mingile paketile kuuluvaid faile näeb
# dpkg -L php5-gd /. /usr /usr/lib /usr/lib/php5 /usr/lib/php5/20060613 /usr/lib/php5/20060613/gd.so /usr/share /usr/share/doc /etc /etc/php5 /etc/php5/conf.d /etc/php5/conf.d/gd.ini /usr/share/doc/php5-gd
Tundub, et oleks tark tegu peale värske debiani paigaldamist teha selle baaspakettidest mingisugune nimekiri endale root kausta
debfoster paistab olevat ka hea abiline igasuguse kõntsa debianist välja peksmiseks.
Peale tema kasutamist tuleb anda käsk apt-get autoremove
Üks hea võimalus on sorteerida pakette nende prioriteetide järgi
# dpkg-query -Wf '${Package;-40}${Priority}\n' | sort -b -k2,2 -k1,1 | less
Mis väljastab tulemuse
libnet-libidn-perl optional libnet-ssleay-perl optional libnet-telnet-perl optional .. libldap-2.4-2 standard liblockfile1 standard liblwres60 standard libmagic1 standard .. libnet-libidn-perl optional libnet-ssleay-perl optional libnet-telnet-perl optional
jne
Ehk siis, et eemaldada kõik extra ja optional lippudega paketid
# apt-get --simulate purge $(dpkg-query -Wf '${Package;-40}${Priority}\n' | \ awk '$2 ~ /optional|extra/ { print $1 }')
Selleks, et antud käsk paketid reaalselt eemaldaks tuleb näitest välja korjata --simulate võti ;)
Nii koleda käsu peale ei piisa muide lihtsast jah sõnast vaid tuleb trükkida Yes, do as I say! mis võib esialgu harjumatu olla.
Näiteks on meil vaja otsida ühte kindlat faili:
Possible missing firmware /lib/firmware/bnx2/bnx2-rv2p-09-5.0.0.j3.fw for module bnx2
# apt-get install apt-file # apt-file update
Misjärel
# apt-file find /lib/firmware/bnx2/bnx2-mips-09-5.0.0.j3.fw firmware-bnx2: /lib/firmware/bnx2/bnx2-mips-09-5.0.0.j3.fw
Aptitude
# aptitude search tgt p istgt - iSCSI userspace target daemon for Unix-like operating systems p libwebkitgtk-1.0-0 - Web content engine library for GTK+ p libwebkitgtk-1.0-0-dbg - Web content engine library for GTK+ - Debugging symbols p libwebkitgtk-1.0-common - Web content engine library for GTK+ - data files p libwebkitgtk-3.0-0 - Web content engine library for GTK+ p libwebkitgtk-3.0-0-dbg - Web content engine library for GTK+ - Debugging symbols p libwebkitgtk-3.0-common - Web content engine library for GTK+ - data files p libwebkitgtk-3.0-dev - Web content engine library for GTK+ - Development files p libwebkitgtk-dev - Web content engine library for GTK+ - Development files p tgt - Linux SCSI target user-space tools
Lingid
https://wiki.itcollege.ee/index.php/Apt
https://wiki.itcollege.ee/index.php/Tarkvara_haldus_apt-get_baasil