Misschien wel het meest onderscheidende kenmerk van Debian-gebaseerde Linux-distributies (zoals Ubuntu, Mepis, Knoppix, enz.) Is hun pakketsysteem - APT. Ook bekend als de Advanced Package Tool, werd APT voor het eerst geïntroduceerd in Debian 2.1 in 1999. APT is niet zozeer een specifiek programma als wel een verzameling afzonderlijke, gerelateerde pakketten.

Met APT heeft Linux de mogelijkheid gekregen om softwarepakketten op een veel eenvoudigere en efficiëntere manier te installeren en te beheren dan voorheen mogelijk was. Vóór de introductie moest de meeste software worden geïnstalleerd door de broncode handmatig te compileren of door afzonderlijke pakketten zonder automatische afhankelijkheidsafhandeling (zoals RPM-bestanden) te gebruiken. Dit kan uren 'afhankelijkheid van de hel' betekenen, zelfs om een ​​vrij triviaal programma te installeren.

In dit artikel zullen we enkele van de beste eigenschappen van APT benadrukken en enkele minder bekende functies van APT en zijn neef dpkg delen . Geloof het of niet, APT kan zelfs worden gebruikt om Sodoku-puzzels op te lossen!

dpkg

De basis van het pakketpakket van Debian is dpkg. Het voert alle functies op laag niveau van software-installatie uit. Als u zo geneigd was, kon u dpkg alleen gebruiken om uw software te beheren. Het kan informatie over de softwareverzameling van uw systeem installeren, verwijderen en verstrekken. Hier zijn enkele van mijn favoriete functies.

Basisinstallatie van lokaal bestand

Sommige software-auteurs maken Debian-pakketten van hun programma's aan, maar bieden geen opslagplaats voor APT om van op te halen. In dit geval bieden ze alleen een downloadbaar .deb-bestand. Dit lijkt erg op RPM-pakketten of zelfs Windows .msi-bestanden. Het bevat alle bestanden en configuratiegegevens die nodig zijn om het programma te installeren. Om een ​​programma vanuit een .deb-bestand te installeren, hebt u het eenvoudig nodig

dpkg -i MyNewProgram.deb

De -i, zoals je misschien wel raadt, vertelt dpkg om dit stukje software te installeren.

De inhoud van een pakket vermelden

U kunt er achter komen dat u na het installeren van een programma niet weet hoe u dat programma moet uitvoeren. Soms moet je weten waar je de configuratiebestanden voor je nieuwe game kunt vinden. Dpkg biedt een eenvoudige manier om een ​​lijst weer te geven van alle bestanden die bij een bepaald pakket horen.

dpkg -L MyNewProgram

Merk op dat zaak van belang is. -L en -l zijn volledig verschillende opties.

Vaak heeft een pakket zoveel bestanden dat het moeilijk kan zijn om door de lijst te bladeren om de door u gezochte (n) te vinden. Als dat het geval is, kunnen we grep gebruiken om de resultaten te filteren. De volgende opdracht doet hetzelfde als hierboven, maar toont alleen resultaten met een "bin" in het pad, zoals / usr / bin.

dpkg -L MyNewProgram | grep bin

Ik zal niet eens ingaan op de ontzagwekkende kracht die grep is, maar in zijn eenvoudigste vorm kan het, zoals hierboven, worden gebruikt om de uitvoer van een programma snel en eenvoudig te filteren.

De eigenaar van een bestand zoeken

Af en toe, bevindt u zich in een situatie die het omgekeerde is van het gedeelte hierboven. Je hebt een bestand, maar je weet niet tot welk pakket het behoort. Nogmaals, dpkg heeft je gedekt.

dpkg -S mysteryfile.cfg

Dit zal u vertellen welk pakket het bestand heeft gemaakt / bezit.

Vermeld wat je hebt geïnstalleerd

Stel dat u uw systeem opnieuw gaat installeren en wilt weten wat u al hebt geïnstalleerd. Je zou een app zoals Synaptic kunnen openen en een filter kunnen instellen om alles gemarkeerd als "geïnstalleerd" te laten zien, of je zou het snel en gemakkelijk kunnen doen vanaf de commandolijn met dpkg.

dpkg -l

of

dpkg --get-selections

Dat geeft je een grote lange lijst van alles wat je hebt geïnstalleerd. Geavanceerde gebruikers kunnen deze opdrachten gebruiken om een ​​tekstbestand te maken met al hun pakketten, die later in APT kunnen worden ingevoerd om alles in één keer opnieuw te installeren!

Een pakket opnieuw configureren

Wanneer een .deb-pakket is geïnstalleerd, doorloopt het een aantal fasen. Een daarvan is de configuratiefase, waar ontwikkelaars een reeks acties kunnen uitvoeren die plaatsvinden nadat alle bestanden op de juiste locatie zijn geïnstalleerd. Dit omvat zaken zoals start / stop-services, of het maken van logs of andere dergelijke dingen. Soms moet je die stappen herhalen, zonder het hele herinstallatieproces te doorlopen. Daarvoor gebruikt u:

dpkg-herconfiguratie (pakketnaam)

Hiermee worden alle post-install-stappen die nodig zijn voor dat pakket opnieuw uitgevoerd zonder dat u opnieuw moet installeren. Geloof me, deze komt goed van pas.

Aptitude / Apt-get

Er is wat discussie en verwarring over deze twee tools. Veel Linux-gebruikers hebben moeite om te vertellen wanneer / waarom ze de ene boven de andere moeten gebruiken, omdat ze ongeveer hetzelfde doen.

Kort antwoord: gebruik Aptitude.

Lang antwoord: beide kunnen worden gebruikt om alle verwijderingen van software-installaties te beheren en beide zullen goed werk leveren. Het Debian-team beveelt officieel gebruik van Aptitude aan. Het is niet dat het VEEL beter is dan apt-get, maar dat het op veel manieren een beetje beter is. U kunt een van beide gebruiken en het voldoet aan uw pakketbeheerbehoeften, maar mix en match niet op hetzelfde systeem. Kies er een en blijf bij.

Het juiste pakket vinden

Ik vind vaak dat ik software nodig heb om iets te doen, maar ik weet niet de naam van programma's om het te doen. Ik heb bijvoorbeeld misschien een FLAC-speler nodig, maar ik weet niet uit welke speler zal werken ...

Aanleg:

geschiktheidsonderzoek flac

Klassieke APT:

apt-cache zoek flac

U krijgt een lijst met beschikbare pakketten met "flac" in de naam of beschrijving.

Voorkomen dat een pakket wordt bijgewerkt

In sommige gevallen heb ik een versie van een pakket dat ik wil behouden, ook al zijn er mogelijk upgrades. Als het bijvoorbeeld mijn kernel betreft, geef ik er de voorkeur aan om handmatig bij te werken.

Aanleg:

aptitude hold (packagename)

dpkg:

echo "(packagename) hold" | dpkg --set-selections

upgrading

Zowel Aptitude als klassieke APT bieden twee methoden voor het upgraden van uw systeem: upgrade en dist-upgrade . Dit is een ander ding dat enige verwarring veroorzaakt. Een upgrade is een upgrade, toch? Nou niet precies.

Een normale upgrade leest uw lijst met pakketten, controleert online op nieuwere versies en installeert ze indien nodig. Het zal echter GEEN upgrades uitvoeren waarvoor nieuwe pakketten moeten worden geïnstalleerd of bestaande moeten worden verwijderd. Dit is waar dist-upgrade voor is. Het krijgt elke nieuwere versie die het vindt, zelfs als het gaat om het installeren van iets nieuws (zoals een afhankelijkheid) of het verwijderen van een bestaand pakket (als het verouderd is of niet langer nodig is).

Aanleg:

aptitude veilige upgrade
aptitude full-upgrade

Klassieke APT:

apt-get-upgrade
apt-get dist-upgrade

Meer informatie over een pakket

Eindelijk, soms moet je gewoon wat meer weten over een pakket. Welke versie is het? Wie onderhoudt het? Is het al geïnstalleerd? Al deze dingen en meer kun je vinden met:

Aanleg:

aptitude show (pakketnaam)

APT:

apt-cache showpkg (pakketnaam)

Alle hier genoemde programma's kunnen veel meer dan ik heb laten zien. De tips hier moeten een lange weg gaan om u te helpen dit geweldige pakketsysteem optimaal te benutten.

Ook voor mensen met het geduld om helemaal tot het einde te lezen,

apt-get moo