- - Hoe een Debian-pakket op elke Linux-distributie te installeren

Hoe een Debian-pakket op elke Linux-distributie te installeren

Debian-pakketten zijn de meest bekende pakketten inalle Linux. Negen van de tien keer wanneer iemand een programma naar Linux verplaatst, brengen ze het uit als een Debian-pakket, d.w.z. een DEB-bestand. Linux-ondersteuning is leuk, zelfs al is het maar met één type Linux-distributie. Dat gezegd hebbende, niet elke Linux-distributie is ontworpen om deze pakketten uit te voeren. In dit artikel gaan we over een feilloze manier om een ​​Debian-pakket te installeren en het programma op uw Linux-distributie te laten werken.

In deze handleiding vindt geen "conversie" plaats. In plaats daarvan extraheert u de gegevens en verplaatst u deze. Download een Debian-pakket om te beginnen. In dit voorbeeld werken we met het Google Chrome-pakket. Hoewel deze handleiding zich richt op het Google Chrome Debian-pakket, is het een proof of concept. Gebruik de hier getoonde methode en pas deze toe om een ​​Debian-pakket te installeren.

Gegevens extraheren

De meeste Linux-gebruikers realiseren zich niet dat DEB-pakkettenzijn gewoon chique archiefbestanden die kunnen worden uitgepakt. Download het Debian-pakket dat u wilt installeren en pak het uit. In dit geval hebben we het Chrome-pakket, gedownload en uitgepakt op ons systeem. Open een terminalvenster en gebruik de mkdir opdracht om een ​​nieuwe map te maken. Deze map bevat alle pakketgegevens die we nodig hebben.

mkdir -p ~/deb-extracted

Gebruik makend van mv, plaats het Chrome-bestand in de nieuwe map.

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

CD in de nieuwe map en gebruik de ar tool om het Chrome-pakket te inspecteren.

cd ~/deb-extracted
ar tv google-chrome-stable_current_amd64.deb

Ar inspecteert het Chrome DEB-bestand en laat ons weten dat er drie gecomprimeerde bestanden in zitten. Deze bestanden zijn de "debian-binary", "control.tar.gz" en "data.tar.xz". Alle gegevens die we nodig hebben, staan ​​in de data.tar.xz archief, maar "control.tar.gz" is ook belangrijk.

De Ar-tool inspecteert niet alleen archieven. Het kan ze ook extraheren. Gebruik ar xv om de drie items uit te halen google-chrome-stable_current_amd64.deb.

ar xv google-chrome-stable_current_amd64.deb

Alle drie de items zouden nu binnen moeten zijn ~ / Deb geëxtraheerd. Gebruik de rm commando om “debian-binary” te verwijderen. Het is niet nodig, omdat we Debian Linux niet gebruiken.

Vanaf hier moeten we de bestandsgegevens uitpakken data.tar.xz. Het bevat alles wat nodig is om Chrome als een programma op Linux te draaien. Pak het uit in de map met teer.

tar -xvf data.tar.xz

Bij het extraheren van het gegevensarchief worden 3 mappen uitgevoerd. De mappen zijn "opt", "usr" en "etc".

Gebruik makend van rm -rf, verwijder de enzovoort map. Items in deze map zijn niet nodig, omdat het een Debian-updatetaak is om te controleren op updates.

Opmerking: geen / voor het onderstaande commando. U kunt per ongeluk verwijderen /enzovoort/en niet de enzovoort map uitgepakt in ~ / Deb geëxtraheerd.

rm -rf etc

Verplaats vervolgens de bestanden naar binnen usr en opteren bestanden waar ze thuishoren op de pc. Als u bijvoorbeeld Google Chrome wilt installeren op een niet-Debian Linux-distributie, moet u de bestanden handmatig verplaatsen naar waar ze horen:

cd opt
sudo -s
mv google /opt/
ln -snf /opt/google/google-chrome /usr/bin/
cd .. share
mv -f * /usr/share/

Het bovenstaande voorbeeld laat precies zien wat te doen met uitgepakte bestanden van data.tar.xz. Het is duidelijk dat andere Debian-pakketten inhoud in de uitgepakte map kunnen hebben die afwijkt van degene die u in deze zelfstudie ziet. Het idee is om naar de mapnamen in een te kijken data.tar.xz archief en let op de namen. De mappen binnen hebben dezelfde namen als mappen op het bestandssysteem van uw Linux-pc en de items binnen gaan naar die locaties.

Pakketinstructies zoeken

Soms decompileren van een Debian-pakket en uitpakken van de data.tar.xz archief is niet genoeg en u blijft nog steeds in de war. Gelukkig wordt elk Debian-pakketbestand geleverd met een reeks instructies. Deze instructies bevinden zich in de control.tar.gz.

Pak de control.tar.gz archief naar de ~ / Deb geëxtraheerd map met de teer commando.

tar -xvzf control.tar.gz

De control.tar.gz archive heeft veel scripts die het Debian-pakket vertellen wat het moet doen. Degene waarin we geïnteresseerd zijn, heeft het label 'postinst'. Postinst is de afkorting van 'post installation', een bash-script dat wordt uitgevoerd en alles op een willekeurige plaats plaatst.

Gebruik in de terminal de kat commando om het tekstbestand te bekijken. Combineer het met "meer" om het regel voor regel te bekijken. Inspecteer het "postinst" -bestand en let op wat het script doet, vooral waar het bestanden plaatst. Dit zal u helpen erachter te komen waar de items in data.tar.xz horen en wat ze doen.

cat postinst | more

afhankelijkheden

Een Debian-pakket decompileren en de gegevens verplaatsenbestanden op de juiste plaatsen is vaak niet genoeg. Soms moet u de juiste afhankelijkheidsbestanden installeren of werkt niets. Gelukkig bevat elk Debian-pakket een klein bestand control.tar.gz, met een gedetailleerde lijst van belangrijke bibliotheekbestanden die de gebruiker moet installeren om alles goed te laten werken. Gebruik om dit bestand te bekijken kat.

cat control | more

Om bijvoorbeeld Google Chrome te gebruiken, vraagt ​​het controlebestand om ca-certificaten, fonts-liberation, libappindicator1, libasound2, libatk-bridge2.0-0 en andere items.

Lees dit bestand zorgvuldig door en gebruik het om de individuele bibliotheken op uw Linux-pc te installeren. Wanneer de juiste programma's op uw pc staan, zou het uitgepakte programma moeten werken zoals normaal.

Als u een op Redhat gebaseerd Linux-systeem gebruikt, volgt u onze gids om er een Debian-pakket op te installeren.

Comments