Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.
Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.
Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.
Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.
Evropský parlament dnes přijal směrnici týkající se tzv. práva spotřebitele na opravu. Poslanci ji podpořili 584 hlasy (3 bylo proti a 14 se zdrželo hlasování). Směrnice ujasňuje povinnosti výrobců opravovat zboží a motivovat spotřebitele k tomu, aby si výrobky nechávali opravit a prodloužili tak jejich životnost.
Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.
ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.
Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.
Společnost Meta otevírá svůj operační systém Meta Horizon OS pro headsety pro virtuální a rozšířenou realitu. Vedle Meta Quest se bude používat i v připravovaných headsetech od Asusu a Lenova.
Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.
Balíčkovací systém Arch Linuxu používá jako správce balíčků pacmana
. Balíčky si stahuje přímo z repositářů umístěných na zrcadlech, podobně jako apt-get
. Používání systému se snaží být co nejjednodušší a snadno ovladatelné; to se daří plnit díky řešení závislostí a konfliktů balíčků. Stejně tak i ovládání pacmana je jednoduché.
Arch Linux má několik oficiálních repositářů, ve kterých je většina softwaru potřebného pro plnohodnotný desktop i server. Software je kompilován pro architektury i686 (hlavní architektura, která má nejvíce balíčků), x86-64 a i586 (pro tu je zatím nejméně balíčků).
Oficiální repositáře:
current
extra
a current
current
nebo extra
řádně otestovatMimo tyto repositáře, které obsahují přímo binární balíčky, ještě existuje AUR (Arch Linux User-community Repository), jež obsahuje PKGBUILDy
pro velké množství softwaru, který není v oficiálních repositářích. O AURu a PKGBUILDech si budeme povídat v některém z dalších dílů.
Název archovského balíčku má pevně daný tvar: jméno_softwaru-verze-vydání_balíčku-architektura.pkg.tar.gz
. Už samotný název dává tušit, že se jedná o tar.gz
archiv. Aby byl takový archiv validním balíčkem, musí mimo jiné obsahovat soubory:
.FILELIST
.PKGINFO
Nepovinný je instalační skript .INSTALL
.
Obsahuje seznam všech souborů v balíčku, což je užitečné například pro zjišťování konfliktu souborů, nebo pokud chceme zjistit, kterému balíčku nějaký soubor patří.
Obsahuje všechny informace potřebné k instalaci balíčku. Budeme se věnovat položkám, které jsou obvyklé u pacmana 3.0.0, potažmo u skriptu makepkg
, který tento soubor generuje (starší verze nemusely mít všechny položky).
Soubor má jednoduchou strukturu, která je nejlépe vidět na příkladě. Náš balíček bude obsahovat software se jménem helloworld
ve verzi 0.4
, bude kompilován pro architekturu i686, takže název balíčku je helloworld-0.4-1-i686.pkg.tar.gz
# Generated by makepkg 3.0.0 # Sun Dec 31 10:05:08 CET 2006 pkgname = helloworld pkgver = 0.4-1 pkgdesc = helloworld: a kernel module and \ a userspace daemon for controlling an atomic bomb url = http://www.helloworld.sf.net builddate = Sun Dec 31 09:05:08 2006 packager = Big Boss <bigboss@sf.net> size = 1055364 arch = i686 license = GPL replaces = helloworld-rc replaces = helloworld-test depend = kernel26 conflict = goodbyeworld conflict = libatomicbomb provides = libatomicbomb backup = etc/helloworld.conf
makepkg
makepkg 3.0.0
a vyššíhelloworld
nahrazuje uvedený balíček, v příkladu nějakou RC
verzi a test
verzihelloworld
závisí na tomto balíčkuhelloworld
koliduje s balíčky goodbyeworld
a libatomicbomb
helloworld
poskytuje libatomicbomb
, tedy řeší závislosti na balíčku libatomicbomb
Tento soubor je instalačním skriptem a není, na rozdíl od ostatních souborů, povinný. Slouží pro spouštění případných po–instalačních procedur. Stejně tak má části, které se spouští po upgradu nebo odinstalování balíčku. Často se také využívá pro výpis informací při instalaci.
Ukážeme si opět jeden krátký příklad:
# arg 1: the new package version post_install() { echo ">>> ovládání atomových bomb 'heloworld' verze $1" post_upgrade $1 0.1 } # arg 1: the new package version # arg 2: the old package version post_upgrade() { echo ">>> Novinky ve verzi $1" if [ "$(vercmp $2 0.2)" -lt 0 ]; then echo " -> kód byl kompletně přepsán, zvýšila se stabilita ;]" fi if [ "$(vercmp $2 0.3)" -lt 0 ]; then echo " -> podporovány jsou i indické bomby" fi _do_some_think } pre_remove() { . /etc/rc.d/functions if ! ck_daemon heloworld; then /etc/rc.d/heloworld stop fi } _do_some_think() { /bin/true } op=$1 shift $op $*
Do skriptu si můžeme přidávat svoje vlastní funkce. Je vhodné použít prefix "_", všechny funkce by měly končit s návratovým kódem 0
. Instalační skript je velmi zranitelnou částí instalačního procesu; může obsahovat potenciálně škodlivý kód, proto instalujte balíčky jen z důvěryhodných zdrojů. A stejně tak si, pokud sestavujete balíček sami, prohlédněte obsah instalačního skriptu.
Při instalaci pacman
nejprve zkontroluje závislosti a konflikty, jak na úrovni balíčků, tak i na úrovni souborů, poté rozkopíruje soubory, provede případné zálohy konfigurace a nakonec spustí instalační skript. Informace o balíčku se uloží do databáze. Proces odstranění je opačný.
Databáze balíčků se nachází ve /var/lib/pacman/
a je to adresářová struktura repositář/balíček
. Adresář balíček
obsahuje soubory s popisem balíčku a seznamem závislostí.
Seznam aktuálně nainstalovaných balíčků se nachází v adresáři /var/lib/pacman/local
. Jeho struktura vypadá podobně jako u repositářů, ale každý balíček má navíc v adresáři seznam souborů v balíčku a instalační skript (pokud jej balíček obsahuje).
Protože databáze je řešena tímto způsobem, je vhodné ji mít na zvláštním oddílu disku s výkonným souborovým systémem, výrazně to zrychlí práci.
Tímto bychom měli položeny nutné základy, příště se pustíme do správy balíčků pomocí pacmana
.
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
pasmen: Architektura v nazvu balicku je novinka pacmana 3.0?
vogo: ano, ale pacmanem 3.0 jdou nainstalovat i balíčky vytvořené makepkg 2.x.x
pasmen: Kurna, to budu muset vsechny svoje balicky prekompilovavat?! Jsou jeste nejake vyrazne zmeny pacmanu 3.0?
vogo: více o změnách třeba u mě v blogu
pasmen: Mozna bych mohl zkusit noveho pacmana z testingu... Sice uz by se mel co nevidet objevit v current, ale prece jen, nejsem zrovna trpelivy A hlavne, uz se tesim na to proklamovane zrychleni. Setkal si se s nejakymi problemy?
vogo: používal jsem rc verze a teď pacmana 3.0.0 a žádné chyby jsem nepozoroval [update v testingu je už verze 3.0.1 - jen kosmetické změny] pacman už by měl být v current
pasmen: Ja ho vidim porad v testing Ale dobre, zda se, ze je to fakt uz jen otazka hodin, to bych mohl vydrzet Jinak pekny clanek, taky se tesim na pokracovani.
Kouzer: Moc pěkné. Už se těším na další díl... Kdy ho lze očekávat?
vogo: o víkendu ho rozepíšu, ale mám teď moc práce do školy
Tomáš Urgošík: Doplnil bych repository unstable.
vogo: ops, to je tím, že v x86_64 byl dlouho nevyužíván [sakra bota polepším se]
Ignor: Třeba se z toho seriálu konečně dozvím, proč je packman podle archerů tak geniální
vogo: další díl bude o pacmanovi
Andrej: Geniální? To tvrdí kdo?
Ignor: Je to jen můj dojem ze zdejších diskuzí. Nemám pro to důkazy
Johny: fajn clanek. v nekterem z dalsich pokracovani by ses mohl zminit treba o rozdilech mezi pacmanem a jinymi balickovaci (napr. rpm).
vogo: na to se necítím, disto založené na RPM jsem používal naposledy pře dvěma lety, a moc jsem se v tom balíčkovacím systému nevrtal, pak byl přes rok slack, a teď arch
Jirka B.: zadny kontrolni soucet? nebo vypadla informace? :)
vogo: o tom až příště, CRC součet není součástí balíčku, jak by šel přidat do komprimovaného souboru ;)
po havárii alespoň nějaká náhrada za diskuzi :)Teď bychom ještě asi měli ručně hrábnout do databáze a přidat nějaký ten tisíc do počítadla čtenosti, aby to nevypadalo, že článek nikoho nezajímá... Všichni už si ho totiž přečetli, ale teď to není poznat.
Žuch, prásk. Ach jo. Takže má ostrá kritika pacmana vzala za své. Nějaká linuxová vyšší moc se mi tu snaží naznačit, abych ho nechal na pokoji.
Hloupé je, že jsem tu diskusi sledoval a měl jsem prakticky všechny příspěvky v mailu. Jenže cca hodinu před tím karambolem jsem je smazal. To je prostě setsakra smůla.
Ale diskusi v té době sledoval ještě jeden člověk. Třeba zprávy nesmazal. Třeba je má buď ve schránce nebo aspoň na serveru... Haló! Kdo to byl?
Fňuk.