Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).
Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.
Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.
Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.
Vláda dne 16. července 2025 schválila návrh nového jednotného vizuálního stylu státní správy. Vytvořilo jej na základě veřejné soutěže studio Najbrt. Náklady na přípravu návrhu a metodiky činily tři miliony korun. Modernizovaný dvouocasý lev vychází z malého státního znaku. Vizuální styl doprovází originální písmo Czechia Sans.
Vyhledávač DuckDuckGo je podle webu DownDetector od 2:15 SELČ nedostupný. Opět fungovat začal na několik minut zhruba v 15:15. Další služby nesouvisející přímo s vyhledáváním, jako mapy a AI asistent jsou dostupné. Pro některé dotazy během výpadku stále funguje zobrazování například textu z Wikipedie.
Více než 600 aplikací postavených na PHP frameworku Laravel je zranitelných vůči vzdálenému spuštění libovolného kódu. Útočníci mohou zneužít veřejně uniklé konfigurační klíče APP_KEY (např. z GitHubu). Z více než 260 000 APP_KEY získaných z GitHubu bylo ověřeno, že přes 600 aplikací je zranitelných. Zhruba 63 % úniků pochází z .env souborů, které často obsahují i další citlivé údaje (např. přístupové údaje k databázím nebo cloudovým službám).
Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.
Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.
3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.
Pozn. autora: Tristní situace okolo dokumentace OBS se během psaní tohoto článku změnila. Proto může následující text p.t. čtenáři připadat jako sprosté opisování, ale není tomu tak. Jednalo se o poměrně otravnou práci, kdy jsem otravoval tvůrce OBS dotazy a dělal vlastní pokusy. Alespoň některé výsledky jsou na výše zmíněném portále vidět.
Proč bychom chtěli stavět svou vlastní instanci OBS? Vždyť přece existuje běžící build.opensuse.org? Důvody mohou být různé. Autor měl motivaci následující:
Potřeboval sestavovat balíky závislé na proprietárním software, který součástí oficiální OBS být nemůže.
Potřeboval sestavovat proprietární software pro mnoho distribucí a nerad by se zbláznil z virtuálních strojů.
Jakožto tvůrce balíků se necítí nejsilnější a při přípravě spec souborů dělá chyby. V oficiální OBS musel často čekat minuty i hodiny, než se dostane na řadu, zabral si cenné systémové prostředky, a pak sledoval, jak build padá s chybou na třetím řádku spec souboru.
Buildservice je služba složená z několika částí. Stručný popis práce je zhruba následující.
Dispatcher (volaný klientem nebo interní notifikací) spustí worker. Worker stahuje binární balíky z repserveru, zdrojové kódy ze srcserveru a výsledné balíčky posílá zpět repserveru. Repserver může předat balíčky k podpisu signeru, pak je zařadí do lokálního repozitáře a informuje publisher, že může balíky publikovat do veřejného download repozitáře.
osc
, ale také různé GUI programy nebo např. Android aplikace.Autory OBS doporučováno jako nejsnadnější cesta instalace. Appliance je v podstatě image disku, který může uživatel nakopírovat na zvolené médium. Jednotlivé části OBS se samy nakonfigurují. Kompilované balíky jsou pak ukládány na předdefinovaný disk.
Appliance by se měly snadno aktualizovat. Na druhou stranu použití appliance může představovat bezpečnostní riziko, protože implicitně otvírá své porty celé okolní síťi.
Občas se objeví jako výsledek dobrovolnické práce. Obsahuje všechny komponenty OBS, většinou starší verze, a je nakonfigurována pouze na lokální použití – tj. žádné DNS, žádný přístup na virtualizovaného hosta (guest) z okolní sítě.
Funguje ale automaticky, bez nutnosti jakékoliv konfigurace. I proto je to ideální způsob, jak si OBS vyzkoušet. Také řeší motivační bod č. 3 – odladit balík před finálním sestavením na oficiální OBS.
Je jedno, jestli se jedná o instalaci přímo na server/desktop nebo o instalaci do virtuálního stroje (zde by autor doporučil k rychlé a hrubé instalaci SuseStudio).
Samotná instalace je popsána v souboru README.SETUP
(/usr/share/doc/packages/obs-api/
). V následujícím textu uvedu doplňky chybějícího, popř. ozřejmím nejasnosti.
Po standardní instalaci jsou služby nastaveny s lokálními IP adresami:
Služba | Adresa |
---|---|
WebUI | http://127.0.42.1 |
API | http://127.0.42.2 |
Download | nenastaveno, nebo v případě appliance/image http://localhost |
Pokud chceme OBS zpřístupnit i do lokální nebo veřejné sítě, je třeba výše uvedené adresy změnit.
Zvolená doménová jména (DNS už nastaveno) se změní v konfiguraci virtuálních serverů použitého web serveru. V případě Lighttpd v souboru /etc/lighttpd/vhosts.d/obs.conf
.
Příklad:
$HTTP["host"] =~ "build.yarpen.cz\.?" { rails_app = "webui" rails_root = "/srv/www/obs/webui" rails_procs = 5 # production/development are typical values here rails_mode = "production" log_root = "/srv/www/obs/webui/log" include "vhosts.d/rails.inc" } $HTTP["host"] =~ "api.yarpen.cz\.?" { rails_app = "api" rails_root = "/srv/www/obs/api" rails_procs = 5 # production/development are typical values here rails_mode = "production" log_root = "/srv/www/obs/api/log" include "vhosts.d/rails.inc" } $HTTP["host"] =~ "download.yarpen.cz\.?" { server.name = "download.yarpen.cz" server.document-root = "/srv/obs/repos/TOra/" dir-listing.activate = "enable" # … a dalsi vlastnosti vypisu adresaru }
Dále je třeba změnit hodnotu proměnné FRONTEND_HOST
v souboru /srv/www/obs/webui/config/environments/production.rb
tak, aby obsahovala URL OBS API.
Přestože obs signer běží a tváří se spokojeně, výsledné balíky nejsou podepsané. Pokusíme se to tedy změnit:
Ruční editací nastavíme cestu k sign binárce v souboru /usr/lib/obs/server/BSConfig.pm
odkomentovat řádek:
our $sign = '/usr/bin/sign'
do konfiguračního souboru /etc/sign.conf
doplníme:
user: build@suprdomena.com allow: 127.0.0.1 phrases: /root/.phrases
Hodnota user je identifikátor GPG klíče, který buď již existuje, nebo si jej vytvoříme (gpg --gen-key
)
Vytvoříme adresář /root/.phrases
# mkdir /root.phrases
A v něm do souboru se jménem build@suprdomena.com
(user v /etc/sign.conf
)
# echo tajneheslo > /root/.phrases/build@suprdomena.com
Dále se ujistíme, že je v souboru /root/.gnupg/options
uvedena volba force-v3-sigs. Pokud soubor neexistuje, tak jej vytvoříme.
# echo force-v3-sigs > /root/.gnupg/options
Nyní je čas testu.
# rcobssignd start # cd /nejaky/adresar/s/rpm # sign nejaky-balik-ktery-zkusim-podepsat.rpm
Jestliže se balík podařilo podepsat bez chyby, stačí zrestartovat OBS služby a znovu sestavit již existující balíky. V logu (/srv/obs/logs) se začnou objevovat záznamy o úspěšném podepisování.
Nejprve je třeba nastavit OBS tak, aby daný SW dokázala nalézt a použít. Pokud není použitý SW k dispozici v podobě balíků, musíme z něj balíček vytvořit a následně jej naimportovat do vlastního OBS projektu. V následujícm textu dále předpokládejme, že budeme používat Oracle Instant Client, který je v dispozici v podobě RPM balíčků.
Vytvořme nový OBS projekt, který bude sloužit jako veřejnosti neviditelný repozitář OBS. Potom vytvořme adresářovou strukturu, která se do OBS snadno naimportuje. Buď ve webovém rozhraní, nebo pomocí osc:
$ osc -A $API meta prj Oracle:InstantClient:11.2 -F – <<XML
<project name="Oracle:InstantClient:11.2">
<title>Oracle Instant Client 11.2</title>
<description>InstantClient from Oracle OTN.</description>
<person role="maintainer" userid="pvanek"/>
<person role="bugowner" userid="pvanek"/>
<build>
<enable/>
</build>
<publish>
<disable/>
</publish>
<debuginfo>
<disable/>
</debuginfo>
<repository name="standard">
<arch>x86_64</arch>
<arch>i586</arch>
</repository>
</project>
XML
Všimněte si zejména vypnutého parametru publish. Licence nejspíše neumožňuje proprietární balíky redistribuovat, takže si je koncový uživatel bude muset nainstalovat sám.
V nově vzniklém projektovém adresáři na OBS serveru /srv/obs/build/Oracle\:InstantClient\:11.2/standard/
nyní připravíme repozitářovou strukturu:
$ cd /srv/obs/build/Oracle\:InstantClient\:11.2/standard/ $ mkdir i586 x86_64 $ mkdir i586/:full x86_64/:full $ find $ora_rpm_dir -name *i386.rpm | xargs -I@ ln @ i586/:full $ find $ora_rpm_dir -name *x86_64.rpm | xargs -I@ ln @ x86_64/:full $ /usr/lib/obs/server/bs_admin --rescan-repository Oracle:InstantClient:11.2 standard i586 $ /usr/lib/obs/server/bs_admin --rescan-repository Oracle:InstantClient:11.2 standard x86_64 $ chown -R obsrun:obsrun /srv/obs/build/Oracle:InstantClient:11.2
Krok volitelný – dá se nahradit specifikací ve spec souboru. Aby nově sestavované balíky rovnou nacházely požadované závislosti, upravíme konfiguraci projektu, který bude Oracle klienta používat:
$ osc meta prjconf -e mujprojekt
Required: oracle-instantclient11.2-basic
Required: oracle-instantclient11.2-devel
Nyní musíme cílový projekt donutit, aby bral náš Oracle repozitář na vědomí:
$ osc meta prj -e mujprojekt <project name="mujprojekt"> <title>Lorem ipsum…</title> <description></description> <person role="maintainer" userid="pvanek"/> <person role="bugowner" userid="pvanek"/> <repository name="openSUSE_11.2"> <path project="openSUSE.org:openSUSE:11.2" repository="standard"/> <!-- nasledujici radek "prida" oracle repo do hlavniho repozitare distribuce --> <path project="Oracle:InstantClient:11.2" repository="standard"/> <arch>x86_64</arch> <arch>i586</arch> </repository> </project>
A kocháme se výsledky.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: