
Waarom hebben op Debian gebaseerde Linux-distributies? apt net zoals apt-get? Deed apt vervangen apt-get of hebben ze een ander doel? We leggen de relatie tussen deze twee commando’s uit.
Het Debian pakketbeheersysteem
Een grote inspanning bij het maken van een Linux-distributie is het ontwerpen en maken van een pakketbeheersysteem. Uw gebruikers moeten een manier hebben om softwarepakketten te installeren en te verwijderen. Dat vereist software om de pakketbestanden uit uw softwarerepository op te halen en correct te installeren op de computers van de gebruikers.
Dit is geen geringe onderneming. Zelfs als we de software-engineering opzij zetten, kost het hosten van de softwarerepository’s tijd, moeite en kosten. Dat is een van de redenen waarom zoveel “nieuwe” Linux-distributies afgeleiden zijn van een bestaande Linux-distributie.
Dit leidt tot families of genealogieën van Linux-distributies, zoals de op Debian gebaseerde distributies, de op Red Hat gebaseerde distributies, de op Arch gebaseerde distributies, enzovoort.
De Debian-familie van distributies – inclusief Ubuntu en alle van Ubuntu afgeleide distributies – gebruikt de Debian Package Manager. Dit maakt gebruik van pakketbestanden met de bestandsextensie “.deb”, DEB-bestanden genoemd. DEB-bestanden zijn gecomprimeerde bestanden die andere archiefbestanden bevatten. De archiefbestanden bevatten de uitvoerbare bestanden van de toepassing, man-pagina’s, bibliotheken, enzovoort.
De software installeren vanaf een DEB-bestand betekent dat u al deze componentbestanden uitpakt en op de juiste locaties op uw computer plaatst. Het vereist ook interactie met het besturingssysteem en de desktopomgeving, zodat de applicatie wordt weergegeven in zoekopdrachten naar applicaties en het pictogram kan worden toegevoegd aan docks of systeemmenu’s.
De apt-get en apt commando’s doen dat allebei. Maar waarom hebben we twee commando’s voor hetzelfde?
De commandostructuur
Het pakket dat de installatie echt uitvoert, heet dpkg. Het is eigenlijk een familie van commando’s, waaronder: dpkg-split, dpkg-triggeren dpkg-divert. Deze worden, indien en zoals vereist, aangeroepen door de tools in de Advanced Package Tool-suite, of APT. APT is een andere verzameling tools, waaronder: apt-get, apt-cacheen apt.
De dpkg commando wordt beschouwd als een commando op een laag niveau. Afgezien van de eenvoudigste interacties, wordt het erg ingewikkeld met een groot aantal opties. De apt-get commando fungeert als een front-end voor de dpkg reeks commando’s. Dit vereenvoudigt de zaken aanzienlijk. apt-get is ontworpen als een gebruikersgerichte opdracht en niet als een achtergrondopdracht op een laag niveau. Toch, ondanks zijn menselijke rol, een ander commando genaamd apt-cache werd gebruikt om informatie aan de gebruiker te tonen.
De apt commando biedt een andere manier om te “praten” met dpkg via een toegankelijker en gebruiksvriendelijker opdrachtregelprogramma. Het biedt een subset van de kenmerken van apt-getmaar het is een grote subset en biedt alle veelgebruikte functies en bevat ook functionaliteit van apt-cache.
Linux Mint heeft hier een speciale vermelding nodig. De Linux Mint-beheerders hebben hun eigen versie van aptwat een Python-wrapper is voor apt-get. Dat is niet de apt we hebben het hier over. We verwijzen naar de mainstream Debian aptdie werd uitgebracht in 2014, en kreeg aandacht en tractie in het gebruikersvers toen het in 2016 werd opgenomen in Ubuntu 16.04.
De verschillen tussen apt en apt-get
Dus, dpkg is de achtergrondtoepassing op laag niveau. De apt-get command is een uitgebreide maar vereenvoudigde interface om dpkgen apt is een gebruiksvriendelijkere, maar enigszins uitgeklede versie van apt-get.
Maar apt-get en apt bieden meer dan alleen een gemakkelijke interface om dpkg. Ze doen dingen die dpkg doet niet. Ze halen bestanden op uit repositories en zullen proberen te helpen met ontbrekende afhankelijkheden en conflicten.
Op zijn beurt, de apt commando doet sommige dingen apt-get niet. Het biedt meer informatie van het type dat de gemiddelde gebruiker wil zien tijdens een installatie en onderdrukt enkele van de meer obscure informatie die: apt-get toont. apt geeft superieure visuele feedback en gebruikt kleuraccenten en voortgangsbalken in het terminalvenster.
Er zijn enkele veelvoorkomende commando’s tussen: apt en apt-get. Al deze commando’s kunnen worden voorafgegaan door: apt of apt-get en zal hetzelfde gedragen:
- installeren verpakkingsnaam: Installeer een pakket.
- verwijderen verpakkingsnaam: Een pakket verwijderen (verwijderen).
- zuiveren verpakkingsnaam: een pakket en zijn configuratiebestanden verwijderen.
- bijwerken verpakkingsnaam: de gegevens van de repository bijwerken.
- upgrade: Werk alle pakketten bij.
- automatisch verwijderen: Verwijder bibliotheken en andere pakketten die niet langer nodig zijn.
De apt full-upgrade optie vervangt de apt-get dist-upgrade optie.
Dit zijn nieuwe commando’s voor apt:
-
geschikt zoeken: Zoek naar een pakketnaam in de repository’s. Dit is hetzelfde als
apt-cache search -
apt tonen: Toon informatie over een pakket. Dit is hetzelfde als
apt-cache show. - geschikte lijst optie: Toont lijsten met geïnstalleerde of upgradebare pakketten.
-
apt edit-sources: Bewerkt rechtstreeks de lijst met opslagplaatsen die
aptzoekt in voor pakketten.
Een applicatie installeren
Je kunt gebruiken apt search om te zien of een pakket bestaat in de repositories of om te controleren of je de juiste naam voor het pakket hebt. Stel dat u Scribus wilt installeren maar de pakketnaam niet weet. Je zou kunnen proberen te zoeken naar scribus-desktop.
apt search scribus-desktop

