abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:33 | Nová verze

    Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    15.5. 12:55 | Nová verze

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 2
    15.5. 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 1
    14.5. 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 9
    14.5. 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 27
    14.5. 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    14.5. 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

    Ladislav Hagara | Komentářů: 0
    14.5. 01:11 | Nová verze

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.5. 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    13.5. 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 14
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1645 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Rukověť baliče RPM - IX (Sekce %files)

    14. 7. 2005 | David Nečas | Návody | 6605×

    Které soubory se mají kam instalovat. Pravidla nahrazování konfiguračních souborů.

    Sekce %files

    O sekci %files a vlastnostech souborů jsme si pověděli již v jednom z prvních dílů, ale nic není tak jednoduché, jak to napíši.

    Sekci %files, resp. její část, je možné generovat při kompilaci. Zapíšeme-li nějakým skriptem seznam souborů balíčku lobster (ve stejném formátu jako v sekci %files samé) do lobster.files, načteme ho pomocí -f:

    %files -f lobster.files

    A soubory mohou mít řadu dalších, řidčeji využívaných přívlastků.

    %exclude

    Přívlastek %exclude označuje soubor, který do daného rpm nepatří. Hodí se u vedlejších balíčků, kdy umožňuje do některého balíčku přidat všechny soubory v adresáři kromě jednoho, který patří do jiného balíčku.

    %exclude %{_bindir}/lobster-server

    %ghost

    Přívlastek %ghost označuje soubor, který se nemá do balíčku zahrnout, ačkoli do něj patří. Používá se pro soubory, jejichž obsah je nepodstatný, ale na jejich atributech záleží, tedy zejména logy a další generované soubory. Kromě toho ho rpmbuild přidává nezdrojovým souborům a nepatchům v nezdrojových rpm (nosrc.rpm).

    %ghost %{fontdir}/fonts.dir

    %config

    Konfigurační soubory označuje přívlastek %config. Konfigurační soubory vyžadují při aktualizaci zvláštní zacházení, protože se na rozdíl od ostatních běžně editují – a rpm s nimi také tak zachází. Snaží se přitom o dvě věci zároveň:

    • zachovat editované konfigurační soubory, neboť obsahují cenné ruční změny,
    • používat s nainstalovanou verzí programu verzi konfiguračního souboru, která s ní funguje.

    Srovnáme-li obsah souboru ze starého balíčku, obsah souboru z nového balíčku a jeho skutečný stav v systému, může nastat celkem pět možností. Dvě z nich jsou nezajímavé, jelikož je v nich skutečný obsah stejný jako ten, který by tam rpm rádo vidělo. Zbývají tři.

    1. Je-li původní a skutečný obsah stejný (tj. soubor nebyl editován), ale nový se liší, rpm jednoduše nahradí soubor novým. Logika je taková, že se nahrazuje funkční výchozí konfigurace za aktualizovanou výchozí konfiguraci. Neexistuje verze, která by nebyla v novém či starém balíčku.
    2. Byl-li soubor editován, ale v balíčku se nezměnil, rpm ponechá editovaný soubor. Logika je taková, že stejnou úpravu, kterou jsme provedli ve starém souboru, chceme i v novém, identickém.
    3. Liší-li se navzájem všechny tři, je rpm v pasti. Neví, zda je lepší konfigurační soubor z nového balíčku, který sice jistě funguje s novou verzí programu, ale neobsahuje naše úpravy; nebo modifikovaný soubor, který ale nemusí s novou verzí vůbec fungovat. Řeší to tak, že změněný soubor uloží s koncovkou .rpmsave a vypíše varování:
    warning: /etc/lobster/lobster.conf saved as /etc/lobster/lobster.conf.rpmsave

    Toto vše platí pro soubory označené jen %config; můžeme je ale také označit %config(noreplace):

    %config(noreplace) /etc/lobster/lobster.conf

    a rpm potom vždy ponechává editovaný soubor. Liší-li se od něj soubor z nového balíčku, přidá jej s koncovkou .rpmnew a vypíše varování

    warning: /etc/lobster/lobster.conf created as /etc/lobster/lobster.conf.rpmnew

    Zacházení s konfiguračními soubory shrnuje tabulka:

    StarýNovýSystém Akce bez noreplaceAkce s noreplace
    AAA nicnic
    BAA nicnic
    ABA aktualizuje A na Baktualizuje A na B
    AAB ponechá Bponechá B
    ABC zálohuje C s .rpmsave, aktualizuje na B ponechá C, přidá B s .rpmnew

    Při odstranění balíčku zazálohuje rpm soubory označené %config s koncovkou .rpmsave (byly-li oproti balíčku změněny).

    Přívlastek %config může mít kromě noreplace i volbu missingok. Ta říká rpm, že se nemá divit, když soubor chybí. Stále však patří do balíčku a smaže se, když balíček odinstalujeme. Dříve se často používal pro soubory jako

    %config(missingok) /etc/rc.d/rc2.d/S88lobster
    

    i když dnes se totéž řeší spíš chckconfigem v instalačním skriptíku.

    %verify%defverify

    Vlastnosti, které má, resp. nemá kontrolovat rpm --verify, určuje přívlastek %verify. Výchozí nastavení můžeme provést pomocí %defverify, který se má k %verify stejně jako %defattr%attr.

    Argumentem mohou být jednotlivé vlastnosti, které rpm --verify kontroluje: md5, size, link, user, group, mtime, mode, rdev, oddělené mezerami. Uvedeme-li jako první not, říkáme tím, že se vyjmenované vlastnosti naopak kontrolovat nemají – %verify se používá téměř výhradně takto v negaci. Přívlastek se vyskytuje velmi často společně s %ghost%config.

    %ghost %verify(not md5 size mtime) %{fontdir}/fonts.cache*
    

    Potřebujeme-li nastavit stejné atributy u řady souborů, můžeme si pro ně definovat makro:

    %define dbattr %verify(not md5 size mtime) %ghost %config(missingok,noreplace)
    

    %lang

    Soubory lokalizace do nějakého jazyka se označují přívlastkem %lang(locale), kde locale je označení příslušného locale:

    %lang(cs) %{_datadir}/%{vimdir}/lang/cs/*
    %lang(fr) %{_datadir}/%{vimdir}/lang/fr/*
    

    Definicí makra %_install_langs pak lze omezit jazyky, pro které se mají instalovat lokalizované soubory (při implicitní hodnotě all se instalují soubory všech jazyků).

    Ruční označování lokalizačních souborů je ovšem pěkná dřina, proto RPM obsahuje skript, který většinu práce udělá za nás. Nazývá se find-lang.sh a umí vyhledat a označit MO soubory gettextu a soubory nápovědy Gnome a KDE (v případě KDE tedy spíš snad jednou bude umět). Voláme ho makrem %find_lang s bázovým jménem souboru, do nějž seznam lokalizačních souborů zapsat:

    %install%find_lang %{name}
    
    
    %files -f %{name}.lang
    …

    %dev

    Přívlastek %dev označuje zařízení a má argumenty %dev(typ, major, minor). Argument typ je b pro bloková zařízení nebo c pro znaková; hlavní a vedlejší číslo zařízení jsou čísla (desítková či šestnáctková). V době jádra 2.6 a udev už je prakticky k ničemu.

    Obskurní přívlastky

    Přívlastky %readme (soubory README) a %license (licence) se příliš nepoužívají: rpm je nicméně pozná a umí vypsat. Přívlastek %pubkey označuje veřejný klíč, a dokonce se používá, byť zcela výjimečně; %policy má označovat SELinux policy na Fedoře, ale netuším, jak se správně používá. Přívlastky %spec%icon existují jen při kompilaci RPM s -DWHY_NOT

    Nejčtenější články posledního měsíce

    Bezkontaktní housing ve dvou pražských datacentrech
    Zajímavé přednášky z TechEdu: cloud, bezpečnost i věci pro Linux
    Týden na ITBiz: Cloudové úlohy se mají přesouvat na suverénní infrastrukturu

    Nejkomentovanější články posledního měsíce

    Týden na ITBiz: Cloudové úlohy se mají přesouvat na suverénní infrastrukturu
      všechny statistiky »

    Seriál Rukověť baliče RPM (dílů: 15)

    Rukověť baliče RPM - I (Úvod) (první díl)
    <—« Rukověť baliče RPM - VIII (Závislosti)
    »—> Rukověť baliče RPM - X (Skriptíky)
    Rukověť baliče RPM 15 - XV (Závěr) (poslední díl)

    Související články

    Rukověť baliče RPM - I (Úvod)
    Rukověť baliče RPM - II (Prostředí)
    Rukověť baliče RPM - III (Struktura spec souboru)
    Rukověť baliče RPM - IV (Fáze balení)
    Rukověť baliče RPM - V (Zdrojové soubory)
    Rukověť baliče RPM - VI (Makro %setup)
    Rukověť baliče RPM - VII (Podepisování, verze)
    Rukověť baliče RPM - VIII (Závislosti)
    Rukověť baliče RPM - X (Skriptíky)
    Rukověť baliče RPM - XI (Architektury. systémy, platformy)
    Rukověť baliče RPM - XII (Makra, úvod)
    Rukověť baliče RPM - XIII (Makra, dokončení)
    Rukověť baliče RPM - XIV (Přizpůsobení)
    Rukověť baliče RPM 15 - XV (Závěr)
    Na co se často ptáme: Balíčkovací systémy kromě posledního odstavce o checkinstallu.
    Nebojíme se kompilace - I (Teorie)
    Nebojíme se kompilace - II (GCC, configure, make, checkinstall) kompilace a instalace software, opět kromě části o checkinstallu.
    Balíčkovací systém Mandrake Linuxu RPM na uživatelské úrovni (a pro Mandrake).

    Odkazy a zdroje

    Doporučené čtení

    Další články z této rubriky

    VDR a DVB-T2, část 2.
    VDR a DVB-T2, část 1.
    Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
    MapTiler – proměňte obrázek v zoomovatelnou mapu
    Syncthing
           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    14.7.2005 08:29 natiku | skóre: 26 | blog: natiku
    Rozbalit Rozbalit vše Pridlad pouzitt dbattr makra
    Ahoj a co proklad pouziti dbattr makra.
    Serial je super. Dik
    17.7.2005 18:43 pupu
    Rozbalit Rozbalit vše soubory z jineho baliku
    Je mozne nejak sdelit, ze chci jednim souborem prepsat jiny, ktery patri jinemu baliku? Pri instalaci muzu dat --force, ale to se mi moc nelibi. Jde o to, ze RedHati ve sve nekonecne moudrosti zahrnuli do RPMka PERLu i par modulu, ktere jsou vyvijeny externe. Ja ovsem potrebuji novejsi verzi, takze jsem si ji zkompiloval, zabalickoval - ale zjistil jsem, ze se mi hodlaji prepsat manualove stranky.
    17.7.2005 18:59 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: soubory z jineho baliku
    Bez spolupráce původního balíku AFAIK ne (tedy ne tak, aby se to líbilo i rpm --verify perl). Z --force stačí --replacefiles, ale výsledek je stejný. Můžeš zkusit, jak přesně v praxi funguje Obsoletes na soubory (které RPM čerstvě umí od 4.4), ale nevím, zda se jím dá balíčku ukrást soubor -- a i kdyby to šlo, tak to pak komplikuje další upgrady.

    Ten problém s perlem se řešil ve fedoří konfernci; nevzpomínám si už, zda vymysleli nějaké lepší řešení.

    Nejpřímočařejší cesta k výsledku asi je oprava a rebuild src.rpm perlu.
    20.7.2005 11:51 Lamatronic
    Rozbalit Rozbalit vše Re: soubory z jineho baliku
    ježyš to je zložitý.... zlatej windows update!
    12.4.2007 18:20 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: soubory z jineho baliku
    Ty snad v Microsoftu balíkuješ pro Windows Update, že máš takovéhle řeči? ;-)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.