25 APT-GET ja APT-CACHE kasulikku põhikäsku pakettide haldamiseks
Selles artiklis selgitatakse, kui kiiresti saate käsurealt käskude apt-get ja apt-cache abil tarkvarapakette installida, eemaldada, värskendada ja otsida. See artikkel sisaldab mõningaid kasulikke käske, mis aitavad teil Debiani/Ubuntu põhistes süsteemides paketihaldust käsitleda.
Apt-get utiliit on võimas ja tasuta paketihalduse käsureaprogramm, mida kasutatakse Ubuntu APT (Advanced Packaging Tool) teegiga töötamiseks uute tarkvarapakettide installimiseks, olemasolevate tarkvarapakettide eemaldamiseks, olemasolevate tarkvarapakettide täiendamiseks ja isegi harjunud kogu operatsioonisüsteemi täiendama.
Käsurea tööriista apt-cache kasutatakse apt-tarkvarapaketi vahemälu otsimiseks. Lihtsamalt öeldes kasutatakse seda tööriista tarkvarapakettide otsimiseks, pakettide teabe kogumiseks ja ka otsimiseks, millised paketid on Debiani või Ubuntu põhistes süsteemides installimiseks valmis.
1. Kuidas loetleda kõik saadaolevad paketid?
Kõigi saadaolevate pakettide loetlemiseks tippige järgmine käsk.
$ apt-cache pkgnames
esseract-ocr-epo pipenightdreams mumudvb tbb-examples libsvm-java libmrpt-hmtslam0.9 libboost-timer1.50-dev kcm-touchpad g++-4.5-multilib ...
2. Kuidas ma saan teada paketi nime ja tarkvara kirjeldust?
Enne installimist saate teada paketi nime ja selle kirjelduse, kasutades lippu „otsing”. Otsingu kasutamine apt-cache abil kuvab sobitatud pakettide loendi koos lühikese kirjeldusega. Oletame, et soovite teada saada paketi ‘vsftpd’ kirjeldust, siis käsk oleks.
$ apt-cache search vsftpd
vsftpd - lightweight, efficient FTP server written for security ccze - A robust, modular log coloriser ftpd - File Transfer Protocol (FTP) server yasat - simple stupid audit tool
Kõigi 'vsftpd'ga algavate pakettide leidmiseks ja loetlemiseks võite kasutada järgmist käsku.
$ apt-cache pkgnames vsftpd
vsttpd
3. Kuidas kontrollida pakendi teavet?
Näiteks kui soovite kontrollida pakendi teavet koos selle lühikirjeldusega, öelge (versiooni number, kontrollige summasid, suurust, installitud suurust, kategooriat jne). Kasutage alamkäsku ‘show’, nagu allpool näidatud.
$ apt-cache show netcat
Package: netcat Priority: optional Section: universe/net Installed-Size: 30 Maintainer: Ubuntu Developers <[email > Original-Maintainer: Ruben Molina <[email > Architecture: all Version: 1.10-40 Depends: netcat-traditional (>= 1.10-39) Filename: pool/universe/n/netcat/netcat_1.10-40_all.deb Size: 3340 MD5sum: 37c303f02b260481fa4fc9fb8b2c1004 SHA1: 0371a3950d6967480985aa014fbb6fb898bcea3a SHA256: eeecb4c93f03f455d2c3f57b0a1e83b54dbeced0918ae563784e86a37bcc16c9 Description-en: TCP/IP swiss army knife -- transitional package This is a "dummy" package that depends on lenny's default version of netcat, to ease upgrades. It may be safely removed. Description-md5: 1353f8c1d079348417c2180319bdde09 Bugs: https://bugs.launchpad.net/ubuntu/+filebug Origin: Ubuntu
4. Kuidas kontrollida konkreetsete pakettide sõltuvust?
Konkreetsete tarkvarapakettide sõltuvuste kontrollimiseks kasutage alamkäsku ‘showpkg’. kas need sõltuvuspaketid on installitud või mitte. Näiteks kasutage käsku ‘showpkg’ koos paketi nimega.
$ apt-cache showpkg vsftpd
Package: vsftpd Versions: 2.3.5-3ubuntu1 (/var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_binary-i386_Packages) Description Language: File: /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_binary-i386_Packages MD5: 81386f72ac91a5ea48f8db0b023f3f9b Description Language: en File: /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_i18n_Translation-en MD5: 81386f72ac91a5ea48f8db0b023f3f9b Reverse Depends: ubumirror,vsftpd harden-servers,vsftpd Dependencies: 2.3.5-3ubuntu1 - debconf (18 0.5) debconf-2.0 (0 (null)) upstart-job (0 (null)) libc6 (2 2.15) libcap2 (2 2.10) libpam0g (2 0.99.7.1) libssl1.0.0 (2 1.0.0) libwrap0 (2 7.6-4~) adduser (0 (null)) libpam-modules (0 (null)) netbase (0 (null)) logrotate (0 (null)) ftp-server (0 (null)) ftp-server (0 (null)) Provides: 2.3.5-3ubuntu1 - ftp-server Reverse Provides:
5. Kuidas kontrollida vahemälu statistikat
Alamkäsk ‘stats’ kuvab vahemälu üldist statistikat. Näiteks kuvab järgmine käsk Pakettide nimed kokku - vahemälust leitud pakettide arv.
$ apt-cache stats
Total package names: 51868 (1,037 k) Total package structures: 51868 (2,490 k) Normal packages: 39505 Pure virtual packages: 602 Single virtual packages: 3819 Mixed virtual packages: 1052 Missing: 6890 Total distinct versions: 43015 (2,753 k) Total distinct descriptions: 81048 (1,945 k) Total dependencies: 252299 (7,064 k) Total ver/file relations: 45567 (729 k) Total Desc/File relations: 81048 (1,297 k) Total Provides mappings: 8228 (165 k) Total globbed strings: 286 (3,518 ) Total dependency version space: 1,145 k Total slack space: 62.6 k Total space accounted for: 13.3 M
6. Kuidas süsteemipakette värskendada
Käsku „update” kasutatakse paketi registrifailide uuesti sünkroonimiseks nende /etc/apt/sources.list failis täpsustatud allikatest. Käsk update värskendas paketid nende asukohtadest ja värskendas pakette uuemale versioonile.
$ sudo apt-get update
[sudo] password for tecmint: Ign http://security.ubuntu.com quantal-security InRelease Get:1 http://security.ubuntu.com quantal-security Release.gpg [933 B] Get:2 http://security.ubuntu.com quantal-security Release [49.6 kB] Ign http://in.archive.ubuntu.com quantal InRelease Ign http://in.archive.ubuntu.com quantal-updates InRelease Get:3 http://repo.varnish-cache.org precise InRelease [13.7 kB] Ign http://in.archive.ubuntu.com quantal-backports InRelease Hit http://in.archive.ubuntu.com quantal Release.gpg Get:4 http://security.ubuntu.com quantal-security/main Sources [34.8 kB] Get:5 http://in.archive.ubuntu.com quantal-updates Release.gpg [933 B] ...
7. Kuidas tarkvarapakette uuendada
Käsku ‘upgrade’ kasutatakse kõigi süsteemis praegu installitud tarkvarapakettide täiendamiseks. Mingil juhul ei eemaldata praegu installitud pakette ega paketid, mis pole veel installitud, ei laadita alla ega installita täiendamise sõltuvuste rahuldamiseks.
$ sudo apt-get upgrade
Reading package lists... Done Building dependency tree Reading state information... Done The following packages have been kept back: linux-headers-generic linux-image-generic wine1.5 wine1.5-i386 The following packages will be upgraded: activity-log-manager-common activity-log-manager-control-center adium-theme-ubuntu alacarte alsa-base app-install-data-partner appmenu-gtk appmenu-gtk3 apport apport-gtk apt apt-transport-https apt-utils aptdaemon aptdaemon-data at-spi2-core bamfdaemon base-files bind9-host ...
Kui soovite uuendada, hoolimata sellest, kas tarkvarapakette lisatakse või eemaldatakse sõltuvuste täitmiseks, kasutage alamkäsku dist-upgrade.
$ sudo apt-get dist-upgrade
8. Kuidas konkreetseid pakette installida või uuendada?
Alamkäsu ‘install’ jälgib üks või mitu paketti, mida soovitakse installida või uuendada.
$ sudo apt-get install netcat
Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: netcat-traditional The following NEW packages will be installed: netcat netcat-traditional 0 upgraded, 2 newly installed, 0 to remove and 328 not upgraded. Need to get 67.1 kB of archives. After this operation, 186 kB of additional disk space will be used. Do you want to continue [Y/n]? y Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/universe netcat-traditional i386 1.10-40 [63.8 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/universe netcat all 1.10-40 [3,340 B] Fetched 67.1 kB in 1s (37.5 kB/s) Selecting previously unselected package netcat-traditional. (Reading database ... 216118 files and directories currently installed.) Unpacking netcat-traditional (from .../netcat-traditional_1.10-40_i386.deb) ... Selecting previously unselected package netcat. Unpacking netcat (from .../netcat_1.10-40_all.deb) ... Processing triggers for man-db ... Setting up netcat-traditional (1.10-40) ... Setting up netcat (1.10-40) ...
9. Kuidas ma saan installida mitu paketti?
Mitme paketi korraga installimiseks võite koos käsuga lisada mitu paketi nime. Näiteks installib järgmine käsk paketid ‘goaccess’.
$ sudo apt-get install nethogs goaccess
Reading package lists... Done Building dependency tree Reading state information... Done goaccess is already the newest version. nethogs is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
10. Kuidas mitme paketi installimine metamärgi abil
Regulaaravaldise abil saate ühe stringiga lisada mitu paketti. Näiteks kasutame tähemärki * wildcard mitme paketi installimiseks, mis sisaldab stringi ‘* name *’, nimeks oleks ‘package-name’.
$ sudo apt-get install '*name*'
11. Kuidas installida pakette ilma täiendamiseta
Alamkäsu ‘–no-upgrade’ kasutamine takistab juba installitud pakettide täiendamist.
$ sudo apt-get install packageName --no-upgrade
Reading package lists... Done Building dependency tree Reading state information... Done Skipping vsftpd, it is already installed and upgrade is not set. 0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
12. Kuidas uuendada ainult konkreetseid pakette
Käsk –only-upgrade ei installi uusi pakette, vaid uuendab ainult juba installitud pakette ja keelab pakettide uue installimise.
$ sudo apt-get install packageName --only-upgrade
Reading package lists... Done Building dependency tree Reading state information... Done vsftpd is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
13. Kuidas konkreetse paketi versiooni installida?
Oletame, et soovite installida ainult pakettide konkreetse versiooni, kasutage lihtsalt paketi nimega ‘=’ ja lisage soovitud versioon.
$ sudo apt-get install vsftpd=2.3.5-3ubuntu1
Reading package lists... Done Building dependency tree Reading state information... Done vsftpd is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
14. Kuidas eemaldada pakke ilma konfiguratsioonita
Tarkvarapakettide desinstallimine ilma nende konfiguratsioonifaile eemaldamata (sama konfiguratsiooni kasutamiseks hiljem uuesti). Kasutage käsku eemalda nagu näidatud.
$ sudo apt-get remove vsftpd
[sudo] password for tecmint: Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: vsftpd 0 upgraded, 0 newly installed, 1 to remove and 328 not upgraded. After this operation, 364 kB disk space will be freed. Do you want to continue [Y/n]? y (Reading database ... 216156 files and directories currently installed.) Removing vsftpd ... vsftpd stop/waiting Processing triggers for ureadahead ... Processing triggers for man-db ...
15. Kuidas pakendeid täielikult eemaldada
Tarkvarapakettide ja nende konfiguratsioonifailide eemaldamiseks kasutage alamkäsku „purge”, nagu allpool näidatud.
$ sudo apt-get purge vsftpd
Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: vsftpd* 0 upgraded, 0 newly installed, 1 to remove and 328 not upgraded. After this operation, 0 B of additional disk space will be used. Do you want to continue [Y/n]? y (Reading database ... 216107 files and directories currently installed.) Removing vsftpd ... Purging configuration files for vsftpd ... Processing triggers for ureadahead ...
Teise võimalusena võite mõlemad käsud kombineerida, nagu allpool näidatud.
$ sudo apt-get remove --purge vsftpd
Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: vsftpd* 0 upgraded, 0 newly installed, 1 to remove and 328 not upgraded. After this operation, 364 kB disk space will be freed. Do you want to continue [Y/n]? y (Reading database ... 216156 files and directories currently installed.) Removing vsftpd ... vsftpd stop/waiting Purging configuration files for vsftpd ... Processing triggers for ureadahead ... Processing triggers for man-db ...
16. Kuidas ma saan kettaruumi puhastada
Käsu ‘clean’ kasutatakse kettaruumi vabastamiseks, puhastades kohalikust hoidlast allalaaditud (alla laaditud) .deb-failid (paketid).
$ sudo apt-get clean
17. Kuidas alla laadida ainult paketi lähtekood
Ainult konkreetse paketi lähtekoodi allalaadimiseks kasutage valikut ‘–allalaaditav ainult allikas’ ja ’pakendi nimi’, nagu näidatud.
$ sudo apt-get --download-only source vsftpd
Reading package lists... Done Building dependency tree Reading state information... Done Need to get 220 kB of source archives. Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (dsc) [1,883 B] Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (tar) [188 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (diff) [30.5 kB] Fetched 220 kB in 4s (49.1 kB/s) Download complete and in download only mode
18. Kuidas saab paketti alla laadida ja lahti pakkida
Paketi lähtekoodi kindlasse kataloogi alla laadimiseks ja lahti pakkimiseks tippige järgmine käsk.
$ sudo apt-get source vsftpd
Reading package lists... Done Building dependency tree Reading state information... Done Need to get 220 kB of source archives. Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (dsc) [1,883 B] Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (tar) [188 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (diff) [30.5 kB] Fetched 220 kB in 1s (112 kB/s) gpgv: Signature made Thursday 24 May 2012 02:35:09 AM IST using RSA key ID 2C48EE4E gpgv: Can't check signature: public key not found dpkg-source: warning: failed to verify signature on ./vsftpd_2.3.5-3ubuntu1.dsc dpkg-source: info: extracting vsftpd in vsftpd-2.3.5 dpkg-source: info: unpacking vsftpd_2.3.5.orig.tar.gz dpkg-source: info: unpacking vsftpd_2.3.5-3ubuntu1.debian.tar.gz dpkg-source: info: applying 01-builddefs.patch dpkg-source: info: applying 02-config.patch dpkg-source: info: applying 03-db-doc.patch dpkg-source: info: applying 04-link-local.patch dpkg-source: info: applying 05-whitespaces.patch dpkg-source: info: applying 06-greedy.patch dpkg-source: info: applying 07-utf8.patch dpkg-source: info: applying 08-manpage.patch dpkg-source: info: applying 09-s390.patch dpkg-source: info: applying 10-remote-dos.patch dpkg-source: info: applying 11-alpha.patch dpkg-source: info: applying 09-disable-anonymous.patch dpkg-source: info: applying 12-ubuntu-use-snakeoil-ssl.patch
19. Kuidas saab paketti alla laadida, lahti pakkida ja koostada
Samuti saate lähtekoodi korraga alla laadida, lahti pakkida ja kompileerida, kasutades allpool näidatud valikut ‘–kompileerimine’.
$ sudo apt-get --compile source goaccess
[sudo] password for tecmint: Reading package lists... Done Building dependency tree Reading state information... Done Need to get 130 kB of source archives. Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/universe goaccess 1:0.5-1 (dsc) [1,120 B] Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/universe goaccess 1:0.5-1 (tar) [127 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/universe goaccess 1:0.5-1 (diff) [2,075 B] Fetched 130 kB in 1s (68.0 kB/s) gpgv: Signature made Tuesday 26 June 2012 09:38:24 AM IST using DSA key ID A9FD4821 gpgv: Can't check signature: public key not found dpkg-source: warning: failed to verify signature on ./goaccess_0.5-1.dsc dpkg-source: info: extracting goaccess in goaccess-0.5 dpkg-source: info: unpacking goaccess_0.5.orig.tar.gz dpkg-source: info: unpacking goaccess_0.5-1.debian.tar.gz dpkg-buildpackage: source package goaccess dpkg-buildpackage: source version 1:0.5-1 dpkg-buildpackage: source changed by Chris Taylor <[email > dpkg-buildpackage: host architecture i386 dpkg-source --before-build goaccess-0.5 dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>= 9) autotools-dev libncurses5-dev libglib2.0-dev libgeoip-dev autoconf dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting dpkg-buildpackage: warning: (Use -d flag to override.) ...
20. Kuidas paketti alla laadida ilma installimata
Valiku ‘allalaadimine’ abil saate iga paketi alla laadida ilma seda installimata. Näiteks laadib järgmine käsk alla ainult paketi ‘nethogs’ praegusesse töökataloogi.
$ sudo apt-get download nethogs
Get:1 Downloading nethogs 0.8.0-1 [27.1 kB] Fetched 27.1 kB in 3s (7,506 B/s)
21. Kuidas kontrollida paketi muudatuste logi?
Lipp ‘changelog’ laadib alla paketi muudatuste logi ja näitab installitud paketi versiooni.
$ sudo apt-get changelog vsftpd
vsftpd (2.3.5-3ubuntu1) quantal; urgency=low * Merge from Debian testing (LP: #1003644). Remaining changes: + debian/vsftpd.upstart: migrate vsftpd to upstart. + Add apport hook (LP: #513978): - debian/vsftpd.apport: Added. - debian/control: Build-depends on dh-apport. - debian/rules: Add --with apport. + Add debian/watch file. + debian/patches/09-disable-anonymous.patch: Disable anonymous login by default. (LP: #528860) * debian/patches/12-ubuntu-us-snakeoil-ssl.patch: Use snakeoil SSL certificates and key. -- Andres Rodriguez <[email > Wed, 23 May 2012 16:59:36 -0400 ...
22. Kuidas kontrollida purunenud sõltuvusi?
Käsk ‘kontroll’ on diagnostikavahend. Seda kasutati pakettide vahemälu värskendamiseks ja katkiste sõltuvuste kontrollimiseks.
$ sudo apt-get check
[sudo] password for tecmint: Reading package lists... Done Building dependency tree Reading state information... Done
23. Kuidas otsida ja luua sõltuvusi?
See käsk ‘build-dep’ otsib süsteemis kohalikke hoidlaid ja installib paketi loomise sõltuvused. Kui paketti kohalikus hoidlas pole, tagastab see tõrkekoodi.
$ sudo apt-get build-dep netcat
The following NEW packages will be installed: debhelper dh-apparmor html2text po-debconf quilt 0 upgraded, 5 newly installed, 0 to remove and 328 not upgraded. Need to get 1,219 kB of archives. After this operation, 2,592 kB of additional disk space will be used. Do you want to continue [Y/n]? y Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/main html2text i386 1.3.2a-15build1 [91.4 kB] Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/main po-debconf all 1.0.16+nmu2ubuntu1 [210 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/main dh-apparmor all 2.8.0-0ubuntu5 [9,846 B] Get:4 http://in.archive.ubuntu.com/ubuntu/ quantal/main debhelper all 9.20120608ubuntu1 [623 kB] Get:5 http://in.archive.ubuntu.com/ubuntu/ quantal/main quilt all 0.60-2 [285 kB] Fetched 1,219 kB in 4s (285 kB/s) ...
24. Kuidas saan Apt-Get vahemälu automaatselt puhastada?
Käsk ‘autoclean’ kustutab kõik .deb-failid kataloogist/var/cache/apt/archives, et vabastada märkimisväärne maht kettaruumi.
$ sudo apt-get autoclean
Reading package lists... Done Building dependency tree Reading state information... Done
25. Kuidas ma saan installitud pakette automaatselt eemaldada?
Alamkäsu autoremove kasutatakse pakettide automaatseks eemaldamiseks, mis olid kindlasti installitud teiste pakettide sõltuvuste rahuldamiseks, kuid neid ei olnud enam vaja. Näiteks eemaldab järgmine käsk installitud paketi koos selle sõltuvustega.
$ sudo apt-get autoremove vsftpd
Reading package lists... Done Building dependency tree Reading state information... Done Package 'vsftpd' is not installed, so not removed 0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
Olen käsitlenud enamikku saadaolevatest valikutest apt-get ja apt-cache käskudega, kuid siiski on saadaval rohkem võimalusi, saate neid kontrollida terminali käsuga 'man apt-get' või 'man apt-cache'. Loodan, et teile meeldis seda artiklit lugeda. Kui mul on midagi puudu ja soovite, et ma loendisse lisaksin. Mainige palun allolevas kommentaaris.
Loe ka: 20 kasulikku Linuxi YUM-i käsku pakettide haldamiseks