Skip to content

ID-kaardi tarkvara qdigidoc4 kokkujooksmine Debianis on nüüd korras

Hiljuti kirjutasin, et ID-kaardi tarkvara qdigidoc4 jookseb kokku Debian Bullseyes. Tegemist oli veaga mis on dokumenteeritud siin Segfault with OpenSSL 1.1.1n and newer #1090 ning on parandatud Open EID versioonis 22.6.0.1926 siin Upgrade openssl 1.1.1m and fix crash with new openssl version #453.

Seega tehke oma Debianis uuendused nagu tavaliselt teete ning Digidoc'i kokkujooksmist enam ei teki. Kui panite ss'i pakkide uuendamise ootele ja tegite downgrade'i, siis ärge unustage see nüüd maha võtta:
aptitude unhold libssl1.1 openssl
apt update && apt upgrade


Kui teil ssl'i versioon on juba 1.1.1n-0+deb11u3, siis seda muret pole.

ID-kaardi tarkvara qdigidoc4 jookseb kokku Debian Bullseyes

ID-kaardi tarkvara qdigidoc4 jookseb kevadel 2022 kokku Debian Bullseye's. Olen testinud vaid amd64 puhul ja teisi arhitektuure antud osas kommenteerida ei oska. Visuaalselt näeb see viga välja nii:
  • uue allkirjastatud faili saad näiteks failihalduri kontekstimenüüst luua ja seejärel qdigidoc4 lõpetab töö, kuid allkirjadega fail üldjuhul on olemas
  • allkirjafaili avamisel kuvab qdigidoc4 teadet "Laadin TSL-nimekirja" ja siis jookseb kokku
  • niisama ilma failita käivitamisel qdigidoc4 toimib
  • mõlemal kokkujooksmise juhul on syslog'is "qdigidoc4[$123456]: segfault at 1 ip $midagi sp $sedagi error 4 in libc-2.31.so[$veelmidagi]"
  • muus osas open-eid tarkvara toimib (näiteks autentimine ja allkirjastamine brauseris)
  • juhtub nii open-eid versiooni 21.6 kui 22.1 puhul

Põhjuseks pole aga libc ise, vaid viimane openssl'i versioon. Hetkel on ainus toimiv lahendus ssl teegi downgrade versioonini 1.1.1k-1+deb11u2. Kui sa turvakaalutlustel seda teha ei taha, siis Debianis hetkel head lahendust pole.

Downgrade'i jaoks leiad kaks vajalikud kaks pakki siit:

Ja paigaldad nad käsurealt näiteks nii (olles juurkasutaja õigustes):
  • dpkg -i openssl_1.1.1k-1+deb11u2_amd64.deb
  • dpkg -i libssl1.1_1.1.1k-1+deb11u2_amd64.deb
  • aptitude hold libssl1.1 openssl (et järgmise uuendusega nad ei läheks vahetamisele)

Bullseye ehk Debian 11 on ilmunud

Natuke enam kui kaheaastase arendustöö järel ilmus eile Debiani uus stabiilne versioon koodnimega bullseye ning järjenumbriga 11. Väga kardinaalseid süsteemiuuendusi pole, aga väiksematena võib mainida systemd journali kasutamist põhilise logijana, on lisandunud exFAT'i kernelipõhine implementatsioon ja draiverivaba printeri ja skänneri kasutamise võimalus.

Bullseye's leiduvad kõik olulisemad graafilised liidesed:

Gnome 3.38,
KDE Plasma 5.20,
LXDE 11,
LXQt 0.16,
MATE 1.24,
Xfce 4.16,
Budgie 10.5.2,
Cinnamon 4.8.6.

Kokku on Bullseye's 59551 erinevat tarkvarapakki ning neist olulisemad on :

Apache 2.4.48
BIND DNS Server 9.16
Calligra 3.2
Cryptsetup 2.3
Emacs 27.1
GIMP 2.10.22
GNU Compiler Collection 10.2
GnuPG 2.2.20
Inkscape 1.0.2
LibreOffice 7.0.4
Linux kernel 5.10 series
MariaDB 10.5
OpenSSH 8.4p1
Perl 5.32
PHP 7.4
PostgreSQL 13
Python 3, 3.9.1
Rustc 1.48
Samba 4.13
Vim 8.2

Järgmise Debiani versiooni (12) nimi on teada ja selleks on bookworm ning ilmub ta jälle umbes kahe aasta pärast.

Eesti ID-kaardi tarkvara ehk open-eid v. 21.02 kasutamine Debian Bullseyes

Debian 11 ehk Bullseye külmutamisprotsess on piisavalt kaugel ning suuri muutusi enam ei tule ning ilmselt saavad ID-kaardi huvilised kasutada järgmist loogikat tarkvara paigaldamiseks.

Debianis teatavasti on võimalik kasutada Ubuntu jaoks mõeldud ID-kaardi tarkvara. Kuna nende kahe distro arendusprotsess on natuke nihkes, siis alati üks-ühele paigaldamine ei õnnestu. Nii on länud ka seekord - vajalik libxalan-c111 ei ole Bullseye's saadaval. Üldjoontes on kaks võimalust:

1) sul on kasutusel endine Buster, millele oled teinud distro-upgrade ning orphaner'iga pole seda üle käinud, siis on ta sul olemas, aga igaks juhuks vaata üle:

dpkg -l libxalan-c111 | grep libxalan-c111
ii libxalan-c111:amd64 1.11-9 amd64 XSLT processor library for C++

2) sul on puhas Bullseye või testing'u paigaldus, siis pead ta lisama näiteks Buster'ist

cd /tmp
wget http://ftp.ee.debian.org/debian/pool/main/x/xalan/libxalan-c111_1.11-9_amd64.deb
dpkg -i libxalan-c111_1.11-9_amd64.deb

Aga open-eid paigaldamine on olemuselt sama kui eelmisel korral:

wget -O /tmp/ria-public-2016.key https://installer.id.ee/media/install-scripts/C6C83D68.pub
apt-key add /tmp/ria-public-2016.key
echo '# open-eid ehk id-kaardi tarkvara' >> /etc/apt/sources.list
echo 'deb https://installer.id.ee/media/ubuntu/ focal main' >> /etc/apt/sources.list
apt update
apt install open-eid

Kuna apt-key kasutamine senines vormis lõppeb alates Debian 12'st, siis tekib võtme lisamisel hoiatus, kuid lisamine ise toimib.

Busterist üle kolides lihtsalt muuda repositoorium bionic'ust focal'iks ning tee:

apt update && apt upgrade

Varasemad artiklid id-kaardi tarkvara paigaldusest:

Upgrading Riot Web to Riot Desktop in Debian, Ubuntu, Mint and other deb-based distos

New Riot.im app was released yesterday and it's name has changed.

When running standard upgrade from command-line you see:
$ apt update && apt upgrade
The following packages have been kept back:
riot-web

When you see what is upgradable you'll notice:
$ apt list --upgradable
riot-web/stable,stable 1.6.0 amd64 [upgradable from: 1.5.15]

The solution to get upgrade done is simple:
$ apt install riot-desktop
The following packages will be REMOVED:
riot-web
The following NEW packages will be installed:
libsqlcipher0 riot-desktop

Latest release of Riot is feature-heavy and among others makes verification a lot more simple and end-to-end encryption enabled by default for all new non-public conversations.

Riot is a good client for Matrix - an open network for secure, decentralized communication.

Eesti ID-kaardi tarkvara ehk open-eid v. 20.01 kasutamine Debianis

Kui just eelmisel aastal middleware kaasamisest tekkinud ajutine kaos välja arvata, siis hetkel on Debian 10 (aka buster) id-kaardi tarkvara paigaldus uus paigaldus lihtne. Pole vaja ei kombineerida ega midagi.

wget -O /tmp/ria-public-2016.key https://installer.id.ee/media/install-scripts/C6C83D68.pub
apt-key add /tmp/ria-public-2016.key
echo '# open-eid ehk id-kaardi tarkvara' >> /etc/apt/sources.list
echo 'deb https://installer.id.ee/media/ubuntu/ bionic main' >> /etc/apt/sources.list
apt update
apt install open-eid

Stretchist üle kolides lihtsalt muuda repositoorium xenial'ist bionic'uks ning tee

apt update && apt upgrade

Varasemad artiklid id-kaardi tarkvara paigaldusest:

Systemd - when systemctl unmask command fails

When you are using a typical modern Linux, where systemd is the init system, then you should be able to enable/disable daemons with:

systemctl enable somename.service
systemctl disable somename.service
and mask/unmask them with:
systemctl mask somename.service
systemctl unmask somename.service
In real life you may end up with the simple fact that unmask command does not do anything (my last case was with SANE daemon - used for running scanners in Linux):

systemctl unmask saned
systemctl status saned
● saned.service
Loaded: masked (/dev/null; bad)
Active: inactive (dead)

Well, in this case, check how things are:

file /lib/systemd/system/saned.service
/lib/systemd/system/saned.service: symbolic link to /dev/null
or

cd /lib/systemd/system/
ls -l sane*
lrwxrwxrwx 1 root root 9 mai 21 11:04 saned.service -> /dev/null
-rw-r--r-- 1 root root 309 mai 21 11:04 saned@.service
-rw-r--r-- 1 root root 132 mai 21 11:04 saned.socket
Which means that SANE unit file saned.service is symlinked to /dev/null and won't do anything, but there is a renamed unitfile saned@.service.

So the fix is simple - delete the symlinked one, rename the right one, enable and start the daemon:

cd /lib/systemd/system/
rm saned.service
mv saned@.service saned.service
systemctl enable saned.service
systemctl start saned.service

Eesti ID-kaardi tarkvara ehk open-eid v. 17.10 kasutamine Debianis

Nädal tagasi ilmus uus ID-kaardi tarkvara versiooninumbriga 17.10. Kui oled Debian stretch'i kasutaja, siis kõik mis on kirjas artiklis Eesti ID kaardi tarkvara ehk open-eid v. 3.12 kasutamine Debianis kehtib jätkuvalt, kuid sul võib vaja olla kahte täiendust:

