Hoe apt-get te gebruiken: Pakketbeheerder in Ubuntu, LinuxMint, Debian

Inhoudsopgave

Wat is apt-get?
De opdracht apt-get is een zeer krachtige tool die standaard wordt geleverd in distributies zoals Debian, LinuxMint, Ubuntu is verantwoordelijk voor het beheer van de pakketbibliotheek en als zodanig voor het installeren, verwijderen, bijwerken en zoeken naar de pakketten voor het besturingssysteem van de lijn commando.
Wat is apt-cache?
Het is een afgeleide van apt-get, de belangrijkste functie is om te zoeken naar de pakketten die we willen installeren met behulp van de cache na het updaten van onze repository. Maar we kunnen niet alleen zoeken om te installeren, we kunnen ook controleren welke pakketten zijn geïnstalleerd of pakketinformatie zoals de geïnstalleerde versie of of er een update beschikbaar is. Het is opgenomen zoals apt-get in veel distributies met deb-pakketten.

Hoe de pakketlijst weergeven?


We kunnen een lijst maken van alle pakketten die beschikbaar zijn voor het systeem (Het is een hele lange lijst).
 apt-cache pkgnames esseract-ocr-epo pipenightdreams mumudvb tbb-voorbeelden libsvm-java libmrpt-hmtslam0.9 libboost-timer1.50-dev kcm-touchpad g ++ - 4.5-multilib… 

Hoe filter je zoekopdrachten op naam?


Om een ​​pakket met een korte beschrijving te zoeken zonder het te hoeven installeren, gebruiken we het apt-cache-commando in combinatie met de zoekoptie. Het zal alle pakketten weergeven die overeenkomen met uw zoekopdracht, bijvoorbeeld als we een FTP-server willen installeren, hebben we het vsftpd-pakket nodig.
 apt-cache zoeken vsftpd
Maar voor het geval we alleen de naam willen zonder beschrijving gebruiken we
 apt-cache pkgnames vsftpd

Meer informatie over het Pakket?


Als we meer informatie willen over het pakket, zoals de versie of grootte in KB, gebruiken we
 apt-cache toon netcat 
 Pakket: netcat Prioriteit: optioneel Sectie: universe / net Geïnstalleerde grootte: 30 Onderhoud: Ubuntu-ontwikkelaars Origineel-onderhouder: Ruben Molina Architectuur: alle Versie: 1.10-40 Afhankelijk: netcat-traditioneel (> = 1.10-39) Bestandsnaam: pool / universum / n / netcat / netcat_1.10-40_all.deb Grootte: 3340 md5sum: 37c303f02b260481fa4fc9fb8b2c1004 SHA1: 0371a3950d6967480985aa014fbb6fb898bcea3a SHA256: eeecb4c93f03f455d2c3f57b0a1e83b54dbeced0918ae563784e86a37bcc16c9 Beschrijving-in: TCP / IP zwitsers zakmes - transitional package Dit is een "dummy" afhankelijk is van lenny Dat de standaard versie van netcat, om upgrades te vergemakkelijken. Het kan veilig worden verwijderd. Beschrijving-md5: 1353f8c1d079348417c2180319bdde09 Bugs: https://bugs.launchpad.net/ubuntu/+filebug Oorsprong: Ubuntu

Controleer de vereiste afhankelijkheden voor pakketten


In dat geval gebruiken we showpkg en het zal alle afhankelijkheden weergeven die nodig zijn om correct te werken, of ze nu geïnstalleerd zijn of niet.
 apt-cache showpkg vsftpd
 Pakket: vsftpd Versies: 2.3.5-3ubuntu1 (/var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_binary-i386_Packages) Beschrijving Taal: Bestand: /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 verharden-servers, vsftpd afhankelijkheden: 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)) Biedt: 2.3.5-3ubuntu1 - ftp-server
In de sectie afhankelijkheden zullen ze worden vermeld als ze aanwezig zijn, het zal ons de versie vertellen, anders zal het null zeggen.

Cachestatistieken controleren


We weten dat het apt-cache-commando afhangt van de cache die we hebben geladen, het is handig om te weten wat we in onze cache hebben, daarvoor gebruiken we statistieken.
 apt-cache-statistieken
 Totaal pakketnamen: 51868 (1.037 k) Totale pakketstructuren: 51868 (2.490 k) Normale pakketten: 39505 Pure virtuele pakketten: 602 Enkele virtuele pakketten: 3819 Gemengde virtuele pakketten: 1052 Ontbrekend: 6890 Totaal verschillende versies: 43015 (2.753 k) Totaal verschillende beschrijvingen: 81048 (1.945 k) Totale afhankelijkheden: 252299 (7.064 k) Totale weergave-/bestandsrelaties: 45567 (729 k) Totaal Desc-/bestandsrelaties: 81048 (1.297 k) Totaal Biedt toewijzingen: 8228 (165 k) Totaal geglobde strings : 286 (3.518) Totale ruimte voor afhankelijkheidsversie: 1.145 k Totale vrije ruimte: 62,6 k Totale ruimte goed voor: 13,3 M
We zien de bezette ruimte en het aantal beschikbare pakketten gefilterd op vol of gemengd.

Pakketsysteem bijwerken


Door update te gebruiken, synchroniseren we onze lijst met pakketten met die van de officiële repository, dus als er een nieuwe versie van ssh beschikbaar is, kunnen we deze bijwerken.
 sudo apt-get update
 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- beveiligingsrelease [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 nauwkeurige 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] 

Werk het besturingssysteem bij met de nieuwste versie van de pakketten.


ALS we met apt-update de lijst met beschikbare pakketten bijwerken met apt-get upgrade, installeren we alle updates die beschikbaar zijn voor het systeem.
 apt-get upgrade
 Pakketlijsten lezen… Klaar Afhankelijkheidsboom opbouwen Statusinformatie lezen… Klaar De volgende pakketten zijn achtergehouden: linux-headers-generic linux-image-generic wine1.5 wine1.5-i386 De volgende pakketten worden geüpgraded: 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 … 
Het wordt aanbevolen om de 2 commando's samen te gebruiken, we werken de lijst en pakketten bij met:
 sudo apt-get update && sudo apt-get upgrade

Werk het systeem bij en installeer indien nodig nieuwe pakketten.


Wanneer we upgrade gebruiken, worden de nieuwe versies van de pakketten en hun afhankelijkheden geïnstalleerd, in sommige gevallen wordt een pakket dat een nieuwe afhankelijkheid vereist niet geïnstalleerd. In dit geval gebruiken we dist-upgrade om nieuwe afhankelijkheden bij te werken en indien nodig te installeren, worden voorzichtig met deze optie in een productieomgeving.
 sudo apt-get dist-upgrade

Hoe een specifiek pakket installeren of bijwerken?


Hiermee vermijden we het hele systeem te updaten en besparen we wat bandbreedte als we maar één pakket willen installeren.
 sudo apt-get install netcat
 Pakketlijsten lezen… Klaar Afhankelijkheidsboom opbouwen Statusinformatie lezen… Klaar De volgende extra pakketten worden geïnstalleerd: netcat-traditional De volgende NIEUWE pakketten worden geïnstalleerd: netcat netcat-traditional 0 geüpgraded, 2 nieuw geïnstalleerd, 0 om te verwijderen en 328 niet geüpgraded . Moet 67,1 kB aan archieven ophalen. Na deze operatie zal 186 kB extra schijfruimte worden gebruikt. Wil je doorgaan [J / 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 alle 1.10-40 [3.340 B] 67,1 kB opgehaald in 1s (37,5 kB / s) Eerder niet-geselecteerd pakket netcat-traditioneel selecteren. (Lezen van database… 216118 bestanden en mappen die momenteel zijn geïnstalleerd.) Netcat-traditional uitpakken (van… /netcat-traditional_1.10-40_i386.deb)… Het eerder niet-geselecteerde pakket netcat selecteren. Netcat uitpakken (van… /netcat_1.10-40_all.deb)… Triggers verwerken voor man-db… Netcat-traditioneel instellen (1.10-40)… Netcat instellen (1.10-40)… 

Meerdere pakketten tegelijk installeren


We moeten apt-get install blijven gebruiken, maar de pakketten voor installatie als argument gebruiken.
 sudo apt-get install nethogs goaccess
 Pakketlijsten lezen… Klaar Afhankelijkheidsboom opbouwen Statusinformatie lezen… Klaar goaccess is al de nieuwste versie. nethogs is al de nieuwste versie. 0 geüpgraded, 0 nieuw geïnstalleerd, 0 te verwijderen en 328 niet geüpgraded.

Pakketten installeren met een jokerteken


Met behulp van reguliere expressies kunnen we verschillende pakketten installeren die hetzelfde woord bevatten, bijvoorbeeld * ssh * client, server en add-ons installeren.
 sudo apt-get install '* ssh *' 

Installeer pakketten zonder te updaten.


Met behulp van de -no-upgrade optie zullen we de basisversie van het pakket installeren, maar niet de update.
 sudo apt-get install pakketnaam --no-upgrade
 Pakketlijsten lezen… Klaar Bouwen van afhankelijkheidsboom Statusinformatie lezen… Klaar Vsftpd overslaan, het is al geïnstalleerd en de upgrade is niet ingesteld. 0 geüpgraded, 0 nieuw geïnstalleerd, 0 te verwijderen en 328 niet geüpgraded. Werk een pakket alleen bij als het is geïnstalleerd. We gebruiken -only-upgrade om een ​​pakket alleen bij te werken als het is geïnstalleerd, anders is het niet erg handig in scripts. sudo apt-get install pakketnaam --only-upgrade Pakketlijsten lezen… Klaar Bouwen van afhankelijkheidsboom Statusinformatie lezen… Klaar vsftpd is al de nieuwste versie. 0 geüpgraded, 0 nieuw geïnstalleerd, 0 te verwijderen en 328 niet geüpgraded. 

Werk een pakket alleen bij als het is geïnstalleerd.


We gebruiken -only-upgrade om een ​​pakket alleen bij te werken als het is geïnstalleerd, anders is het niet erg handig in scripts.
 sudo apt-get install pakketnaam --only-upgrade
 Pakketlijsten lezen… Klaar Afhankelijkheidsboom opbouwen Statusinformatie lezen… Klaar vsftpd is al de nieuwste versie. 0 geüpgraded, 0 nieuw geïnstalleerd, 0 te verwijderen en 328 niet geüpgraded.

Specifieke versie van een pakket installeren


We kunnen zelfs een specifieke versie van een pakket installeren, dit is een gangbare praktijk voor bijvoorbeeld java of NGINX.
 sudo apt-get install vsftpd = 2.3.5-3ubuntu1
 Pakketlijsten lezen… Klaar Afhankelijkheidsboom opbouwen Statusinformatie lezen… Klaar vsftpd is al de nieuwste versie. 0 geüpgraded, 0 nieuw geïnstalleerd, 0 te verwijderen en 328 niet geüpgraded. 

Een pakket verwijderen, maar zonder de configuratie aan te raken


We kunnen het verwijderen, maar alle configuratiebestanden behouden voor het geval we het in de toekomst moeten installeren.
 sudo apt-get verwijder vsftpd
 Pakketlijsten lezen… Klaar Afhankelijkheidsboom opbouwen Statusinformatie lezen… Klaar De volgende pakketten worden VERWIJDERD: vsftpd 0 geüpgraded, 0 nieuw geïnstalleerd, 1 te verwijderen en 328 niet geüpgraded. Na deze operatie komt er 364 kB schijfruimte vrij. Wil je doorgaan [J / n]? y (Lezen van database… 216156 bestanden en mappen die momenteel zijn geïnstalleerd.) Verwijderen van vsftpd… vsftpd stop / wait Verwerkingstriggers voor ureadahead… Verwerkingstriggers voor man-db… 

Een pakket volledig verwijderen


Om een ​​pakket met al zijn bestanden en afhankelijkheden te verwijderen, gebruiken we de optie opschonen.
 sudo apt-get purge vsftpd
 Pakketlijsten lezen… Klaar Afhankelijkheidsboom opbouwen Statusinformatie lezen… Klaar De volgende pakketten worden VERWIJDERD: vsftpd * 0 geüpgraded, 0 nieuw geïnstalleerd, 1 om te verwijderen en 328 niet geüpgraded. Na deze bewerking wordt 0 B extra schijfruimte gebruikt. Wil je doorgaan [J / n]? y (Lezen van database… 216107 bestanden en mappen die momenteel zijn geïnstalleerd.) vsftpd verwijderen… Configuratiebestanden voor vsftpd opschonen… Triggers verwerken voor ureadahead… 
We kunnen het combineren met verwijderen, raad deze optie altijd aan voor reiniging.
 sudo apt-get remove --purge vsftpd
 Pakketlijsten lezen… Klaar Afhankelijkheidsboom opbouwen Statusinformatie lezen… Klaar De volgende pakketten worden VERWIJDERD: vsftpd * 0 geüpgraded, 0 nieuw geïnstalleerd, 1 om te verwijderen en 328 niet geüpgraded. Na deze operatie komt er 364 kB schijfruimte vrij. Wil je doorgaan [J / n]? y (Lezen van database… 216156 bestanden en mappen die momenteel zijn geïnstalleerd.) Verwijderen van vsftpd… vsftpd stop / wait Configuratiebestanden voor vsftpd opschonen… Verwerkingstriggers voor ureadahead… Verwerkingstriggers voor man-db… 

Reinig de pakketbeheerder om schijfruimte vrij te maken


Wanneer we een pakket downloaden, wordt het .deb-bestand opgeslagen als een cache, we kunnen al die pakketten verwijderen met de schone optie.
 sudo apt-get clean

Hoe de broncode van een pakket downloaden?


In sommige gevallen kunnen we niet installeren vanuit deb en moeten we het installeren door direct te compileren, we kunnen het doen met -download-only source
 sudo apt-get --download-only source vsftpd
 Pakketlijsten lezen… Klaar Afhankelijkheidsboom opbouwen Statusinformatie lezen… Klaar Noodzaak om 220 kB aan bronarchieven te verkrijgen. 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] Opgehaald 220 kB in 4s (49,1 kB / s) Download volledig en in alleen-downloadmodus
In het geval dat we willen downloaden en compileren met dezelfde apt-get die we gebruiken
 sudo apt-get --compile source goaccess
 Pakketlijsten lezen… Klaar Afhankelijkheidsboom opbouwen Statusinformatie lezen… Klaar Moet 130 kB aan bronarchieven ophalen. 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] Opgehaald 130 kB in 1s (68,0 kB / s) gpgv: Handtekening gemaakt dinsdag 26 juni 2012 09:38:24 AM IST met DSA-sleutel ID A9FD4821 gpgv: Kan handtekening niet controleren: openbare sleutel niet gevonden dpkg-source: waarschuwing: mislukt handtekening verifiëren op ./goaccess_0.5-1.dsc dpkg-source: info: goaccess uitpakken in goaccess-0.5 dpkg-source: info: goaccess_0.5.orig.tar.gz uitpakken dpkg-source: info: goaccess_0.5 uitpakken -1.debian.tar.gz dpkg-buildpackage: bronpakket goaccess dpkg-buildpackage: bronversie 1: 0.5-1 dpkg-buildpackage: bron gewijzigd door Chris Taylor dpkg-buildpackage: hostarchitectuur i386 dpkg-source --before-build goaccess-0.5 dpkg-checkbuilddeps: Onvervulde build-afhankelijkheden: debhelper (> = 9) autotools-dev libncurses5-dev lib glib2.0-dev libgeoip-dev autoconf dpkg-buildpackage: waarschuwing: build afhankelijkheden / conflicten niet voldaan; dpkg-buildpackage afbreken: waarschuwing: (Gebruik de vlag -d om te negeren.)… 

Hoe kan ik een pakket downloaden zonder het te installeren?


Vaak willen we een lokale REPO opzetten om ze lokaal naar andere clients te distribueren en bandbreedte te besparen, deze optie is erg handig.
 sudo apt-get download nethogs
 Get: 1 Nethogs downloaden 0.8.0-1 [27,1 kB] 27,1 kB opgehaald in 3s (7.506 B / s)

Hoe verbroken afhankelijkheden verifiëren?


Deze opdracht is erg handig als we moeten compileren, maar we missen de bibliotheken waarmee we de ontbrekende kunnen verifiëren en installeren.
 sudo apt-get check
 Pakketlijsten lezen… Gereed Afhankelijkheidsboom opbouwen Statusinformatie lezen… Gereed 
conclusies
We hebben het gehad over de handigste opties met apt-get en apt-cache, sommige ontbreken die te zien zijn met man apt-get, man apt-cache. Het is niet nodig om ze uit het hoofd te leren, maar het is wel handig om deze lijst bij de hand te hebben. Als ik een commando weglaat of als je een suggestie hebt, aarzel dan niet om het in de reacties achter te laten.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven
wave wave wave wave wave