web analytics

25 nuttige basis commando’s van APT-GET en APT-CACHE voor pakkettenbeheer

Print Friendly, PDF & Email

Meestal beperken we ons bij het gebruik van apt-get tot het updaten/upgraden van ons systeem of tot het installeren van een nieuw pakket. Hier gaan we wat verder in het gebruik van apt-get en apt-cache.

Wat is apt-get?

Het apt-get programma is een krachtig pakkettenbeheer commandolijn programma, dat gebruikt wordt om samen te werken met Ubuntu’s APT (Advanced Packaging Tool) bibliotheek voor het installeren van nieuwe software pakketten, het verwijderen van bestaande pakketten, het bijwerken van bestaande pakketten en zelfs het upgraden van het hele systeem.

What is apt-cache?

Het apt-cache commandolijn programma wordt gebruikt om de apt software package cache te doorzoeken. Met andere woorden, dat programma wordt gebruikt om software pakketten te zoeken, informatie over pakketten te verzamelen alsook het zoeken naar welke pakketten beschikbaar zijn op Debian of Ubuntu gebaseerde systemen.

1. Hoe verkrijg ik een lijst van alle ter beschikking zijnde pakketten?

Tik het onderstaand commando in:

$ 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. Hoe vind ik de pakketnaam en beschrijving van een programma?

Om de pakketnaam en de beschrijving te vinden van een pakket vóór installatie gebruik je de ‘search‘ optie bij apt-cache . Dan verkrijg je een lijst van alle gevonden pakketen met hun korte beschrijving.

Stel, je wil de beschrijving vinden van het pakket ‘vsftpd‘, dan wordt je opdracht.

$ 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

Om een lijst te verkrijgen met alle pakketten die beginnen met ‘vsftpd‘, gebruik je onderstaan commando

$ apt-cache pkgnames vsftpd

vsttpd

3. Nagaan van de pakketinformatie

Als je bijvoorbeeld alle informatie samen met een korte beschrijving (versie, checksums, grootte, grootte na installatie, categorie, …) gebruik je de ‘show‘ optie.

$ apt-cache show netcat

Package: netcat
Priority: optional
Section: universe/net
Installed-Size: 30
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Ruben Molina <rmolina@udea.edu.co>
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. Nagaan van de afhankelijkheden (dependencies) van een pakket?

Gebruik de ‘showpkg‘ optie. Je krijgt dan alle afhankelijkheden te zien of ze nu geïnstalleerd zijn of niet.

$ 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. Cache statistieken vertonen

De ‘stats‘ optie vertoont de statistieken van de cache. ‘Total package names’ is het aantal pakketten gevonden in de cache.

$ 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. Systeem pakketten updaten

Dit commando zal u vertrouwd lijken. Het ‘update‘ commando wordt gebruikt om de indexbestanden te hersynchroniseren met hun bronnen die weergegeven zijn in  /etc/apt/sources.list. Het commando haalt pakket informatie van je softwarebronnen en PPA servers en past de lijst van pakketten aan met de nieuwe informatie. Het zal echter geen nieuwere versies van pakketten installeren, maar je cache bevat wel de recenste informatie.

$ 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. Software pakketten bijwerken

Het ‘upgrade‘ commando wordt gebruikt om al je geïnstalleerde pakketten bij te werken naar de laatste versie. Er zullen nooit pakketten verwijderd worden, noch zullen pakketen die nog niet geïnstalleerd zijn, toegevoegd worden om te voldoen aan afhankelijkheden.

$ 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

Als je echter wenst te upgraden, ongeacht of pakketten toegevoegd of verwijderd zullen worden om aan de afhankelijkheden te voldoen, gebruik het ‘dist-upgrade‘ commando.

$ sudo apt-get dist-upgrade

8. Hoe installeer of upgrade ik specifieke pakketten?

De ‘install‘ optie maakt dat een bestand  geïnstalleerd of bijgewerkt zal worden.

$ 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. Hoe installeer ik meerdere pakketten?

Voeg gewoon meerdere pakketnamen, gescheiden met een spatie, toe aan het install commando.

$ 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. Hoe installeer ik meerdere pakketten met behulp van joker-tekens (wildcard)?

Middels gebruik te maken van ‘reguliere expressies’ kun je meerdere pakketten installeren. Bv: met het  * joker-teken willen we diverse pakketten die ‘libreoffice’ in de pakketnaam hebben installeren. We gaan dat doen via de reguliere uitdrukking libreoffice*

$ sudo apt-get install libreoffice*

Pakketlijsten worden ingelezen… Klaar
Boom van vereisten wordt opgebouwd
De status informatie wordt gelezen… Klaar
Let op, ‘libreoffice-grammarcheck-ta’ wordt geselecteerd omwille van de regex ‘libreoffice*’
Let op, ‘libreoffice-grammarcheck-te’ wordt geselecteerd omwille van de regex ‘libreoffice*’

….

0 pakketten opgewaardeerd, 421 pakketten nieuw geïnstalleerd, 1 te verwijderen en 1 niet opgewaardeerd.
Er moeten 2.009 MB aan archieven opgehaald worden.
Door deze operatie zal er 7.230 MB extra schijfruimte gebruikt worden.
Wilt u doorgaan? [J/n] n

11. Hoe pakketten installeren zonder te upgraden?

De ‘–no-upgrade‘ optie zal beletten dat reeds bestaande pakketen geüpgraded worden

$ sudo apt-get install vsftpd –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. Hoe enkel bepaalde pakketen upgraden?

De ‘–only-upgrade‘ optie maakt dat er geen nieuwe pakketten geïnstalleerd worden, maar enkel de reeds geïnstalleerde pakketten upgrade worden.

$ sudo apt-get install vsftpd –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. Hoe een specifieke pakketversie installeren?

Als je enkel een bepaalde versie van een pakket wenst te installeren, dan voeg je de versie toe na het = teken achter de pakketnaam

$ 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. Hoe verwijder je een pakket zonder zijn configuratie gegevens?

Gebruik de ‘remove’ optie om een pakket te verwijderen zonder de ini-files, zodat je later de zelfde ini-gegevens kunt hergebruiken

$ sudo apt-get remove 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
Processing triggers for ureadahead …
Processing triggers for man-db …

15. Hoe verwijder ik een pakket volledig?

Om een pakket en de configuratiebestanden te verwijderen, gebruik je de ‘purge‘ optie.

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

16. Hoe kan ik schijfruimte vrijmaken?

Gebruik de ‘clean‘ optie om ruimte vrij te maken, door gedownloade  .deb bestanden (pakketten) van de lokale softwarebron te verwijderen.

$ sudo apt-get clean

17. Hoe download ik enkel de broncode van de pakketten

Om enkel de broncode van een bepaald pakket te downloaden, gebruik je de ‘–download-only source‘ gevolgd door de pakketnaam.

$ 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. Hoe kan ik een pakket downloaden en uitpakken

Gebruik de ‘source‘ optie om de broncode van een bepaald pakket te downloaden en uit te pakken in een specifieke map.

$ 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. Hoe kan ik een pakket downloaden, uitpakken en compileren

Je kan een pakket simultaan downloaden, uitpakken en compileren met de ‘–compile‘ optie zoals hieronder getoond.

$ 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 <ctaylor@debian.org>
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. Hoe kan ik een pakket downloaden zonder te installeren

Met de ‘download‘ optie kan je eender welk pakket pakket downloaden zonder het te installeren.
Bijvoorbeeld: het onderstaand commando zal het pakket ‘nethogs‘ downloaden naar je actieve map.

$ 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. Hoe controleer ik de ‘change-log’ van een pakket?

De  ‘changelog‘ optie zal van een pakket de change-log downloaden en toont de pakket versie die geïnstalleerd is.

$ 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 <andreserl@ubuntu.com> Wed, 23 May 2012 16:59:36 -0400

22. Hoe controleer ik gebroken afhankelijkheden (broken dependecies)?

De ‘check‘ optie is een diagnostische tool. Het wordt gebruikt om de pakketten cache te updaten en naar gebroken afhankelijkheden te zoeken.

$ sudo apt-get check
[sudo] password for tecmint:
Reading package lists… Done
Building dependency tree
Reading state information… Done

23. Hoe zoek ik naar en maak ik afhankelijkheden?

De ‘build-dep‘ parameter zoekt in de lokale softwarebronnen en installeert de ‘build dependencies’ voor het pakket Als het pakket niet bestaat in de lokale softwarebronnen wordt een fout geretourneerd.

$ 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. Hoe kun je de Apt-Get cache automatisch opschonen?

De ‘autoclean‘ optie verwijdert all .deb bestanden van /var/cache/apt/archives om zo veel schijfruimte vrij te maken.

$ sudo apt-get autoclean
Reading package lists… Done
Building dependency tree
Reading state information… Done

25. Hoe kan ik geïnstalleerde pakketten automatisch verwijderen?

De ‘autoremove‘ optie wordt gebruikt om automatisch pakketten die geïnstalleerd werden om afhankelijkheden van andere pakketten te laten voldoen, en nu niet meer nodig zijn, te verwijderen.
Onderstaand voorbeeld verwijderd een pakket met al zijn afhankelijkheden..

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

Er zijn nog meer opties en combinaties mogelijk met de apt-get en apt-cache commando’s. Je kunt die nagaan via ‘man apt-get‘ of ‘man apt-cache‘ in een terminal

Beoordeling

Geef een reactie

%d bloggers liken dit: