Det mest sandsynlige træk ved Debian-baserede Linux-distributioner (som Ubuntu, Mepis, Knoppix osv.) Er muligvis deres pakkesystem - APT. APT blev også introduceret i Debian 2.1 i 1999. APT er ikke så meget et specifikt program, da det er en samling af separate, relaterede pakker.

Med APT har Linux fået mulighed for at installere og styre softwarepakker på en meget enklere og mere effektiv måde end tidligere. Før introduktionen skulle de fleste software installeres enten ved manuelt at oprette kildekoden eller ved at bruge individuelle pakker uden automatisk afhængighedshåndtering (såsom RPM-filer). Dette kan betyde timer med "afhængighed helvede" selv for at installere et temmelig trivielt program.

I denne artikel vil vi fremhæve nogle af APTs bedste funktioner og dele nogle af de mindre kendte funktioner i APT og dens fætter dpkg . Tro det eller ej, APT kan endda bruges til at løse Sodoku puslespil!

dpkg

Basen af ​​Debians pakkesystem er dpkg. Det udfører alle de lave niveau funktioner af software installation. Hvis du var så tilbøjelig, kan du bruge dpkg alene til at styre din software. Det kan installere, fjerne og give oplysninger om systemets software samling. Her er nogle af mine yndlingsfunktioner.

Grundlæggende installation af lokal fil

Nogle softwareforfattere opretter Debian-pakker af deres programmer, men giver ikke et depot til APT for at hente fra. I dette tilfælde leverer de bare en downloadbar .deb-fil. Dette ligner meget RPM-pakker eller endda Windows. MSi-filer. Den indeholder alle de filer og konfigurationsoplysninger, der er nødvendige for at installere programmet. For at installere et program fra en .deb fil, behøver du simpelthen

dpkg -i MyNewProgram.deb

Den -i, som du måske gætter, fortæller dpkg at installere dette stykke software.

Angivelse af en pakke indhold

Du kan finde dig selv efter installation af et program, ude af stand til at finde ud af, hvordan du kører programmet. Nogle gange skal du vide, hvor du skal finde config-filerne til dit nye spil. Dpkg giver en nem måde at liste alle de filer, der tilhører en bestemt pakke.

dpkg -L MyNewProgram

Bemærk, at sagen er vigtig. -L og -l er helt forskellige muligheder.

Ofte har en pakke så mange filer, at det kan være svært at sejle gennem listen for at finde den (e) du leder efter. Hvis det er tilfældet, kan vi bruge grep til at filtrere resultaterne. Følgende kommando gør det samme som ovenfor, men viser kun resultater, der har "bin" i stien, som f.eks. / Usr / bin.

dpkg -L MyNewProgram | grep bin

Jeg vil ikke engang begynde at gå ind i den magtfulde magt, der er grep, men i sin enkleste form kan det som ovenfor bruges til hurtigt og nemt at filtrere et programs output.

Finde ejeren af ​​en fil

Lejlighedsvis finder du dig selv i en situation, der er omvendt af afsnittet ovenfor. Du har en fil, men du ved ikke, hvilken pakke den tilhører. Endnu en gang har dpkg du dækket.

dpkg -S mysteryfile.cfg

Dette vil fortælle dig hvilken pakke der er oprettet / ejer den pågældende fil.

Viser hvad du har installeret

Lad os sige, at du er ved at geninstallere dit system, og du vil gerne vide præcis, hvad du allerede har installeret. Du kan åbne en app som Synaptic og indstille et filter for at vise alt markeret som "installeret", eller du kunne hurtigt og nemt gøre det fra kommandolinjen med dpkg.

dpkg-l

eller

dpkg --get-selections

Det vil give dig en stor lang liste over alt, hvad du har installeret. Avancerede brugere kan bruge disse kommandoer til at oprette en tekstfil med alle deres pakker, der er angivet, som kunne leveres til APT senere for at geninstallere alt på én gang!

Konfigurere en pakke igen

Når en .deb-pakke er installeret, går den gennem et par trin. En af dem er konfigurationsfasen, hvor udviklere kan sætte en række handlinger, der finder sted, når alle filerne er blevet installeret på en passende placering. Dette omfatter ting som start / stop-tjenester eller oprettelse af logfiler eller andre sådanne ting. Nogle gange skal du gentage disse trin uden at gennemgå hele geninstallationsprocessen. Til det bruger du:

dpkg-reconfigure (pakkenavn)

Dette vil genoprette alle de efter installationen nødvendige trin til den pakke uden at tvinge dig til at geninstallere. Tro mig, denne kommer til nytte.

Aptitude / Apt-get

Der er noget debat og forvirring vedrørende disse to værktøjer. Mange Linux-brugere har svært ved at fortælle hvornår / hvorfor man bruger den ene over den anden, da de gør stort set det samme.

Kort svar: Brug Aptitude.

Langt svar: Begge kan bruges til at håndtere alle fjernelse af softwareinstallationer, og begge vil gøre et godt stykke arbejde. Debian-holdet anbefaler officielt at bruge Aptitude. Det er ikke, at det er meget bedre end apt-get, men at det er lidt bedre, på mange måder. Du kan bruge en og det vil opfylde dine pakkehåndteringsbehov, men bland ikke og match det samme system. Vælg en og hold fast med den.

Finde den rigtige pakke

Jeg har ofte brug for software til at gøre en bestemt ting, men jeg kender ikke navnet på nogen programmer til at gøre det. For eksempel kan jeg have brug for en FLAC-afspiller, men ved ikke, hvilken spiller der vil arbejde ...

Evne:

aptitude search flac

Klassisk APT:

apt-cache søgning flac

Du får en liste over tilgængelige pakker, der har "flac" i navnet eller beskrivelsen.

Forebyggelse af en pakke fra opdatering

Ved nogle lejligheder har jeg en version af en pakke, som jeg vil beholde, selvom der kan være opgraderinger. Når det kommer til min kerne, foretrækker jeg for eksempel at opdatere manuelt.

Evne:

aptitude hold (pakkenavn)

dpkg:

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

Opgradering

Både Aptitude og klassisk APT giver to metoder til opgradering af dit system: opgradering og dist-upgrade . Dette er en anden ting, der forårsager forvirring. En opgradering er en opgradering, ikke? Nå ikke ligefrem.

En regelmæssig opgradering læser din liste over pakker, tjek online for nyere versioner og installer dem efter behov. Det vil dog ikke udføre nogen opgraderinger, der kræver nye pakker, eller eksisterende fjernet. Dette er hvad dist-upgrade er til. Det vil få hver nyere version, den finder, selvom det indebærer at installere noget nyt (såsom en afhængighed) eller fjerne en eksisterende pakke (hvis den er forældet eller ikke længere er nødvendig).

Evne:

Sikkerhedsopgradering af aptitude
færdighed fuld opgradering

Klassisk APT:

apt-get opgradering
apt-get dist-upgrade

Lær om en pakke

Endelig skal du nogle gange bare vide lidt om en pakke. Hvilken version er det? Hvem opretholder det? Er den allerede installeret? Alle disse ting og mere, du kan finde med:

Evne:

aptitude show (pakkenavn)

APT:

apt-cache showpkg (pakkenavn)

Alle de her nævnte programmer kan langt mere end jeg har vist. Tipene her skal gå langt, hvis du hjælper dig med at bruge dette fantastiske pakkesystem til sit fulde potentiale.

Også for dem med tålmodigheden at læse hele vejen til enden,

apt-get moo