Portál AbcLinuxu, 14. května 2025 01:57
mkdir tmp1 tmp2
cp skype*.deb tmp2/
dpkg-deb -e skype*.deb tmp1/
cd tmp1/
a upravit řádek "Depend" v souboru "control" (tj. dát tam něco jako "libqt3-mt (>= 3.3.4)" místo "libqt3c102-mt...").
potom
tar cvzf ../tmp2/control.tar.gz ./*
cd ../tmp2/
ar r skype*.deb control.tar.gz
dpkg -i skype*.deb
dpkg-deb -e skype*.deb tmp1/
"vybalí" z balíčku soubory s informacemi pro dpkg do adresáře tmp1. V souboru "control" jsou uvedeny informace o závislostech, které je potřeba upravit.
Příkaz tar cvzf ../tmp2/control.tar.gz ./*
je dobře (je možné "./" vynechat a napsat samotnou "*"), vytvoří tar.gz archiv ze všech souborů v aktuálním adresáři (tj. v adresáři tmp1). V tom archivu control.tar.gz totiž nemá být žádná adresářová struktura, jen samotné soubory.
Debianí balíček je v podstatě normální ar archiv, který obsahuje soubory control.tar.gz a data.tar.gz (a soubor debian-binary). Příkazem ar x balicek.deb
je možné balíček rozbalit a přesvědčit se.
Příkaz ar r skype*.deb control.tar.gz
tedy jednoduše nahradí současný soubor control.tar.gz v debianím balíčku tím souborem control.tar.gz, který jste si sám vytvořil a který obsahuje soubor control s upravenými závislostmi. Takhle upravený balíček by pak měl jít bez problému nainstalovat (není to jen teorie, sám jsem si to radši vyzkoušel :)
dpkg-deb -x balicek.deb x dpkg-deb -e balicek.deb x/DEBIAN editovat x/DEBIAN/control dpkg-deb -b x balicek.debhotovo
fakeroot
před tar cvzf ...
a možná i před ar r ...
(není nutné).
U druhé metody přidat fakeroot před dpkg-deb -b x balicek.deb
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.