Dit artikel is van toepassing op alle ondersteunde versies van Ubuntu
Pakketbeheer met APT
Pakketbeheer via apt-get gaat hand in hand met het /etc/apt/sources.list bestand. Voor informatie over het bewerken of updaten van je sources lijst zie SourcesList.
Inleiding
Deze pagina beschrijft hoe u de pakketten op uw systeem kunt beheren met apt-get en gerelateerde commando’s. U kunt bijvoorbeeld een nieuw pakket installeren, een geïnstalleerd pakket verwijderen, of alle geïnstalleerde pakketten bijwerken naar de laatste versies.
Commando’s
Al deze commando’s behalve de zoekcommando’s moeten als root of met superuser-rechten worden uitgevoerd, zie sudo voor meer informatie.
-
Voorbeeld:
sudo apt-get install ubuntu-desktop
Installatiecommando’s
-
apt-get install <package_name>
Met dit commando installeer je een nieuw pakket.
-
apt-get build-dep <package_name>
Dit commando doorzoekt de repositories en installeert de build-afhankelijkheden voor <package_name>. Als het pakket niet in de repositories zit, geeft het een foutmelding.
-
aptitude install <package_name>
Aptitude is een Ncurses viewer van geïnstalleerde of beschikbare pakketten. Aptitude kan worden gebruikt vanaf de commandoregel op een vergelijkbare manier als apt-get. Voer man aptitude in voor meer informatie.
- APT en aptitude accepteren meerdere pakketnamen als een door spaties gescheiden lijst. Bijvoorbeeld:
apt-get install <package1_name> <package2_name> <package3_name>
Gebruik de -s vlag om een actie te simuleren. Bijvoorbeeld: “apt-get -s install <package_name>” zal de installatie van het pakket simuleren, waarbij je te zien krijgt welke pakketten geïnstalleerd en geconfigureerd zullen worden.
auto-apt
-
auto-apt run <command_string>
Dit commando voert <command_string> uit onder de controle van auto-apt. Als een programma toegang probeert te krijgen tot een bestand waarvan bekend is dat het in een niet geïnstalleerd pakket zit, zal auto-apt dat pakket installeren met apt-get. Deze functie vereist apt en sudo om te werken.
- Auto-apt houdt databases bij die up-to-date moeten worden gehouden om effectief te zijn. Dit wordt bereikt door het aanroepen van de commando’s auto-apt update, auto-apt updatedb en auto-apt update-local.
- Gebruiksvoorbeeld
-
Je bent een programma aan het compileren en plotseling treedt er een fout op omdat het een bestand nodig heeft dat je niet hebt. Het programma auto-apt vraagt je om pakketten te installeren als ze nodig zijn, stopt het relevante proces en gaat verder zodra het pakket is geïnstalleerd.
# auto-apt run ./configure
Het zal dan vragen om de benodigde pakketten te installeren en automatisch apt-get aanroepen. Als je X draait, zal een grafische interface de standaard tekstinterface vervangen.
-
Onderhoudsopdrachten
-
apt-get update
U voert dit commando uit na het wijzigen van /etc/apt/sources.list of /etc/apt/preferences . Voor informatie over /etc/apt/preferences, zie PinningHowto. Voer dit commando regelmatig uit om er zeker van te zijn dat de bronlijst up-to-date is. Dit is het equivalent van “Reload” in Synaptic of “Fetch updates” in Adept.
-
apt-get upgrade
Dit commando waardeert alle geïnstalleerde pakketten op. Dit is het equivalent van “Markeer alle upgrades” in Synaptic.
-
apt-get dist-upgrade
Hetzelfde als hierboven, behalve dat je het “smart upgrade” selectievakje toevoegt. Het vertelt APT om een “slim” conflictoplossingssysteem te gebruiken, en het zal proberen om de meest belangrijke pakketten te upgraden ten koste van minder belangrijke pakketten indien nodig.
“apt-get dist-upgrade” voert geen upgrade uit van een vorige versie van Ubuntu. Voor meer informatie over het upgraden van een vorige versie van Ubuntu zie http://www.ubuntu.com/getubuntu/upgrading .
-
apt-get check
Dit commando is een diagnostisch hulpmiddel. Het werkt de pakketlijsten bij en controleert op verbroken afhankelijkheden.
-
apt-get -f install
Dit commando doet hetzelfde als Edit->Fix Broken Packages in Synaptic. Doe dit als u klachten krijgt over pakketten met “unmet dependencies”.
-
apt-get autoclean
Dit commando verwijdert .deb-bestanden voor pakketten die niet langer op uw systeem zijn geïnstalleerd. Afhankelijk van uw installatiegewoonten, kan het verwijderen van deze bestanden uit /var/cache/apt/archives een aanzienlijke hoeveelheid schijfruimte terugwinnen.
-
apt-get clean
Hetzelfde als hierboven, behalve dat het alle pakketten uit de pakketcache verwijdert. Dit is misschien niet wenselijk als u een langzame internetverbinding hebt, omdat u dan alle pakketten die u nodig hebt om een programma te installeren, opnieuw moet downloaden.
-
De pakketcache staat in /var/cache/apt/archives . Het commando
du -sh /var/cache/apt/archives
vertelt u hoeveel ruimte de cache-pakketten innemen.
-
-
dpkg-reconfigure <package_name>
Herconfigureer het genoemde pakket. Bij veel pakketten wordt u gevraagd om een aantal configuratievragen waarvan u misschien niet wist dat ze er waren.
-
Bijvoorbeeld:
dpkg-reconfigure fontconfig-config
krijgt u een “wizard” te zien voor het configureren van lettertypen in Ubuntu.
-
-
echo "<package_name> hold" | dpkg --set-selections
Dit commando zet het gewenste pakket in de wacht.
-
echo "<package_name> install" | dpkg --set-selections
Dit commando verwijdert de “hold” of “locked package” status ingesteld door het bovenstaande commando. De opmerking hierboven over sudo gebruik is van toepassing op dit commando.
Verwijderingscommando’s
-
apt-get remove <package_name>
Dit commando verwijdert een geïnstalleerd pakket, waarbij configuratiebestanden intact worden gelaten.
-
apt-get purge <package_name>
Dit commando verwijdert een pakket en de bijbehorende configuratiebestanden volledig. Configuratiebestanden die zich in ~ bevinden, worden gewoonlijk niet door deze opdracht beïnvloed.
- + operator
-
Als u pakket1 wilt verwijderen en pakket2 in één stap wilt installeren, moet u
-
:
apt-get remove <package1> <package2>+
.
-
- + operator
-
apt-get autoremove
Deze opdracht verwijdert pakketten die door andere pakketten zijn geïnstalleerd en niet langer nodig zijn.
-
apt-get autoremove <package_name>
Deze opdracht verwijdert een geïnstalleerd pakket en de afhankelijkheden.
-
-
Hoewel er geen ingebouwde manier is om alle configuratiegegevens van uw verwijderde pakketten te verwijderen, kunt u alle configuratiegegevens van elk verwijderd pakket verwijderen met het volgende commando.
dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge
Zoek-commando’s
-
apt-cache search <search_term>
Elk pakket heeft een naam en een beschrijving. Dit commando geeft een lijst van pakketten waarvan de naam of beschrijving <search_term> bevat.
-
dpkg -l *<search_term>*
Dit zal pakketten vinden waarvan de naam <search_term> bevat. Vergelijkbaar met apt-cache search, maar laat ook zien of een pakket op je systeem geinstalleerd is door het te markeren met ii (geinstalleerd) en un (niet geinstalleerd).
-
apt-cache show <package_name>
Dit commando toont de beschrijving van pakket <package_name> en andere relevante informatie zoals versie, grootte, afhankelijkheden en conflicten.
-
dpkg --print-avail <package_name>
Dit commando is vergelijkbaar met “apt-cache show”.
-
dpkg -L <package_name>
Dit commando geeft een lijst van bestanden in pakket <package_name>.
-
dpkg -c foo.deb
Dit commando geeft een lijst van bestanden in het pakket “foo.deb”. Merk op dat foo.deb een padnaam is. Gebruik dit commando op .deb-pakketten die u handmatig hebt gedownload.
-
dlocate <package_name>
Dit commando bepaalt welk geïnstalleerd pakket <package_name> bezit. Het toont bestanden van geïnstalleerde pakketten die overeenkomen met <package_name>, met de naam van het pakket waar ze vandaan komen. Beschouw dit als een “reverse lookup” utility.
Om dit commando te kunnen gebruiken, moet het pakket dlocate op uw systeem zijn geïnstalleerd.
-
dpkg -S <filename_search_pattern>
Dit commando doet hetzelfde als dlocate, maar vereist geen installatie van extra pakketten. Het is langzamer dan dlocate, maar heeft het voordeel dat het standaard geïnstalleerd is op alle Debian en Ubuntu systemen.
-
apt-file search <filename_search_pattern>
Dit commando werkt als dlocate en dpkg -S, maar doorzoekt alle beschikbare pakketten. Het geeft antwoord op de vraag: “welk pakket levert dit bestand?”.
-
apt-bestand moet net als apt-get regelmatig worden bijgewerkt. Gebruik het commando:
apt-file update
Om dit commando te kunnen gebruiken, moet het pakket apt-file op uw systeem zijn geïnstalleerd.
-
-
apt-cache pkgnames
Deze opdracht geeft een lijst van alle pakketten in het systeem
-
Een algemene opmerking over zoeken: als zoeken een te lange lijst oplevert, kunt u de resultaten filteren door ze door het commando grep te halen. Voorbeelden:
-
apt-cache search <filename> | grep -w <filename>
zal alleen de bestanden tonen die <filename> als een heel woord
-
dpkg -L package | grep /usr/bin
zal een lijst tonen van bestanden die in de directory /usr/bin staan, handig als je op zoek bent naar een bepaald uitvoerbaar bestand.
-
Voor meer informatie over apt-get, apt-cache en dpkg raadpleeg hun manual pagina’s met behulp van het man commando. Deze handleidingen geven een breder scala aan informatie, naast alle opties die je met elk programma kunt gebruiken.
-
Voorbeeld:
man apt-get
.
Typisch gebruiksvoorbeeld
Ik wil de wind in mijn haren voelen, ik wil de adrenaline van snelheid. Dus laten we een racespel installeren. Maar welke racegames zijn er beschikbaar?
apt-cache search racing game
Het geeft me een heleboel antwoorden. Ik zie een spel genaamd “torcs”. Laten we wat meer informatie over dit spel krijgen.
apt-cache show torcs
Hmmm… het lijkt interessant. Maar is dit spel niet al op mijn computer geïnstalleerd? En wat is de beschikbare versie? Uit welke repository komt het (Universe of Main)?
apt-cache policy torcs
Ok, nu gaan we het installeren!
apt-get install torcs
Wat is het commando dat ik in de console moet typen om dit spel te starten? In dit voorbeeld is dat heel eenvoudig (“torcs”), maar dat is niet altijd het geval. Een manier om de naam van de binary te vinden is om te kijken welke bestanden het pakket heeft geïnstalleerd in “/usr/bin”. Voor spellen zal de binary in “/usr/games” staan. Voor administratieve programma’s staat het in “/usr/sbin”.
dpkg -L torcs | grep /usr/games/
Het eerste deel van het commando toont alle bestanden die door het pakket “torcs” zijn geïnstalleerd (probeer het). Met het tweede deel vragen we om alleen regels weer te geven die “/usr/games/” bevatten.
Hmmm, dat spel is cool. Misschien zijn er wat extra tracks?
apt-cache search torcs
Maar ik heb bijna geen ruimte meer. Ik zal de apt cache verwijderen!
apt-get clean
Oh nee, mijn moeder heeft me gevraagd om alle games van deze computer te verwijderen. Maar ik wil de configuratiebestanden bewaren, zodat ik het later gewoon opnieuw kan installeren.
apt-get remove torcs
Als ik ook de configuratie bestanden wil verwijderen :
apt-get purge torcs
Instellen van apt-get om een http-proxy te gebruiken
Dit zijn drie methodes om apt-get te gebruiken met een http-proxy.
Tijdelijke proxy sessie
Dit is een tijdelijke methode die je handmatig kunt gebruiken elke keer als je apt-get wilt gebruiken via een http-proxy. Deze methode is handig als je slechts tijdelijk een http-proxy wilt gebruiken.
Voer deze regel in de terminal in voordat je apt-get gebruikt (vervang je gegevens voor jeproxyadres en proxyport).
export http_proxy=http://yourproxyaddress:proxyport
Als je normaal sudo gebruikt om apt-get uit te voeren, moet je eerst als root inloggen om dit te laten werken, tenzij je ook expliciete omgevings-instellingen toevoegt aan /etc/sudoers, bijv.
Defaults env_keep = "http_proxy https_proxy ftp_proxy"
APT configuratie bestand methode
Deze methode gebruikt het apt.conf bestand dat in je /etc/apt/ directory staat. Deze methode is handig als je alleen apt-get (en niet andere applicaties) permanent een http-proxy wilt laten gebruiken.
Op sommige installaties zal er geen apt-conf bestand zijn ingesteld. Deze procedure zal ofwel een bestaand apt-conf bestand bewerken of een nieuw apt-conf bestand aanmaken.
gksudo gedit /etc/apt/apt.conf
Voeg deze regel toe aan je /etc/apt/apt.conf bestand (vervang je gegevens voor jeproxyaddress en proxyport).
Acquire::http::Proxy "http://yourproxyaddress:proxyport";
Save the apt.conf file.
BASH rc methode
Deze methode voegt een tweetal regels toe aan uw .bashrc bestand in uw $HOME directory. Deze methode is handig als je apt-get en andere applicaties, zoals wget, een http-proxy wilt laten gebruiken.
gedit ~/.bashrc
Voeg deze regels toe onderaan uw ~/.bashrc bestand (vervang uw gegevens voor uwproxyaddress en proxyport)
http_proxy=http://yourproxyaddress:proxyportexport http_proxy
Sla het bestand op. Sluit uw terminal venster en open dan een ander terminal venster of source het ~/.bashrc bestand:
source ~/.bashrc
Test je proxy met sudo apt-get update en welke networking tool je maar wilt. Je kunt firestarter of conky gebruiken om actieve verbindingen te zien.
Als je een fout maakt en terug gaat om het bestand opnieuw te bewerken, kun je de terminal sluiten en opnieuw openen of je kunt ~/.bashrc sourceen zoals hierboven getoond.
source ~/.bashrc
Hoe in te loggen als proxy gebruiker
Als u moet inloggen op de Proxy server kan dit in de meeste gevallen door de volgende layout te gebruiken bij het specificeren van het proxy adres in http-proxy. (vervang uw gegevens voor gebruikersnaam, wachtwoord, uwproxyadres en proxyport)
http_proxy=http://username:password@yourproxyaddress:proxyport
Bruikbare aanvullende pakketten
-
Deborphan
-
Debfoster
Aanvullende links
-
Repositories/CommandLine
-
PinningHowto
-
AutoDeb
-
Synaptic Package Manager
-
Ubuntu Community Forums: Installaties en upgrades
-
Hoe pakketupdates te versnellen met apt-snel
Troubleshooting
-
https://help.ubuntu.com/community/PackageManagerTroubleshootingProcedure
CategoryPackageManagement CategoryCommandLine