We gebruiken Ubuntu, Debian, CentOS en verschillende besturingssystemen. Als iemand vraagt, “welk besturingssysteem gebruik je?” zullen de meesten van jullie misschien zeggen, “Ik gebruik Linux”. Het is niet echt Linux. Linux is gewoon de naam van de kernel. Dit zijn eigenlijk verschillende Linux-distributies.
Nu vraag je je misschien af, “Wat is een Linux-distributie?”
Wel, de Linux-kernel zelf kan niet erg mooie dingen doen. Het is software die de hardware beheert, geheugen aan programma’s toewijst, u helpt het programma uit te voeren, en andere eenvoudige taken voor u uitvoert. Laten we zeggen dat je een bestand wilt bewerken met nano text editor. Nou, de Linux kernel heeft dat niet. Je moet het apart bovenop de Linux kernel installeren om het te kunnen gebruiken.
Zonder nuttige programma’s is de Linux kernel van geen nut voor gewone gebruikers. Nogmaals, het installeren van programma’s bovenop de Linux kernel is niet iets wat gewone mensen graag zouden doen. Daarom hebben verschillende bedrijven en particulieren belangrijke programma’s (of software) bovenop de Linux kernel geplaatst en voor u verpakt. Dus wanneer je het installeert, kun je aan de slag met het programma dat je nodig hebt. Dit wordt een Linux gebaseerd besturingssysteem of een Linux distributie genoemd. Ubuntu, Debian, CentOS, Fedora en anderen zijn Linux-distributies of op Linux gebaseerde besturingssystemen. Ze zijn niet alleen Linux.
Nu, er zijn zoveel softwares op Linux dat je ze niet eens kunt tellen. Ze allemaal in een enkel besturingssysteempakket opnemen zou de omvang van het besturingssysteem onnodig groot maken en moeilijker te distribueren. Dus heeft het besturingssysteem een mechanisme nodig om gemakkelijk pakketten te installeren als dat nodig is. Op die manier zouden ze veelgebruikte hulpprogramma’s kunnen opnemen en de installatie kleiner maken. Het is gemakkelijker te ontwikkelen, te distribueren en te downloaden voor gebruikers en een meer modulaire aanpak.
Dan worden de extra pakketten gehost op een webserver of FTP server van de Linux distributie vanwaar gebruikers ze kunnen downloaden en installeren. Deze webservers of FTP-servers worden package repository genoemd.
Je hebt ook een manier nodig om deze pakketten te beheren (installeren, verwijderen, downloaden) vanuit de package repository. Dus een package manager is opgenomen in uw favoriete Linux distributie. Ubuntu is gebaseerd op de Debian GNU/Linux distributie. Ubuntu gebruikt de APT (Advanced Package Tool) pakketbeheerder om pakketten te beheren. De APT pakketbeheerder en alle grafische front-ends (Ubuntu Software Center, Muon, aptitude etc) gebruikt het sources.list bestand om te leren welke pakket repository of repositories te gebruiken.
In dit artikel zal ik je laten zien hoe het sources.list bestand wordt gebruikt op Ubuntu. Laten we beginnen.
De APT pakketbeheerder en al zijn grafische frontends krijgen de pakketrepository informatie uit /etc/apt/sources.list bestand en bestanden uit de /etc/apt/sources.list.d directory.
In Ubuntu bewerken verschillende pakketbeheerders het /etc/apt/sources.list bestand direct. Ik raad u niet aan om daar aangepaste pakketrepositories toe te voegen. Als je een extra pakket repository wilt toevoegen, kun je deze het beste in de /etc/apt/sources.list.d/ directory zetten. Ik zal je later in dit artikel laten zien hoe je dat praktisch kunt doen.
Begrijpen van sources.list bestand:
De inhoud van het /etc/apt/sources.list bestand ziet er ongeveer zo uit.
Hier zijn regels die beginnen met een hash (#) commentaar. Commentaar wordt gebruikt voor documentatiedoeleinden in dit bestand. Commentaar wordt ook gebruikt om hier een bepaalde pakketrepository uit te schakelen.
U kunt bijvoorbeeld een commentaar achterlaten wanneer u een aangepaste pakketrepository toevoegt zoals dit.
deb http://192.168.10.1/nodejs/8.x stretch main
Ik ga elke regel die gebruikt wordt om een package repository toe te voegen (regels die beginnen met deb) in het /etc/apt/sources.list bestand en bestanden in de /etc/apt/sources.list.d/ directory een APT regel noemen. Je kunt het noemen zoals je wilt.
Nu gaan we het hebben over hoe een APT regel is geformatteerd. Dit is een voorbeeld van een APT regel zoals getoond in de schermafbeelding hieronder.
Een APT regel begint met deb, wat betekent dat dit pakketdepot softwarepakketten distribueert als voorgecompileerde binaries in deb bestandsformaat.
Een APT regel kan ook beginnen met deb-src, wat betekent dat het pakketdepot softwarepakketten distribueert als broncodes, die je in je eigen computer moet compileren om ze te kunnen gebruiken. Standaard zijn alle deb-src pakket repositories uitgeschakeld op Ubuntu. Persoonlijk geef ik er de voorkeur aan ze uit te schakelen omdat ik ze niet gebruik. Het installeren van pakketten vanaf broncode duurt lang, afhankelijk van de specificatie van je computer.
Dan heb je de HTTP, HTTPS, of FTP URL van de pakketrepository. Dit is waar alle pakketbestanden en pakketdatabasebestanden worden bewaard. De pakketbeheerder downloadt de metadata van de pakketten en andere informatie om te weten te komen welke pakketten beschikbaar zijn en waar ze gedownload kunnen worden.
Dan moet je de korte codenaam van je Ubuntu besturingssysteem intypen. Deze is voor elke versie van Ubuntu anders. In Ubuntu 18.04 LTS is dat bijvoorbeeld bionic.
U kunt erachter komen wat het voor uw distributie is met het volgende commando:
Dan plaatst u een door spaties gescheiden lijst van verschillende secties van dat pakketreservoir. De pakketten van een pakket repository kunnen logisch verdeeld worden in vele groepen zoals je kan zien in de gemarkeerde sectie van dit artikel hieronder. De Ubuntu pakket repository is verdeeld in main, restricted, universe en multiverse secties. In dit voorbeeld heb ik alleen de hoofd en beperkte secties van het bionische pakket depot toegevoegd.
Dat is in principe alles wat je moet weten over sources.list bestand op Ubuntu.
Eigen pakket depot toevoegen op Ubuntu:
Stel, je wilt je eigen pakket depot toevoegen op Ubuntu. Laten we zeggen, dat het wordt gehost op uw lokale netwerk en beschikbaar is op http://192.168.10.5/nodejs en het is een mirror van de NodeJS pakket repository.
Maak eerst een nieuw bestand node.list in de /etc/apt/sources.list.d/ directory met het volgende commando: