Skip to content

Eesti ID kaardi tarkvara v. 3.11 kasutamine Debianis

Kuutõrvajas on toimiv juhend Eesti ID kaardi tarkvara v. 3.8 kasutamine Debianis 2014 suvel. Sel viisil paigaldatud tarkvara toimib Stretch'is ja Jessie's edasi, kuid paari kiiksuga:

  • viimased Firefox'id eeldavad et laiendused on allkirjastatud ning vastasel juhul laiendused on blokeeritud (kui kasutad ametlikus repos leiduvat Iceweasel'it, siis see on parasjagu 38ESR'i juures ja seal seda olukorda ei teki)
  • BDOC'i tugi on killuke poolik (ilmselt vajalikud uuemad sertifikaadid on puudu)
  • Ubuntu Precise repo on nüüdseks installer.id.ee saidist puudu ning see võib tekitada olukorra kus /var/lib/apt/lists/partial/ kausta hakatakse poolikuid faile kuhjama ning /var või muu partitsioon, kus ta asub, kirjutatakse varem või hiljem triiki täis (kui sa järgnevat uuendust ei plaani teha, siis vähemalt kommenteeri sources.list failist see rida välja -> deb https://installer.id.ee/media/ubuntu/ precise main)

Ubuntule tehtud ID-tarkvara on saadaval hetkel 14.04 ja 15.04 jaoks. Neist esimene on LTS ning eeldatavalt püsib EstEID tugi kuni järgmise LTS'i ehk 16.04 jaoks saavad EstEID pakid tehtud. Mistõttu mina läksin 14.04 teed (järgmised toimingud loomulikult administraatori õigustes):

  • dokumenteerimise mõttes kommeneteeri /etc/apt/sources.list failist välja rida

    # deb https://installer.id.ee/media/ubuntu/ precise main
    ning lisa
    # tänane kuupäev
    deb https://installer.id.ee/media/ubuntu/ trusty main

  • tee tavaline uuendus

    aptitude update
    aptitude safe-upgrade


Jessie puhul ei tohiks tohiks ühtegi probleemi tekkida - EstEID tarkvara uueneb versioonini 3.11.1 ja kõik toimib nagu seni.

Debian testingus aga ei toimi DigiDoc'i klient. Praegune Debian testing (Stretch) on stable'ga (Jessie) võrreldes oluliselt edasi liikunud ning EstEID kontekstis on komistuskiviks libxml-security-c17 puudumine testingus. Olemas on libxml-security-c17v5, aga sellest ei tea EstEID veel midagi.

Lahendus on lihtne: Sikuta Jessie jaoks mõeldid pakk ja paigalda käsitsi (minul konflikte ei tekkinud):
64-bitise paigalduse puhul:

wget http://ftp.ee.debian.org/debian/pool/main/x/xml-security-c/libxml-security-c17_1.7.2-3+b1_amd64.deb
dpkg -i libxml-security-c17_1.7.2-3+b1_amd64.deb

32-bitise paigalduse puhul:

wget http://ftp.ee.debian.org/debian/pool/main/x/xml-security-c/libxml-security-c17_1.7.2-3+b1_i386.deb
dpkg -i libxml-security-c17_1.7.2-3+b1_i386.deb

ning seejärel uuesti

aptitude safe-upgrade

(või vastav arm'i pakk kui seda kasutad)
ning uuendamata jäänud libdigidocpp-tools, libdigidocpp0 ja libdigidocpp-common saavad ka korda ja EstEID tervikuna töökorda.

Kui arvutis varem EstEID oli puudu, siis Debian stable's ehk Jessie's tee nii:

aptitude install apt-transport-https
wget -O /tmp/ria-public.key https://installer.id.ee/media/install-scripts/ria-public.key
apt-key add /tmp/ria-public.key
echo 'deb https://installer.id.ee/media/ubuntu/ trusty main' >> /etc/apt/sources.list
aptitude update
aptitude install estonianidcard qesteidutil esteidfirefoxplugin

Stretch'i puhul oleks tegevus sama, aga enne paigaldust lisa käsitsi libxml-security-c17 (vt eespool).

Lisaks tavapärasele toele Firefox/Seamonkey brauserites toimib autentimine nüüd ka Chromiumis. Kui kasutad Chromiumi kohustuslike eelseadistuste funktsionaalsust (Managed policies) ja seal ExtensionInstallWhitelist direktiivi, siis lisa ckjefchnfjhjfedoccjbhjpbncimppeg ka loendisse.

Olulised muutused vabade videokodekite arengus

Peale aastapikkust vaikust on korraga vabade videokodekite kohta tulnud palju häid uudiseid:

  • Cisco on avaldanud oma majasisese Thor-kodeki vaba tarkvara litsentsi all. Tegemist on nn järgmise põlvkonna videokodekiga. Võiks ju arvata, et tegemist on konkurendiga Xiph'i ja Mozilla arendatavale Daala'le, kuid Opuse-nimelise audiokodeki ajalugu räägib vastupidist - too loodi ka mitme firma arendustöö liitmise tulemusena (Xiph'i CELT ja Skype'i Silk) ning tulemus sai muljetavaldav. Nii Daala kui Thor on kaasatud ka suvel algatatud IETF'i NETVC standardiseerimisprojekti.
  • 01.09.15 teatasid Amazon, Cisco, Google, Intel Corporation, Microsoft, Mozilla ja Netflix Alliance for Open Media (AOMedia) projekti algatamisest. Selle eesmärgiks on luua järgmise põlvkonna meediakodekeid ja vorminguid ning teha seda viisil, et kasutajate jaoks ei teki nõudeid ei patentide ega tasuliste litsentside kontekstis (royalty free media codecs). Kõik tarkvara saab olema avaldatud Apache 2.0 litsentsi alusel. Keskendutakse nii tegelikule arendustööle kui patendi-uuringutele. Projekti toovad osalised nii Daala, Thor'i kui VP9/VP10. Saame näha kuhu see kõik viib ja kaua tegelike tulemusteni jõudmine aega võtab (räägitakse natuke enamast kui aastast). Projektiga liitunud firmade valik on väga hea - sisaldab nii enamusi suuri brauseritootjaid, suuri veebivideo-firmasid ning kaht olulist tehnoloogiafirmat.
  • Seni on vabade meediakodekite arendusest eemale hoidnud 2 olulist firmat - Apple ja Microsoft. Selles mõttes oli väga hea üllatus, et AOMedia'ga liitunute hulgas on ka Microsoft. Ja et sõnad päris tühjalt ei kõlaks, on Microsoft asunud ka reaalsetele tegudele. Alates üle-eilsest on Edge baruseri arenduse teekaardil märgitud et VP9 implementatsioon on töös ja Opuse+Vorbise oma tööde järjekorras.
  • Vabade kodekite suurim konkurent on patendialune HEVC/H.265 videokodek. Sellele on tekkinud kaks patendiorganisatsiooni (MPEG-LA ja HEVC Advance). Neist viimane on avaldanud nüüd ka oma hinnakirja ning nende arutult kallid tingimused on sisuomanikud ja suured tehnoloogiakasutajad pannud mõtlema vabade alternatiivide peale. Et pilt segasem oleks, siis on HEVC/H.265 jaoks ka kolmas patendiorganisatsioon loomisel.

Leiame töötavad sshd serverid oma kohtvõrgust (let's find working ssh servers from our local subnet)

Mõnikord ununeb ära missugustele kohtvõrgus asuvatele arvutitele saab ssh'ga ligi. Nmap tuleb appi:

nmap -v --open -sV 192.168.1.0/27 -p 22

Loomulikult saad CIDR'ina kirjeldatud võrku muuda vastavalt oma vajadustele või otsida mõnes muus pordis töötavaid teenuseid.

Jessie ehk Debian 8 on ilmunud

Kaheaastase arendustöö järel ilmus eile Debiani uus stabiilne versioon koodnimega Jessie ning järjenumbriga 8. Suurte uuendustena on süsteemihalduse ja juhtimise ülekolimine systemd peale ning 64-bitise ARM platvormi lisandumine.

Kokku on Jesssie's 43000 erinevat tarkvarapakki ning neist olulisemad on :

Apache 2.4.10
Asterisk 11.13.1
GIMP 2.8.14
GNOME 3.14
GNU Compiler Collection 4.9.2
Icedove 31.6.0 (Thunderbirdi variant)
Iceweasel 31.6.0esr (Firefoxi variant)
KDE Plasma Workspaces + KDE Applications 4.11.13
LibreOffice 4.3.3
Linux 3.16.7
MariaDB 10.0.16
MySQL 5.5.42
Nagios 3.5.1
OpenJDK 7u75
Perl 5.20.2
PHP 5.6.7
PostgreSQL 9.4.1
Python 2.7.9 + 3.4.2
Samba 4.1.17
Tomcat 7.0.56 + 8.0.14
Xen Hypervisor 4.4.1
Xfce 4.10

Järgmise Debiani versiooni nimi on juba teada ja selleks on Stretch.

Et Linuxi-nädal oleks täielik, siis ilmus paar päeva tagasi uus Ubuntu 15.04 Vivid Vervet (ning ka nemad kasutavad nüüd init'i jaoks systemd'd).

Eemaldame failist tühjad read ja tühjad realõpud

Erisuguses failipõhises andmetöötluses on tihti vaja failist välja visata tühjad read ja/või asjatud tühikud rea algusest ja lõpust. Kui oled Linuxi kasutaja, siis sed tuleb käsureal appi:

sed 's/^ //; s/ $//; /^$/d' miskifail.txt > miskiuusfail.txt

Lihtne selgitus:

  • miskifail.txt - algne fail
  • miskiuusfail.txt - töödeldud fail
  • `s/^ //` - eemaldame tühikud rea algusest
  • `s/ $//` - eemaldame tühikud rea lõpust
  • `/^$/d` - eemaldame tühjad read

Eraldame webm-videost audiofaili

Sul on webm videofail, mis teadupärast koosneb kas VP8 või VP9 videovooost ja ogg või opus audiovoost. Sa tahad sealt kätte saada vaid seda heliosa. Kuna webm näol on tegemist konteineriga, siis pole isegi uuesti kodeerida vaja. Lihtsalt eraldad vajaliku helivoo.

Eeldame, et arvutis on olemas libav (eks midagi sarnast on olemas ka ffmpeg puhul). Esmalt vaatad millest fail koosneb:

avprobe minufail.webm

Eeldusel et eelmise käsu väljundis oli midagi taolist "Stream #0.1: Audio: vorbis, 44100 Hz, stereo" siis eraldame sealt selle soovitud helivoo:

avconv -i minufail.webm -map 0:1 -c:a copy minufail.ogg

Kui avprobe ütles et tegemist oli opus'ega, siis võid panna helifaili laiendiks .opus, aga .ogg peaks ka toimima.

Kuna webm konteiner on natuke modifitseeritud matroska-konteiner, siis peaks sama toimima ka suvalise .mkv failiga. Lihtsalt seal võib leiduda ka muid audiokodekeid (vaata et paned õige laiendi).

Youtube on nüüdsest vaikimisi HTML5 video põhine

Tundub et Google on brauseritootjate, meediaomanike, võrguteenusepakkujate, kasutajate ja veel muude huviliste vahel suutnud mingi sellise tasakaalupunkti leida, kus on võimalik Youtube's Flashi-põhilisele videole öelda "Suured tänud ja head aega".

Paar aastat tagasi oli Youtube's HTML5-põhise video vaatamiseks vaja liituda testprogrammiga. Mõni aeg hiljem piisas sellest et sul oli brauseris Flash kinni keeratud või polnud üldse paigaldatud, siis nüüd ei tohiks viimaste brauseriversioonide puhul enam vahet olla. Youtube peaks esimese valikuna pakkuma võimalust mängida HTML5 videot. Niimoodi väidab Youtube ajaveeb.

Kodekite ja vormingute osas on Youtube's olukord sama kui viimase aasta jooksul - Opera ja Chromium mängivad Webm (VP9), Firefox Webm (VP8) ning IE ja Safari H.264 videot. Alates versioonist 36 oskab Firefox vaikimisi ka MSE'd ning on seega suuteline Youtube's ka VP9-põhist videot mängima (minu vana profiili puhul vajas küll media.mediasource.enabled jah-olekusse panemist).

Kustutame mälupulga tühjaks

Praktikas on tihti vaja mõne mälupulga kogu sisu mõistlikult turvalisel viisil tühjendada. Linuxis käiks see kõige lihtsamal viisil käsurealt nii (olles administraatori õigustes):

shred /dev/sdx -n 5 -v

Vajalik /dev/sdx vaata järgi näiteks df käsuga, kuid tavalise ühe kõvakettaga arvuti puhul oleks üldjuhul /dev/sdb (praktikas on mälupulgal tihti vaid üks partitsioon ja /dev/sdb1 toimib ka). Võti -n kirjutab kõik üle 5 korda ja -v näitab mida ta parasjagu teeb.

Programm shred loomulikult kolmetäheliste organisatsioonide huvi vastu ei aita, kuid harju keskmise huvilise vastu küll ning teeb seda viisil, mis arvestab välkmälude tavapärase hajutatud kirjutamise (wear leveling) loogikaga ehk teisisõnu kirjutab äärest ääreni.

Tabelite suurused Postgresql andmebaasis

Teinekord on selgust vaja saada mis tabelid haaravad andmebaasis suurima mahu. Selline lihtne päring on abiks (näitab ära ka toast-tabelid):

SELECT nspname || '.' || relname AS relation, pg_size_pretty(pg_relation_size(C.oid)) AS size
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
ORDER BY pg_relation_size(C.oid) DESC
LIMIT 25;

Kui toast-tabeleid pole eraldi vaja, siis vaata infot nii:

SELECT nspname || '.' || relname AS relation, pg_size_pretty(pg_total_relation_size(C.oid)) AS total_size
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
AND C.relkind <> 'i'
AND nspname !~ '^pg_toast'
ORDER BY pg_total_relation_size(C.oid) DESC
LIMIT 25;

Kui aga tahad näha indeksite kasutust, siis nii (allikas Evan Hoffman):

SELECT schemaname, tablename,
pg_size_pretty(pg_relation_size(schemaname || '.' || tablename)) AS size_p,
pg_total_relation_size(schemaname || '.' || tablename) AS size,
pg_size_pretty(pg_total_relation_size(schemaname || '.' || tablename)) AS total_size_p,
pg_total_relation_size(schemaname || '.' || tablename) - pg_relation_size(schemaname || '.' || tablename) AS index_size,
(100*(pg_total_relation_size(schemaname || '.' || tablename) - pg_relation_size(schemaname || '.' || tablename)))/CASE WHEN pg_total_relation_size(schemaname || '.' || tablename) = 0 THEN 1 ELSE pg_total_relation_size(schemaname || '.' || tablename) END || '%' AS index_pct
FROM pg_tables
ORDER BY size DESC LIMIT 25;

Muudame kataloogitäie piltide suurust ja nime

Sul on näiteks kataloogitäis jpg-faile, mida on vaja sobitada ühte suurusesse. Selline lihtne toiming aitab (kui sul on muud vormingud, siis tee vajalikud asendused ning ära unusta tõstutundlikkust ja loomulikult convert käsule vajalikke võtmeid juurde lisada).

convert *.jpg -resize 600 -set filename:f 'prefiks-%t' '%[filename:f].jpg'

Siin näites resize 600 teeb kõik pildid 600 piksli laiuseks ning kõrguse sätib vastavalt algse faili proportsioonidele. Kõiki muid variante leiad Imagemagick Resizing or Scaling lehelt. Set filename ... aga moodustab uue faili nime algsest nimest (seda teeb %t) ilma laiendita ning paneb ette sõna prefiks (kirjuta sinna mida vaja või pane ta lõppu kui vaja). Kõiki asendusi saad vaadata lehelt Imagemagick Format and Print Image Properties.

Kui convert käsk midagi huvitavat ei tee, siis on ehk imagemagick arvutist puudu (või otsiteest väljas) ja "aptitude install imagemagick" lahendab olukorra (midagi sama on ka rpm-distrote jaoks ning leidub ka installikas maci ja windowsi jaoks). Siin on soovitus meelega convert, mitte mogrify käsu kohta (esimene jätab vaikimisi vanad failid alles, teine mitte).