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í
×
dnes 13:55 | Nová verze

Byla vydána verze 15.0 na Debianu založené linuxové distribuce Untangle NG Firewall. Přehled novinek v poznámkách k vydání a ve videu na YouTube. Vyzkoušet lze (zatím neaktualizované) demo webového rozhraní.

Ladislav Hagara | Komentářů: 0
dnes 12:11 | Pozvánky

Letošní ročník konference LinuxDays se uskuteční o víkendu 3. a 4. října, opět se potkáme v pražských Dejvicích na FIT ČVUT. Také během devátého ročníku nás budou čekat desítky přednášek, workshopy, stánky a spousta doprovodného programu. Aktuální dění můžete sledovat na Twitteru nebo Facebooku, přidat se můžete také do telegramové diskusní skupiny.

Petr Krčmář | Komentářů: 1
dnes 10:22 | Zajímavý článek

Alexander Popov se v příspěvku na svém blogu podrobně věnuje možnostem zneužití bezpečnostní chyby CVE-2019-18683 v linuxovém podsystému V4L2. Videoukázka eskalace práv na YouTube. Chyba byla v upstreamu opravena v listopadu loňského roku. Alexander Popov se chybě věnoval ve své přednášce (pdf) na konferenci OffensiveCon 2020.

Ladislav Hagara | Komentářů: 0
dnes 06:00 | Nová verze

Byla vydána nová verze 20.02.17 svobodného multiplatformního video editoru Shotcut (Wikipedie). Přehled novinek v oznámení o vydání. Využíván je MLT Multimedia Framework 6.20.0 a WebVfx 1.2.0. Nejnovější Shotcut je k dispozici také ve formátech AppImage, Flatpak i Snap.

Ladislav Hagara | Komentářů: 2
včera 16:22 | IT novinky

Spolkový úřad pro informační bezpečnost (Bundesamt für Sicherheit in der Informationstechnik) schválil používání softwarů Gpg4win a Gpg4KDE, tj. nadstaveb nad GnuPG, pro šifrování a přenos utajovaných informací stupně utajení Vyhrazené (VS-NUR FÜR DEN DIENSTGEBRAUCH (VS-NfD)), EU RESTRICTED a NATO RESTRICTED [reddit].

Ladislav Hagara | Komentářů: 0
včera 12:44 | Humor

Viceprezident společnosti Oracle Matthew O'Keefe napsal na Twitteru: "Kdyby databáze Oracle neexistovala, světová ekonomika by se zastavila. Kdyby většina open source distribuovaných databází neexistovala, byl by svět pro data mnohem bezpečnějším místem". Příspěvek rozpoutal diskusi nejenom na redditu a následně byl z Twitteru smazán (Wayback Machine).

Ladislav Hagara | Komentářů: 17
včera 09:33 | Nová verze

Byla vydána nová verze 1.38 správce síťových připojení ConnMan (Wikipedie). Z novinek lze zdůraznit podporu WireGuardu.

Ladislav Hagara | Komentářů: 0
včera 06:00 | Zajímavý projekt

Byl spuštěn Humble Book Bundle: Cybersecurity 2020 by Wiley. Za 1 euro a více lze koupit 7 elektronických knih, za 7,50 eur a více lze koupit 13 elektronických knih a za 13,50 eur a více lze koupit 20 elektronických knih věnovaných kybernetické bezpečnosti od nakladatelství Wiley. Peníze lze libovolně rozdělit mezi nakladatelství Wiley, Humble Bundle, Electronic Frontier Foundation a Let's Encrypt.

Ladislav Hagara | Komentářů: 0
17.2. 21:55 | Zajímavý článek

Clear Linux je distribuce vyvíjená firmou Intel; vybočuje optimalizací na výkon, pročež se používá např. k běhu benchmarků, ale také pro vývojáře či do cloudu. Recenze na Ars Technica se zaobírá použitím Clear Linuxu jako uživatel: instalace, pozorování rychlosti spouštění Gimpu, správa balíčků a instalace Google Chrome nebo konfigurace OpenZFS. Praktické nasazení mimo specializace, kde je výkon kritický, nakonec nedoporučuje.

