Sådan installeres en Debian-pakke på enhver Linux-distribution

Debian-pakker er de mest berømte pakker i hele Linux. 9 gange ud af 10, når nogen flytter et program over til Linux, udsender de som en Debian-pakke, dvs. en DEB-fil. Det er rart at have Linux-understøttelse, selvom det kun er med én type Linux-distribution. Når det er sagt, er ikke alle Linux-distributioner designet til at køre disse pakker. I denne artikel vil vi gennemgå en idiotsikker måde at installere en Debian-pakke på og få programmet til at fungere på din Linux-distribution.

Ingen “konvertering” vil finde sted i denne vejledning. I stedet skal du bare udtrække dataene og flytte dem rundt. For at komme i gang skal du downloade en Debian-pakke. I dette eksempel, vi arbejder med Google Chrome-pakken. Selvom denne vejledning fokuserer på Google Chrome Debian-pakken, er den et proof of concept. Tag metoden vist her og anvend den til at installere en Debian-pakke.

Udtræk af data

De fleste Linux-brugere er ikke klar over, at DEB-pakker kun er smarte arkivfiler, der kan udpakkes. Download den Debian-pakke, du vil installere, og udpak den. I dette tilfælde har vi Chrome-pakken, downloadet og udtrukket på vores system. Åbn et terminalvindue og brug kommandoen mkdir til at lave en ny mappe. Denne mappe indeholder alle de pakkedata, vi har brug for.

mkdir -p ~/deb-extracted

Brug mv, læg Chrome-filen i den nye mappe.

mv google-chrome-stable_current_amd64.deb ~/deb-extracted

CD ind i den nye mappe, og brug ar-værktøjet til at inspicere Chrome-pakken.

  Sådan finder du nemt filer med TagSpaces på Linux

cd ~/deb-extracted

ar tv google-chrome-stable_current_amd64.deb

Ar inspicerer Chrome DEB-filen og fortæller os, at der er tre komprimerede filer inde. Disse filer er “debian-binary”, “control.tar.gz” og “data.tar.xz”. Alle de data, vi har brug for, er i data.tar.xz-arkivet, men “control.tar.gz” er også vigtigt.

Ar-værktøjet inspicerer ikke kun arkiver. Det kan også udtrække dem. Brug ar xv til at udtrække de tre elementer fra google-chrome-stable_current_amd64.deb.

ar xv google-chrome-stable_current_amd64.deb

Alle tre elementer skal nu være inde i ~/deb-ekstraheret. Brug kommandoen rm til at fjerne “debian-binary”. Det er ikke nødvendigt, da vi ikke bruger Debian Linux.

Herfra bliver vi nødt til at udtrække fildataene fra data.tar.xz. Den indeholder alt det nødvendige for at køre Chrome som et program på Linux. Udpak det til mappen med tar.

tar -xvf data.tar.xz

Udpakning af dataarkivet vil udlæse 3 mapper. Mapperne er “opt”, “usr” og “etc”.

Brug rm -rf til at slette mappen etc. Elementer i denne mappe er ikke nødvendige, da det er et Debian-opdateringsjob at søge efter opdateringer.

Bemærk: Sæt ikke et / foran kommandoen nedenfor. Du kan ved et uheld slette /etc/, og ikke mappen etc udtrukket i ~/deb-extracted.

rm -rf etc

Flyt derefter filerne inde i usr og vælg filerne til det sted, hvor de hører hjemme på pc’en. Hvis du f.eks. vil installere Google Chrome på en ikke-Debian Linux-distribution, skal du manuelt flytte filerne, hvor de hører hjemme:

cd opt

sudo -s

mv google /opt/

ln -snf /opt/google/google-chrome /usr/bin/

cd .. share

mv -f * /usr/share/

Ovenstående eksempel viser præcis, hvad man skal gøre med udpakkede filer fra data.tar.xz. Det er klart, at andre Debian-pakker kan have indhold i den udpakkede mappe, som er forskelligt fra dem, du ser i denne vejledning. Ideen er at se på mappenavnene inde i et data.tar.xz-arkiv og være opmærksom på navnene. Mapperne indeni har de samme navne som mapper på din Linux-pc’s filsystem, og emnerne indeni går til disse steder.

  Sådan overføres en Linux-installation til en anden harddisk

Find pakkevejledning

Nogle gange er det ikke nok at dekompilere en Debian-pakke og udpakke data.tar.xz-arkivet, og du er stadig forvirret. Heldigvis kommer hver Debian-pakkefil med et sæt instruktioner. Disse instruktioner er inde i control.tar.gz.

Udpak control.tar.gz-arkivet til den ~/deb-udpakkede mappe med tar-kommandoen.

tar -xvzf control.tar.gz

Control.tar.gz-arkivet har en masse scripts, der fortæller Debian-pakken, hvad den skal gøre. Den vi er interesseret i er mærket “postinst”. Postinst er en forkortelse for “post installation”, et bash-script, der kører og placerer alt, hvor det skal hen.

Brug kat-kommandoen i terminalen til at se tekstfilen. Kombiner det med “mere” for at se det linje for linje. Undersøg “postinst”-filen og vær opmærksom på, hvad scriptet gør, især hvor det placerer filer. Dette vil hjælpe dig med at finde ud af, hvor elementerne inde i data.tar.xz hører hjemme, og hvad de gør.

cat postinst | more

Afhængigheder

At dekompilere en Debian-pakke og flytte datafilerne til de rigtige steder er ofte ikke nok. Nogle gange bliver du nødt til at installere de rigtige afhængighedsfiler, ellers virker intet. Heldigvis har hver Debian-pakke en lille fil i control.tar.gz, der beskriver en detaljeret liste over vigtige biblioteksfiler, som brugeren skal installere, for at alt fungerer. For at se denne fil, brug kat.

cat control | more

For at bruge Google Chrome beder kontrolfilen for eksempel om ca-certifikater, fonts-liberation, libappindicator1, libasound2, libatk-bridge2.0-0 og andre elementer.

  Sådan konverteres PNG til JPG på Linux

Læs denne fil grundigt igennem, og brug den til at installere de enkelte biblioteker på din Linux-pc. Når de korrekte programmer er på din pc, skulle det udpakkede program fungere som normalt.

Hvis du kører et Redhat-baseret Linux-system, skal du følge vores guide til at installere en Debian-pakke på det.