Die zoektocht leverde niets op. We proberen het opnieuw met een kortere, meer generieke zoeksleutel.
apt search scribus

Dit levert verschillende hits op, en we kunnen zien dat er een is genaamd “scribus”, en dat het er zeker naar uitziet dat dit het kernpakket is voor de Scribus desktop publishing-applicatie. De apt show commando zal ons meer details geven.
apt show scribus

We krijgen een stortvloed aan informatie over het pakket, inclusief wat er zal worden geïnstalleerd en een beschrijving van de software.

Het suggereert ook andere pakketten die nodig kunnen zijn, afhankelijk van onze behoeften.
Om het pakket te installeren moeten we gebruiken sudo.
sudo apt install scribus

De bestanden worden opgehaald uit de repositories. Het bestand dat momenteel wordt opgehaald, is bruin gemarkeerd.

Wanneer de bestanden zijn opgehaald, worden ze geïnstalleerd. De voortgang van de installatie wordt weergegeven als een percentage weergegeven in cijfers en als een voortgangsbalk.

Andere opdrachten
De apt list en apt edit-sources commando’s zijn opties in apt die niet bestaan ​​in apt-get.
De apt list commando kan worden gebruikt met de --installed of --upgradeable opties om te zien welke pakketten op uw computer zijn geïnstalleerd en welke kunnen worden geüpgraded.
Om de lijst met op uw computer geïnstalleerde toepassingen te zien, gebruikt u:
apt list --installed

Als we door de uitvoer scrollen, kunnen we twee vermeldingen zien voor onze nieuw geïnstalleerde Scribus-toepassing.

Om te zien of een van de geïnstalleerde applicaties kan worden geüpgraded, gebruikt u de --upgradeable optie.
apt list --upgradeable

De apt commando biedt u ook een manier om de informatie die is opgeslagen over de repositories te bewerken apt zoekt naar pakketten. Doe dit alleen als je weet wat je doet.
sudo apt edit-sources

Deze opdracht opent uw standaardeditor en laadt het bestand met de repository-informatie.

Moet ik apt of apt-get gebruiken?
De apt-get commando wordt niet vaak bijgewerkt, en dat is maar goed ook. Het moet achterwaartse compatibiliteit behouden. Achterwaartse compatibiliteit is niet zo’n probleem voor apt. Het wordt beschouwd en behandeld als een gebruikersgericht commando.
Gebruik voor dagelijks gebruik apt.
Als je iets scripts maakt dat te maken heeft met pakketinstallatie, gebruik dan apt-get. Dat geeft je de grootste kans op overdraagbaarheid en compatibiliteit in je scripts.