Fluttershy, yay! | Komentářů: 5
17.2. 21:44 | Nasazení Linuxu

Jižní Korea se z historických důvodů potýká se silnou závislostí na Microsoftu (konkrétně ActiveX), kterou se snaží postupně odbourat. Na jaře 2019 tamní ministerstvo vnitra oznámilo testování Linuxu na pracovních stanicích. Nyní, po skončení podpory Windows 7, byl přechod potvrzen s cílem omezit závislost na třetí straně a snížit náklady. Do roku 2026 je v plánu, že uživatelé budou používat notebooky s Windows, ale připojovat se na vzdálený linuxový desktop v cloudu. Některá ministerstva již Linux používají.

Fluttershy, yay! | Komentářů: 0
Vydržela vám novoroční předsevzetí?
 (9%)
 (6%)
 (3%)
 (82%)
Celkem 161 hlasů
 Komentářů: 0
Rozcestník

www.AutoDoc.Cz

Rukověť baliče RPM - II (Prostředí)

25. 5. 2005 | David Nečas | Návody | 12393×

Jaké jsou využívány adresáře a soubory, jak se v nich vyznat, a jak si připravit pracovní prostředí tak, aby bylo samotné balíčkování co nejpřehlednější.

Prostředí

Během balení rpm se různé věci zapisují do různých adresářů nebo se v nich hledají. RPM umožňuje flexibilní nastavení adresářové struktury, pro začátek se však vyplatí seznámit se s tou standardní. Nainstalujeme-li rpm-build, vytvoří se v /usr/src/RPM (na RedHatu /usr/src/redhat, jinde případně i jinde) následující podadresáře:

  • SPECS – sem se instalují spec soubory.
  • SOURCES – sem se instalují zdrojové kódy a patche.
  • BUILD – do tohoto adresáře se zdrojové kódy rozbalují (každý do svého podadresáře) a probíhá v něm vlastní překlad.
  • RPMS – adresář, do nejž se po úspěšné kompilaci nahrají vytvořené binární balíčky. Přesněji do podadresářů odpovídajících jejich achitektuře (i386, …, noarch).
  • SRPMS – sem se případně nahraje vytvořený zdrojový balíček.

Do /usr/src/RPM však může zapisovat jen root, a jelikož k balení rpm není zapotřebí být rootem, nebudeme balit jako rooti a namísto toho si stejnou adresářovou strukturu vytvoříme někde v domovském adresáři, řekněme v ~/src/rpm. RPM vysvětlíme, že ji má používat, přidáním řádku

%_topdir /home/yeti/src/rpm

do souboru ~/.rpmmacros. Kdo nemá uživatelské jméno yeti, nahradí /home/yeti svým domovským adresářem. Do /var/tmp, kam se při balení zapisují a dočasně instalují soubory, sice zapisovat smíme, budeme však chránit životní prostředí a změníme i adresář pro dočasné soubory:

%_tmppath /home/yeti/tmp

V souboru ~/.rpmmacros můžeme změnit řadu dalších zajímavých věcí, prozatím se spokojíme s nastavením tvůrce balíku:

%packager Yeti <yeti@physics.muni.cz>

Kdo se nejmenuje Yeti, opět změní na svoje jméno, a především adresu.

Hodnota %_topdir také ovlivňuje, kam se nainstaluje obsah zdrojového rpm. Nyní tedy můžeme spustit (nebude-li uvedeno jinak, bude se náš balíček vždy nazývat lobster).

rpm -i lobster-1.10-1.src.rpm

jako obyčejní uživatelé a soubory se objeví
~/src/rpm/SOURCES
~/src/rpm/SPECS namísto
/usr/src/SOURCES
/usr/src/SPECS.

