Vi använder Ubuntu, Debian, CentOS och andra operativsystem. Om någon frågar ”vilket operativsystem använder ni?”. De flesta av er kanske svarar: ”Jag använder Linux”. De är inte riktigt Linux. Linux är bara namnet på kärnan. Det är faktiskt olika Linuxdistributioner.
Nu kanske du frågar: ”Vad är en Linuxdistribution?”
Ja, Linuxkärnan i sig själv kan inte göra särskilt avancerade saker. Det är en programvara som hanterar maskinvaran, allokerar minne till program, hjälper dig att köra programmet och andra grundläggande uppgifter på mycket låg nivå åt dig. Låt oss säga att du vill redigera en fil med nano texteditor. Linux-kärnan har inte det. Du måste installera det separat ovanpå Linuxkärnan för att kunna använda det.
Och utan användbara program är Linuxkärnan inte till någon hjälp för vanliga användare. Återigen, att installera program ovanpå Linuxkärnan är inte något som vanliga människor skulle älska att göra. Så olika företag och personer har paketerat viktiga verktyg (eller programvaror) ovanpå Linuxkärnan och paketerat den för dig. Så när du installerar det kan du börja arbeta med det program du behöver. Detta kallas ett Linuxbaserat operativsystem eller en Linuxdistribution. Ubuntu, Debian, CentOS, Fedora och andra är Linuxdistributioner eller Linuxbaserade operativsystem. De är inte bara Linux.
Nu finns det så många programvaror på Linux att du inte ens kan räkna dem. Att inkludera dem alla i ett enda operativsystemspaket skulle göra operativsystemet onödigt stort och svårare att distribuera. Så operativsystemet behöver en mekanism för att enkelt installera paket efter behov. På så sätt kan man inkludera mycket vanliga verktyg och göra installationen mindre. Det är lättare att utveckla, distribuera och ladda ner för användarna och ett mer modulärt tillvägagångssätt.
Därefter finns de extra paketen på en webbserver eller FTP-server hos Linuxdistributionen, varifrån användarna kan ladda ner och installera dem. Dessa webb- eller FTP-servrar kallas paketförråd.
Du behöver också ett sätt att hantera (installera, ta bort, hämta) dessa paket från paketförrådet. Så en pakethanterare ingår i din favorit Linuxdistribution. Ubuntu är baserat på Debian GNU/Linux-distributionen. Ubuntu använder pakethanteraren APT (Advanced Package Tool) för att hantera paket. APT-pakethanteraren och alla grafiska frontenheter (Ubuntu Software Center, Muon, aptitude etc) använder filen sources.list för att få reda på vilket eller vilka paketförråd som ska användas.
I den här artikeln kommer jag att visa dig hur filen sources.list används i Ubuntu. Låt oss börja.
Pakethanteraren APT och alla dess grafiska frontends hämtar information om paketförråd från filen /etc/apt/sources.list och filer från katalogen /etc/apt/sources.list.d.
I Ubuntu redigerar olika pakethanterare filen /etc/apt/sources.list direkt. Jag rekommenderar inte att du lägger till egna paketförråd där. Om du behöver lägga till ytterligare paketförråd är det bäst att bara lägga till dessa i katalogen /etc/apt/sources.list.d/. Jag kommer att visa dig praktiskt hur det går till senare i den här artikeln.
Understanding sources.list File:
Innehållet i filen /etc/apt/sources.list ser ungefär så här ut.
Här är rader som börjar med hash (#) kommentarer. Kommentarer används i dokumentationssyfte i den här filen. Kommentarer används också för att inaktivera ett visst paketförråd här.
Du kan till exempel lämna en kommentar när du lägger till ett anpassat paketförråd så här.
deb stretch main
Jag kommer att kalla varje rad som används för att lägga till ett paketförråd (rader som börjar med deb) i filen /etc/apt/sources.list och filer i katalogen /etc/apt/sources.list.d/ för en APT-rad. Du kan kalla den vad du vill.
Nu ska vi prata om hur en APT-linje formateras. Detta är ett exempel på en APT-linje som visas i skärmdumpen nedan.
En APT-linje börjar med deb, vilket innebär att det här paketförrådet distribuerar programvarupaket som förkompilerade binärer i deb-filformat.
En APT-linje kan också börja med deb-src, vilket innebär att paketförrådet distribuerar programvarupaket som källkoder, som du måste kompilera i din egen dator för att kunna använda. Som standard är alla paketförråd deb-src inaktiverade i Ubuntu. Personligen föredrar jag att de är inaktiverade eftersom jag inte använder dem. Att installera paket från källor tar lång tid beroende på din dators specifikation.
Därefter har du paketförvarets HTTP-, HTTPS- eller FTP-URL. Det är här som alla paketfiler och paketdatabasfiler förvaras. Pakethanteraren hämtar paketmetadata och annan information för att få reda på vilka paket som finns tillgängliga och var de ska hämtas.
Därefter måste du skriva in det korta kodnamnet för ditt Ubuntu-operativsystem. Den är olika för varje version av Ubuntu. I Ubuntu 18.04 LTS är det till exempel bionic.
Du kan ta reda på vad det är för din distribution med följande kommando:
Sedan placerar du en mellanslagsseparerad lista med olika avsnitt i det paketförrådet. Paketen i ett paketförråd kan logiskt delas in i många grupper som du kan se i det markerade avsnittet i den här artikeln nedan. Ubuntus paketförråd är indelat i sektionerna main, restricted, universe och multiverse. I det här exemplet har jag bara lagt till huvud- och begränsade sektioner av paketförrådet bionic.
Det är i princip allt du behöver veta om filen sources.list på Ubuntu.
Lägga till ett eget paketförråd på Ubuntu:
Säg att du vill lägga till ett eget paketförråd på Ubuntu. Låt oss säga att det finns i ditt lokala nätverk och är tillgängligt på http://192.168.10.5/nodejs och att det är en spegel av NodeJS-paketförrådet.
Först skapar du en ny fil node.list i katalogen /etc/apt/sources.list.d/ med följande kommando: