25 Nyttige grunnleggende kommandoer for APT-GET og APT-CACHE for pakkebehandling
Denne artikkelen forklarer hvor raskt du kan lære å installere, fjerne, oppdatere og søke etter programvarepakker ved å bruke apt-get og apt-cache kommandoer fra kommandolinjen. Denne artikkelen gir noen nyttige kommandoer som vil hjelpe deg å håndtere pakkehåndtering i Debian/Ubuntu-baserte systemer.
apt-get-verktøyet er et kraftig og gratis kommandolinjeprogram for pakkeadministrasjon, som brukes til å jobbe med Ubuntus APT (Advanced Packaging Tool)-bibliotek for å utføre installasjon av nye programvarepakker, fjerne eksisterende programvarepakker, oppgradere eksisterende programvarepakker og til og med vant til å oppgradere hele operativsystemet.
Kommandolinjeverktøyet apt-cache brukes til å søke etter apt-programvarepakke-cache. Med enkle ord, dette verktøyet brukes til å søke i programvarepakker, samler informasjon om pakker og brukes også til å søke etter hvilke tilgjengelige pakker som er klare for installasjon på Debian- eller Ubuntu-baserte systemer.
1. Hvordan viser jeg alle tilgjengelige pakker?
For å liste alle tilgjengelige pakker, skriv inn følgende kommando.
$ 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. Hvordan finner jeg ut pakkenavn og beskrivelse av programvaren?
For å finne ut pakkenavnet og med beskrivelsen før installasjon, bruk søk-flagget. Bruk av søk med apt-cache vil vise en liste over matchede pakker med kort beskrivelse. La oss si at du vil finne ut beskrivelsen av pakken 'vsftpd', så vil kommandoen være.
$ 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
For å finne og liste ned alle pakkene som starter med 'vsftpd', kan du bruke følgende kommando.
$ apt-cache pkgnames vsftpd
vsttpd
3. Hvordan sjekker jeg pakkeinformasjon?
For eksempel, hvis du ønsker å sjekke informasjon om pakken sammen med den korte beskrivelsen si (versjonsnummer, sjekksummer, størrelse, installert størrelse, kategori osv.). Bruk 'vis' underkommando som vist nedenfor.
$ 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. Hvordan sjekker jeg avhengigheter for spesifikke pakker?
Bruk 'showpkg'-underkommandoen for å sjekke avhengighetene for bestemte programvarepakker. om disse avhengighetspakkene er installert eller ikke. Bruk for eksempel 'showpkg'-kommandoen sammen med pakkenavn.
$ 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. Hvordan sjekker jeg statistikk for cache
'Stats'-underkommandoen vil vise generell statistikk om cachen. For eksempel vil følgende kommando vise Totalt pakkenavn er antall pakker som er funnet i hurtigbufferen.
$ 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. Hvordan oppdatere systempakker
Kommandoen ‘update’ brukes til å resynkronisere pakkeindeksfilene fra kildene deres spesifisert i filen /etc/apt/sources.list. Oppdateringskommandoen hentet pakkene fra deres plasseringer og oppdaterte pakkene til nyere versjon.
$ 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. Hvordan oppgradere programvarepakker
Kommandoen 'oppgrader' brukes til å oppgradere alle de installerte programvarepakkene på systemet. Under noen omstendigheter blir ikke installerte pakker fjernet, eller pakker som ikke allerede er installert, blir heller ikke hentet og installert for å tilfredsstille oppgraderingsavhengigheter.
$ 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 ...
Men hvis du ønsker å oppgradere, uten å være bekymret for om programvarepakker vil bli lagt til eller fjernet for å oppfylle avhengigheter, bruk 'dist-upgrade'-underkommandoen.
$ sudo apt-get dist-upgrade
8. Hvordan installerer eller oppgraderer jeg spesifikke pakker?
Installer-underkommandoen spores av en eller flere pakker som ønsker installasjon eller oppgradering.
$ 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. Hvordan kan jeg installere flere pakker?
Du kan legge til mer enn ett pakkenavn sammen med kommandoen for å installere flere pakker samtidig. For eksempel vil følgende kommando installere pakkene '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. Hvordan installere flere pakker med jokertegn
Ved hjelp av regulære uttrykk kan du legge til flere pakker med én streng. For eksempel bruker vi * jokertegn for å installere flere pakker som inneholder '*navn*'-strengen, navnet vil være 'pakkenavn'.
$ sudo apt-get install '*name*'
11. Hvordan installere pakker uten å oppgradere
Bruk av underordnet '–no-upgrade' vil forhindre at allerede installerte pakker oppgraderes.
$ 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. Slik oppgraderer du kun spesifikke pakker
Kommandoen '–only-upgrade' installerer ikke nye pakker, men den oppgraderer bare de allerede installerte pakkene og deaktiverer ny installasjon av pakker.
$ 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. Hvordan installerer jeg spesifikk pakkeversjon?
La oss si at du bare ønsker å installere en spesifikk versjon av pakker, bare bruk '=' med pakkenavnet og legg til ønsket versjon.
$ 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. Hvordan fjerner jeg pakker uten konfigurasjon
For å avinstallere programvarepakker uten å fjerne konfigurasjonsfilene deres (for senere gjenbruk den samme konfigurasjonen). Bruk kommandoen fjern som vist.
$ 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. Hvordan fjerner jeg pakker fullstendig
For å fjerne programvarepakker inkludert konfigurasjonsfilene deres, bruk purge underkommandoen som vist nedenfor.
$ 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 ...
Alternativt kan du kombinere begge kommandoene som vist nedenfor.
$ 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. Hvordan jeg kan rydde opp diskplass
'clean'-kommandoen brukes til å frigjøre diskplass ved å rense hentede (nedlastede) .deb-filer (pakker) fra det lokale depotet.
$ sudo apt-get clean
17. Hvordan laster jeg ned kun kildekoden til pakken
For å laste ned kun kildekoden til en bestemt pakke, bruk alternativet -kun nedlastingskilde med pakkenavn som vist.
$ 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. Hvordan kan jeg laste ned og pakke ut en pakke
For å laste ned og pakke ut kildekoden til en pakke til en bestemt katalog, skriv inn følgende kommando.
$ 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. Hvordan kan jeg laste ned, pakke ut og kompilere en pakke
Du kan også laste ned, pakke ut og kompilere kildekoden samtidig, ved å bruke alternativet –kompilere som vist nedenfor.
$ 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. Hvordan laster jeg ned en pakke uten å installere
Ved å bruke last ned-alternativet kan du laste ned en gitt pakke uten å installere den. For eksempel vil følgende kommando bare laste ned 'nethogs'-pakken til gjeldende arbeidskatalog.
$ 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. Hvordan sjekker jeg endringsloggen for pakken?
Changelog-flagget laster ned en endringslogg for pakken og viser pakkeversjonen som er installert.
$ 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. Hvordan sjekker jeg ødelagte avhengigheter?
'sjekk'-kommandoen er et diagnoseverktøy. Den pleide å oppdatere pakkebuffer og sjekke for ødelagte avhengigheter.
$ sudo apt-get check
[sudo] password for tecmint: Reading package lists... Done Building dependency tree Reading state information... Done
23. Hvordan søker og bygger jeg avhengigheter?
Denne 'build-dep'-kommandoen søker i de lokale depotene i systemet og installerer byggeavhengighetene for pakken. Hvis pakken ikke eksisterer i det lokale depotet, vil den returnere en feilkode.
$ 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. Hvordan kan jeg rense Apt-Get Cache automatisk?
'autoclean'-kommandoen sletter alle .deb-filer fra /var/cache/apt/archives for å frigjøre betydelig volum med diskplass.
$ sudo apt-get autoclean
Reading package lists... Done Building dependency tree Reading state information... Done
25. Hvordan kan jeg fjerne installerte pakker automatisk?
autoremove-underkommandoen brukes til å automatisk fjerne pakker som sikkert ble installert for å tilfredsstille avhengigheter for andre pakker, og som nå ikke lenger var nødvendig. For eksempel vil følgende kommando fjerne en installert pakke med dens avhengigheter.
$ 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.
Jeg har dekket de fleste tilgjengelige alternativene med apt-get og apt-cache kommandoer, men fortsatt er det flere tilgjengelige alternativer, du kan sjekke dem ut ved å bruke 'man apt-get' eller 'man apt-cache' fra terminalen. Jeg håper du likte å lese denne artikkelen, hvis jeg har gått glipp av noe og du vil at jeg skal legge til listen. Vennligst nevne i kommentaren nedenfor.
Les også: 20 nyttige Linux YUM-kommandoer for pakkebehandling