Myslíme-li to s balením vážně, budeme chtít oddělit systém, na němž pracujeme, od cílového systému, pro nějž kompilujeme – byť by se lišil jen nainstalovaným softwarem. V tom případě cílový systém nainstalujeme do alternativního rootu a budeme při balení a testování používat chroot. rpm a rpmbuild sice mají argument --root, ten ale podle mne funguje jaksi zvláštně. Chrootnout se do alternativního rootu přímo příkazem chroot pracuje spolehlivě – jako obyčejní uživatelé na to ovšem nemáme práva. Distribuce a významní nezávislí baliči (např. Dag) vyvinuli různé nástroje a systémy kompilace oproti čistým instalacím a ověřování balíčků, které má smysl prostudovat, budete-li se pouštět do nějakých větších akcí.

Kompilace

Než se pustíme do výroby vlastních balíčků, hodí se umět zkompilovat ty, u nichž už nám někdo všechno přichystal. Argumenty rpmbuildu se mírně liší podle toho, z čeho kompilujeme.

Zdrojový balíček. Máme-li lobster-1.10-1.src.rpm, binární rpm z něj vytvoříme

rpmbuild --rebuild lobster-1.10-1.src.rpm

Spec soubor a zdrojový kód. Ze zdrojových kódů v SOURCES a spec souboru kdekoli (obvykle ho ale budeme mít ve SPECS) zkompilujeme binární balíček

rpmbuild -bb lobster.spec

Ke spec souboru musíme vždy uvést cestu, nehledá se v SPECS. S -ba namísto -bb bychom získali binární i zdrojový balíček, s -bs jen zdrojový balíček.

Tento způsob použijeme nejen při tvorbě vlastních balíčků, ale také když chceme překompilovat balíček například pro jinou distribuci, který vyžaduje úpravy. Zdrojové rpm nainstalujeme, upravíme, co je zapotřebí, a zkompilujeme rpm z „rozložené“ formy.

Tarová koule. Zabalil-li nám nějaký dobrodinec spec soubor do tarové koule se zdrojovým kódem, můžeme ji přímo přebalit do rpm:

rpmbuild -tb lobster-1.10.tar.bz2

Analogicky předchozí možnosti můžeme -tb nahradit -ta či -ts a získat obě rpm či jen zdrojové. Každá volba -bněco, co se má udělat se samotným spec souborem (jsou i další než ty tři uvedené, časem na ně dojde), má své dvojče -tněco pro spec soubor obsažený v tarové kouli.

Velké schéma věcí

Grand scheme

Obrázek shrnuje průběh kompilace a adresáře, jež se účastní výroby RPM balíku ze zdrojového rpm, případně z tarové koule. Adresáře jsou zobrazeny v záhlavích rámečků; rámečky samé ukazují jejich typický obsah. Černé šipky sledují postup kompilace; zelené znázorňují, jak spec soubor řídí jednotlivé její fáze (ty podrobně probereme v další kapitole).

Výpisy rpmbuildu

Nelze přehlédnout, že se při kompilaci vypisují do terminálu spousty věcí. Sám rpmbuild vypisuje na standardní výstup informace o jednotlivých fázích kompilace a na konci, resp. těsně před koncem, vypíše, co za balíčky vytvořil:

Wrote: /home/yeti/src/RPM/SRPMS/lobster-1.10-1.src.rpm
Wrote: /home/yeti/src/RPM/RPMS/i586/lobster-1.10-1.i586.rpm

Na standardní chybový výstup se pak vypisují všechny spuštěné příkazy stylem sh -x. Do toho se míchá, co vypisuje na standardní, resp. chybový výstup ./configure, make, make install, etc. – zkrátka pěkný guláš. Zejména z něj nelze snadno vydobýt, jaké balíčky se nám kde objevily (pokud vůbec), což by se ale často hodilo vědět (volba --pipe pomůže jen marginálně). Můžeme si pomoci wrapperem podobným následujícímu, jenž v případě úspěšné kompilace vypíše jen jména balíčků, selže-li však něco, vypíše na chybový výstup celý log:

#!/bin/bash
outdir=${TMPDIR:-$HOME/tmp}
specfile=$(grep -o '\<[a-zA-Z][-_+a-zA-Z0-9]*\.spec\>' <<<"$@" \
           || { echo "No spec file" 1>&2; exit 1; } | tail -n 1)