Kui sul tekib uuendamise käigus veateateid, mis viitavad nimetatud teekidele, siis lisa need kas eraldi "dpkg -i xxx" stiilis, või pannes vastavad repod oma arvuti sources.list faili ning open-eid saab uuendatud versioonini 17.10. Tegemist on siis selle tarkvaraversiooniga, millega saad teha ka ID-kaardi sertifikaatide uuendused.

Parandame Debian stretch'i asjatu jorutamise - A start job is running for Unattended Upgrades

Mingil hetkel avaldus Debian stretch'i (ehk praguse hetke seisuga veel viimaseid aegu Debian testing) olukord, kus arvuti sulgemisel või restardil tekkis 15-minutine viivitus sellist tüüpi teatega "A start job is running for Unattended Upgrades (x / 15min)". Loomulikult on selline ootamine üldjuhul mittevajalik ning lahendus on alljärgnev.

Ava tekstitoimetiga fail

/lib/systemd/system/unattended-upgrades.service

ning muuda see rida meelepäraseks

TimeoutStartSec=900

näiteks

TimeoutStartSec=10

Eesti ID kaardi tarkvara ehk open-eid v. 3.12 kasutamine Debianis

Aasta tagasi kirjutasin artikli Eesti ID kaardi tarkvara v. 3.11 kasutamine Debianis. Kõik seal märgitu kehtib Debian Jessie kohta jätkuvalt edasi.

Debian testingu (ehk Stretch) kasutajad, kellel on ID-kaardi tarkvara paigaldatud selle sama juhendi alusel on ehk aptitude update või apt-get update puhul märganud selliseid teateid:

Err https://installer.id.ee/media/ubuntu trusty InRelease
The following signatures were invalid: 43650273CE9516880D7EB581B339B36D592073D4
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://installer.id.ee/media/ubuntu trusty InRelease: The following signatures were invalid: 43650273CE9516880D7EB581B339B36D592073D4
W: Failed to fetch https://installer.id.ee/media/ubuntu/dists/trusty/InRelease: The following signatures were invalid: 43650273CE9516880D7EB581B339B36D592073D4

Põhjus see et RIA kasutab ID-kaardi tarkvara pakkide allkirjastamiseks uut võtit. Ning kui juba võtmeuuenduseks läheb, siis on mõttekas ka repo uuema vastu ära vahetada. Seega tee juurkasutajana käsurealt alljärgnev:

wget -O /tmp/ria-public-2016.key https://installer.id.ee/media/install-scripts/C6C83D68.pub
apt-key add /tmp/ria-public-2016.key

Kommenteeri sources.list failist välja või kustuta senine trusty-repo ja lisa samasse faili

deb https://installer.id.ee/media/ubuntu/ xenial main

Tee seejärel

aptitude update && aptitude safe-upgrade

ning näed et osa pakke jääb uuendamata, mistõttu tee kas kohe algselt või seejärel

aptitude dist-upgrade

ning libxml-security-c17 eemaldatakse ja libxml-security-c17v5 tuleb asemele ning kõik komponendid uuenevad viimase versioonini.

Kui sul on pidevalt edasirullunud Debian testing, siis järgevat sinu arvutis ei juhu. Aga uue stretch'i paigalduse puhul tekib probleem libssl teegiga - nimelt stretch'is on olemas libssl1.0.2 ja libssl1.1, kuid vaja oleks libssl1.0.0 pakki.

Loomulikult võid teha vajaliku paki alla sikutada (faili nimi on artikli koostamise seisuga). See näide on amd64 jaoks, kuid vastav sarnane url ja faili nimi on olemas ka i386 ja muude arhitektuuride jaoks.

wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u5_amd64.deb
dpkg -i libssl1.0.0_1.0.1t-1+deb8u5_amd64.deb

Kuid kuna see libssl saab turvapaikasid veel hea mitu korda, siis õigem oleks kui lisad sources.list faili

# open-eid vajab libssl1.0.0, mida stretch'is pole
deb http://security.debian.org/debian-security jessie/updates main

ning siis tee

aptitude install libssl1.0.0

Kui Debian stretch arvutis varem ID-kaardi tarkvara pole olnud, siis kogu tegevus on selline:

aptitude install apt-transport-https
wget -O /tmp/ria-public-2016.key https://installer.id.ee/media/install-scripts/C6C83D68.pub
apt-key add /tmp/ria-public-2016.key
echo '# open-eid ehk id-kaardi tarkvara' >> /etc/apt/sources.list
echo 'deb https://installer.id.ee/media/ubuntu/ xenial main' >> /etc/apt/sources.list
echo '# open-eid vajab libssl1.0.0, mida stretchis pole' >> /etc/apt/sources.list
echo 'deb http://security.debian.org/debian-security jessie/updates main' >> /etc/apt/sources.list
aptitude update
aptitude install libssl1.0.0
aptitude install open-eid