Prebalenie DEB balíka pre Podpisuj
"Podpisuj" je šikovný program na vloženie zaručeného elektronického podpisu do dokumentu. Inštalácia pod Debian(-like) distribúciami končí neúspešne, pretože…
Nie je deb ako deb
Debian-í balíčkovaní systém je rokmi preverená klasika, ktorá proste funguje. Preto ma prekvapilo (ale zase zo stoličky som nespadol), že inštalácia .deb balíčku skončila s chybovou hláškou. Prečo a ako?
Ešte k Podpisuj
Ako sa píše na webe https://www.podpisuj.sk/home: "Služba Podpisuj patrí medzi tzv. dôveryhodné služby a skladá sa z lokálnej multiplatformovej aplikácie a evidenčného servera. Aplikácia obsahuje funkcionalitu pre elektronické podpisovanie (aj hromadné), overovanie podpisov (aj kvalifikované), zaručenú konverziu, generovanie autorizačných doložiek listinných rovnopisov a je určená všetkým, ktorí prichádzajú do styku s elektronicky podpísanými dokumentami."
Ja osobne ju používam, aj to len občasne, na podpísanie pdf dokumentov, ako napr. faktúry. Je to šikovnejšie riešenie ako online služba https://qesportal.sk/Portal/sk. A spolupracuje s čipovou kartou Gemalto, ktorú som dostal na polícii (lepšie, ako pelendrekom po chrbte - ak ste teda chodili na punkové koncerty, viete…).
K stiahnutiu majú (o.i.) i .deb balíček, ktorý by sa mal dať ľahko nainštalovať, ale…
Bežná inštalácia s chybou a jej oprava
$ sudo dpkg -i podpisuj-5.7.4.deb dpkg-deb: chyba: archive 'podpisuj-5.7.4.deb' uses unknown compression for member 'control.tar.zst', giving up dpkg: error processing archive podpisuj-5.7.4.deb (--install): dpkg-deb --control subprocess returned error exit status 2 Vyskytli sa chyby počas spracovania: podpisuj-5.7.4.deb
Ehm, takže dpkg alebo hoci gdebi proste nepoznajú zst kompresnú metódu.
Možno ich alternatíva v ubuntu áno, ale v debiane nepomôže ani inštalácia zstd, hoci ju budeme potrebovať.
Prebalenie
Trik v pár krokoch spočíva v prebalení balíčka, ktorý namiest zst použije starú dobrú xz kompresnú metódu.
(0)
Naištalujeme si zst a zstd:sudo apt install zstd*
(1)
Použijeme program GNU ar z balíku binutils, ktorý má každý nainštalovaný.
Tento vytvára, upravuje a extrahuje archívy.Takže:ar x podpisuj-5.7.4.deb
Vyextrahuje tieto súbory:
-rw-r--r-- 1 richard richard 1.7k 2023-02-14 10:02 control.tar.zst -rw-r--r-- 1 richard richard 122M 2023-02-14 10:02 data.tar.zst -rw-r--r-- 1 richard richard 4 2023-02-14 10:02 debian-binary
(2)
Prekonvertujeme zst formát do xz:zstd -d < control.tar.zst | xz > control.tar.xz
zstd -d < data.tar.zst | xz > data.tar.xz
(3)
A nakoniec pomocou GNU ar vytvoríme nový deb balíček:ar -m -c -a sdsd podpisuj-5.7.4_prebaleny.deb debian-binary control.tar.xz data.tar.xz
(4)
No a koniec. Následne tento balíček nainštalujeme klasicky pomocou dpkg alebo gdebi.
$ sudo gdebi podpisuj-5.7.4_prebaleny.deb
[sudo] heslo pre používateľa richard:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Reading state information... Done
Podpisuj - super podpisovatko zo Slovenska
Chcete nainštalovať softvérový balík? [a/N]:
Chybičkou krásy Podpisuj je chýbajúca informácia o licencii programu, v "O programe" sa dozvieme len:
Application
Signer v5.7.4
https://www.podpisuj.skOperating system
Linux (5.10.0-19-amd64)
64-bitJava
Oracle Corporation 17.0.2
64-bitUsed open source & 3rd-party components:
- DSS, Digital Signature Service (GNU Lesser General Public License v2.1),
- SLF4J, Simple Logging Facade for Java (MIT License),
- Apache Tika, a content analysis toolkit (Apache License v2.0),
- Apache FOP (Apache License v2.0),
- Apache Commons (Apache License v2.0),
- Java ImageIO plugin for JBIG2 (Apache License v2.0),
- LibreOffice (Mozilla Public License v2.0),
- veraPDF parser and validator (GPL-3.0 License).
Pre pridávanie komentárov sa musíte prihlásiť.
Je zarážajúce, že debian nepodporuje kompresiu použitú v deb balíčku. Navyše som si všimol, že ten program Podpisuj je šírený iba v deb a rpm, ako keby neexistovali distribúcie na báze arch linuxu.
Tuším že aj pri inštalácii softu z AUR som postrehol, že sa niekedy rozbaľujú práve deb balíky.
Tak ono to nejakou okľukou ide nainštalovať aj z deb balíčkov pomocou debtap.
tak som si, pri prvej káve, stiahol .deb balíček v.5.7.4, a cez gdebi bol za pár sekúnd nainštalovaný, bez chybových hlášok
áno, .deb obsahuje tar.zst, ale chyba bude/bola niekde inde
pri inštalácii som si neurobil snímku, tak aspoň tú pri odinštalovaní :)
Ehm, a bola to debian-like alebo ubuntu-like distribúcia?
A aká je verzia apt?
áááha, tak tu je zrejme pes zakopaný, tu je/bola tá chybička - u mňa :)
linuxmint 20.3
apt 2.0.9