log="$outdir/rpmbuild-$specfile-$$.log"
if rpmbuild "$@" &>"$log"; then
  sed 's/^Wrote: //;t;d' "$log"
  rm "$log"
else
  cat "$log" 1>&2
  echo Logfile: "$log"
fi

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

Novoroční prodej softwarových licencí pokračuje! Získejte od Goodoffer24 Windows 10 Pro za za € 9,68, Microsoft Office 2016 Pro za za € 22,25!
VDR a DVB-T2, část 1.
VDR a DVB-T2, část 2.

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

VDR a DVB-T2, část 1.
VDR a DVB-T2, část 2.
Distribuční novinky 1-3/2020
  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 - I (Úvod)
»—> Rukověť baliče RPM - III (Struktura spec souboru)
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 - 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 - IX (Sekce %files)
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í: 90 %

        š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ář

26.5.2005 06:49 nameless
Rozbalit Rozbalit vše tak něco jako omluva, možná
Vzhledem k tomu, že jsem se posledně dopustil mírného vulgarismu, rozhodl jsem se, že se donutím přečíst oba články série a celé. Tak ten první opravdu přečíst nesvedu, ale tenhle téměř oproštěný infantilních vtipů už jde, jakž takž. A navíc má tenhle oproti předchozímu dokonce nějakou informační hodnotu. Myslel jsem si, že tímhle seriálem trochu aktualizuju informace získané ze 7 let staré série v Linuxových novinách. Zatím sice nic, ale stále ještě doufám, protože naděje umírá poslední...
26.5.2005 08:40 tezkatlipoka | skóre: 35
Rozbalit Rozbalit vše Re: tak něco jako omluva, možná
to ja si clanek o RPM prectu rad, krom toho SPECialne tenhle dil mel jakousi podprahovou informaci po ktere touzim mit v PC uzivatele jmenem yeti :-)
Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
26.5.2005 17:18 Smazáno | skóre: 21 | blog: tezkorict
Rozbalit Rozbalit vše Re: tak něco jako omluva, možná
Ty ho tam ještě nemáš? Resp. ještě se ti tam nenasyslil? Já měl dojem, že už není na světě kompl, kde by už nebyl ;)
26.5.2005 11:03 Semo
Rozbalit Rozbalit vše Kostlivci ve skrini
Tak som pri hladani informacii o baleni debianich balikov narazil na nieco zaujimave. Ze by hriechy mladosti?

http://www.root.cz/clanky/debianizace-vlastnich-zdroju/nazory/28640/
26.5.2005 12:35 Sinny
Rozbalit Rozbalit vše Re: Kostlivci ve skrini
:-)
Jiří Svoboda avatar 27.5.2005 15:05 Jiří Svoboda | skóre: 37 | blog: cat /dev/mind | Prostějov
Rozbalit Rozbalit vše Re: Kostlivci ve skrini
Otazka je, jestli je to jen shoda nicku a nebo je to opravdu nas Yeti.
27.5.2005 18:53 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: Kostlivci ve skrini
Styl se Yetimu nápadně podobá ;-)
27.5.2005 08:48 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: tak něco jako omluva, možná
Autor slibuje, že infantilní vtipy neskončily, jen se mu jich do dalších dílů nezdařilo nacpat tolik co do prvního, který byl kecům vyhrazen. Pokud jde o obsah, tak ani v následujících dvou dílech se toho člověk, jenž už rpm balit umí, patrně mnoho nedozví.
27.5.2005 12:36 tezkatlipoka | skóre: 35
Rozbalit Rozbalit vše Re: tak něco jako omluva, možná
dekujeme Yetimu za jeho zavazek.
Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
27.5.2005 19:12 Rastislav Lentner
Rozbalit Rozbalit vše Re: tak něco jako omluva, možná
Ja mu ďakujem za članok. Proti gustu žiaden dišputát.

Založit nové vláknoNahoru

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