Articles

Ubuntu Documentatie

Posted on

(i) Dit artikel is van toepassing op alle ondersteunde versies van Ubuntu

Pakketbeheer met APT

IconsPage/apt.png 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

IconsPage/info.png Al deze commando’s behalve de zoekcommando’s moeten als root of met superuser-rechten worden uitgevoerd, zie sudo voor meer informatie.

  • IconsPage/example.png 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>

    IconsPage/note.png 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
    • IconsPage/voorbeeld.png 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.

    IconsPage/note.png “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.

    • IconsPage/voorbeeld.png 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
      • IconsPage/voorbeeld.png Als u pakket1 wilt verwijderen en pakket2 in één stap wilt installeren, moet u

      • IconsPage/voorbeeld.png:

        apt-get remove <package1> <package2>+

        .

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

    IconsPage/info.png 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

    IconsPage/info.png 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.

  • IconsPage/example.png 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.

IconsPage/info.png 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

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *