Kanske är det mest kända för Debian-baserade Linux-distributioner (som Ubuntu, Mepis, Knoppix, etc) deras paketsystem - APT. APT introducerades också i Debian 2.1 1999. APT är inte så mycket ett specifikt program eftersom det är en samling av separata, relaterade paket.

Med APT fick Linux möjligheten att installera och hantera mjukvarupaket på ett mycket enklare och effektivare sätt än tidigare. Innan den infördes, måste de flesta programvaror installeras antingen genom att manuellt sammanställa källkoden eller använda enskilda paket utan automatisk hantering av beroende (till exempel RPM-filer). Detta kan innebära timmar av "beroende helvete" även för att installera ett ganska trivialt program.

I den här artikeln kommer vi att lyfta fram några av APT: s bästa funktioner, och dela några av de mindre kända funktionerna i APT och dess kusin dpkg . Tro det eller inte, APT kan till och med användas för att lösa Sodoku pussel!

dpkg

Basen av Debians paketsystem är dpkg. Den utför alla lågnivåfunktioner för programinstallation. Om du var så benägen kunde du bara använda dpkg för att hantera din programvara. Det kan installera, ta bort och ge information om systemets programvaruinsamling. Här är några av mina favoritfunktioner.

Grundläggande installation av lokal fil

Vissa programförfattare skapar Debianpaket av sina program, men ger inte ett förråd för APT att hämta från. I det här fallet tillhandahåller de bara en nedladdningsbar .deb-fil. Detta liknar mycket RPM-paket, eller till och med Windows. MSi-filer. Den innehåller alla filer och konfigurationsinformation som behövs för att installera programmet. För att installera ett program från en .deb-fil behöver du bara

dpkg -i MyNewProgram.deb

Den -i, som du kanske gissar, berättar för dpkg att installera den här mjukvaran.

Angivande av paketets innehåll

Det kan hända att du själv, efter att ha installerat ett program, inte kan räkna ut hur du kör programmet. Ibland behöver du veta var du ska hitta config-filerna för ditt nya spel. Dpkg ger ett enkelt sätt att lista alla filer som tillhör ett visst paket.

dpkg -L MyNewProgram

Observera att det här är fallet. -L och -l är helt olika alternativ.

Ofta har ett paket så många filer det kan vara svårt att sifta genom listan för att hitta den (de) du letar efter. Om så är fallet kan vi använda grep för att filtrera resultaten. Följande kommando gör detsamma som ovan, men visar bara resultat som har "bin" i sökvägen, till exempel / usr / bin.

dpkg -L MyNewProgram | grep bin

Jag kommer inte ens att börja gå in i den fantastiska kraften som är grep, men i sin enklaste form kan den, som ovan, användas för att snabbt och enkelt filtrera ett programs utgång.

Hitta ägare till en fil

Ibland befinner du dig i en situation som är omvänd i avsnittet ovan. Du har en fil, men du vet inte vilket paket det tillhör. Återigen har du täckt dpkg.

dpkg -S mysteryfile.cfg

Detta kommer att berätta vilket paket som skapas / äger den filen.

Listar vad du har installerat

Låt oss säga att du ska installera om systemet, och du vill veta exakt vad du redan har installerat. Du kan öppna en app som Synaptic och ställa in ett filter för att visa allt markerat som "installerat", eller du kan snabbt och enkelt göra det från kommandoraden med dpkg.

dpkg-l

eller

dpkg --get-selections

Det ger dig en stor lång lista över allt du har installerat. Avancerade användare kan använda dessa kommandon för att skapa en textfil med alla deras paket, som kan matas in till APT senare för att installera om allt på en gång!

Omkonfigurera ett paket

När ett .deb-paket är installerat går det igenom några steg. En av dem är konfigurationssteget, där utvecklare kan lägga en rad åtgärder som äger rum när alla filer har installerats på en korrekt plats. Detta inkluderar saker som start / stoppa tjänster, eller skapa loggar eller andra sådana saker. Ibland måste du repetera de här stegen, utan att gå igenom hela installationsprocessen. För det använder du:

dpkg-reconfigure (packagename)

Det här gör att alla efterinstallationssteg behövs för det paketet utan att tvinga dig att installera om. Tro mig, den här är till nytta.

Aptitude / apt-get

Det finns en del debatt och förvirring angående dessa två verktyg. Många Linux-användare har svårt att berätta när / varför att använda en över varandra, eftersom de gör ungefär samma sak.

Kort svar: använd Aptitude.

Långt svar: Båda kan användas för att hantera alla borttagningar av programinstallationer, och båda kommer att göra ett bra jobb. Debianlaget rekommenderar officiellt att använda Aptitude. Det är inte så att det är mycket bättre än apt-get, men det är lite bättre, på många sätt. Du kan använda antingen en och det kommer att uppfylla dina pakethanteringsbehov, men blanda inte och matcha på samma system. Välj en och håll fast vid den.

Hitta rätt paket

Jag tycker ofta att jag behöver programvara för att göra en viss sak, men jag vet inte namnet på några program för att göra det. Till exempel kan jag behöva en FLAC-spelare, men vet inte offhand vilken spelare kommer att fungera ...

Begåvning:

aptitude search flac

Klassisk APT:

apt-cache search flac

Du får en lista över tillgängliga paket som har "flac" i namn eller beskrivning.

Förhindra paket från uppdatering

Vid vissa tillfällen har jag en version av ett paket som jag vill behålla även om det kan finnas uppgraderingar. När det gäller min kärna föredrar jag till exempel att uppdatera manuellt.

Begåvning:

aptitude hold (packagename)

dpkg:

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

uppgradering

Både Aptitude och klassisk APT erbjuder två metoder för att uppgradera ditt system: uppgradering och dist-uppgradering . Detta är en annan sak som orsakar viss förvirring. En uppgradering är en uppgradering, eller hur? Tja, inte exakt.

En vanlig uppgradering kommer att läsa din lista över paket, kontrollera online för nyare versioner och installera dem efter behov. Det kommer emellertid inte att utföra några uppgraderingar som skulle kräva nya paket installerade, eller befintliga avlägsnas. Det här är vad dist-uppgraderingen är för. Det kommer att få varje nyare version som den finner, även om det innebär att installera något nytt (till exempel ett beroende) eller ta bort ett befintligt paket (om det är föråldrat eller inte längre behövs).

Begåvning:

aptitude-uppgradering
Fullständig uppgradering av aptitude

Klassisk APT:

apt-get uppgradering
apt-get dist-uppgradering

Lär dig om ett paket

Slutligen, vissa gånger behöver du bara veta lite om ett paket. Vilken version är det? Vem upprätthåller det? Är det redan installerat? Alla dessa saker och mer kan du hitta med:

Begåvning:

aptitude show (packagename)

BENÄGEN:

apt-cache showpkg (paketnamn)

Alla program som nämns här kan mycket mer än jag har visat. Tipsen här bör gå långt för att hjälpa dig att använda detta fantastiska paketsystem till sin fulla potential.

Också för dem med tålamod att läsa hela vägen till slutet,

apt-get moo