Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
V pořadí šestou knihou autora Martina Malého, která vychází v Edici CZ.NIC, správce české národní domény, je titul Kity, bity, neurony. Kniha s podtitulem Moderní technologie pro hobby elektroniku přináší ucelený pohled na svět současných technologií a jejich praktické využití v domácích elektronických projektech. Tento knižní průvodce je ideální pro každého, kdo se chce podívat na současné trendy v oblasti hobby elektroniky, od
… více »Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.12.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.4.0.
Kriminalisté z NCTEKK společně s českými i zahraničními kolegy objasnili mimořádně rozsáhlou trestnou činnost z oblasti kybernetické kriminality. V rámci operací OCTOPUS a CONNECT ukončili činnost čtyř call center na Ukrajině. V prvním případě se jednalo o podvodné investice, v případě druhém o podvodné telefonáty, při kterých se zločinci vydávali za policisty a pod legendou napadeného bankovního účtu okrádali své oběti o vysoké finanční částky.
Na lepší pokrytí mobilním signálem a dostupnější mobilní internet se mohou těšit cestující v Pendolinech, railjetech a InterPanterech Českých drah. Konsorcium firem ČD - Telematika a.s. a Kontron Transportation s.r.o. dokončilo instalaci 5G opakovačů mobilního signálu do jednotek Pendolino a InterPanter. Tento krok navazuje na zavedení této technologie v jednotkách Railjet z letošního jara.
U instalace dlouho nepobudeme. Není ničím neobvyklá, na stránce www.opensolaris.com/get/ si stáhnete livecd, které je zároveň instalačním. Můžete zvolit multijazyčnou verzi, nebo verzi jen s pár "základnímí" jazyky. Nijak to neovlivňuje, co se systémem můžete dělat po instalaci, rozdíl je jen v tom, že CD se všemi jazyky je komprimované, a instalace tak zabere víc času.
Nabootované livecd vám nabídne GNOME s instalačním programem a nástrojem pro kontrolu fungování ovladačů na ploše. Druhý jmenovaný sice nabízí i možnost instalace ovladače jedním tlačítkem, ale pokud ovladač není součástí livecd, pravděpodobně neexistuje, takže se hodí jen pro kontrolu kompatibility hardwaru. K instalačnímu programu také není mnoho co dodat, jen se zeptá na časovou zonu, jazyk, uživatelské jméno a heslo, disk, který chcete použít (ZFS se moc nechce používat cache disku, když ho nemá celý, takže doporučeno je použít celý disk). Systém používá schopnost ZFS vytvářet virtuální svazky, takže zvlášť oddíl na swap nebo crashdumpy není potřeba. O tom později. Jestli jste si jisti, pak zbývá jen čekat.
Po instalaci vás přivítá GRUB, grafický boot a nakonec GDM.
Systém privilegií, autorizací, profilů, oprávnění, rolí a uživatelů v (Open)Solarisu je docela složitý a nechci se jím tu zabývat moc do hloubky. Oproti "velkému" Solarisu tady roota jako uživatele nenajdete, stala se z něj role. Pokud toužíte po možnosti v systému něco měnit, můžete použít sudo, které bylo do OpenSolarisu přeportováno "aby usnadnilo přechod uživatelům Linuxu a nemátla je komplexnost systému práv" nebo použít "oficiální způsob": utilitu pfexec.
Jak to funguje? Zjednodušeně řečeno, v systému existují nějaká privilegia. Vznikla tak, že kdykoli někdo viděl v systému konstrukci "pokud je uživatel root, povol, jinak odmítni přístup", přepsal ji na "pokud má proces nějaké privilegium, povol, jinak odmítni přístup". Existují například privilegia pro práci s icmp, změnu vlastnictví souborů, Dtrace, zjišťování informací o procesech a tak dále. I na fork a exec jsou potřeba privilegia, ač ta základní jsou zahrnuta do skupiny basic, kterou mají k dispozici všichni uživatelé. Privilegia lze samozřejmě i odebírat a některé (ne všechny) součásti systému toho využívají, některé démony nesmí mít potomky a někdy ani sáhnout na jakýkoli soubor.
Jaká privilegia má proces, zjistíme pomocí utility ppriv. Kdo co smí je (v tomhle případě) definováno v /etc/user_attr. Dozvíte se tam, že váš instalační uživatel má normálně práva "basic" a když požádá o privilegia svého profilu, dostane profil Primary administrator, který smí dělat cokoli, a krom toho bude také systém předstírat, že má UID 0. Popisy profilů, práva na spouštění procesů a další lze najít v /etc/security a práva uživatelů lze samozřejmě měnit i v GUI nástroji na správu uživatelů (poflakuje se v menu System -> Administraion -> Users and Groups).
O spuštění něčeho v profilu můžeme požádat pomocí pfexec. Rootshell nejsnáze získáme pomocí pfexec bash, toužíme-li po bashi. Existují i pfsh a pfcsh, což jsou ekvivalenty k pfexec sh a pfexec csh, ale tyhle shelly vám asi nebudou připadat příliš pohodlné. pfbash neexistuje z licenčních důvodů.
Na závěr doplním, že na rozdíl od sudo pfexec nemění proměnné prostředí, pracovní adresář ani nic podobného, jen nastaví UID a privilegia. Takže pokud budete často používat privilegovaný bash, může se vám stát že polovina souborů ve vašem home bude vlastněna rootem.
Adresářová struktura OpenSolarisu se v detailech liší a abychom se vyhnuli typickému problému "kde je probohy xxx", trochu se na to podíváme. /bin, /root, /mnt, /etc, /sbin, /dev a /tmp asi nikoho nepřekvapí, fungují jako na většině linuxových distribucí (jen /tmp je ramdisk, pro použití, která vyžadují víc místa nebo mají přežít restart, je lepší /var/tmp). V /usr/bin se nachází jak obvyklé GNU nástroje, tak některé standardní nástroje ze Solarisu, které jinak převážně chybí. To spoustě lidí neudělalo radost (tedy, byl o tom flame v konferenci), ale vedení rozhodlo, že OpenSolaris se bude distribuovat s obojím, ale GNU nástroje budou přednastavené, a na návrh mít možnost vybrat si při instalaci nepřistoupilo, protože by to mátlo nové uživatele. Zpátky k adresářům, /usr/X (a taky /usr/X11 a /usr/X11R6) nabídne Xorg i s binárkami v /usr/X/bin. Rozhodně nemá smysl nechat se tím znepokojovat, balíčkovací systém klasické /usr/bin a /usr/sbin moc nepoužívá, takže adresáře jako /usr/php/5.2/bin nejsou ničím zvláštním. /var asi také moc nepřekvapí, jen /var/run je opět ramdisk a logy najdete krom /var/log i ve /var/adm.
Další adresáře už ale zvláštní budou. /devices je obdoba dnes již neexistujícího DevFS v Linuxu, tedy virtuální souborový systém se soubory reprezentujícími zařízení. /dev v OpenSolarisu je plný symlinků do /devices, ale systém se stará o to, aby se zařízení nepřekrývala. Tedy pokud přidám do počítače novou síťovou kartu, systém si zapamatuje její identifikační číslo a když ji potom vyměním za jinou, pojmenuje ji jinak, aby nedocházelo ke konfliktům. Resetovat tuhle paměť lze vytvořením souboru /reconfigure a rebootem systému.
O /home a /net se stará automounter, ale toho si v OpenSolarisu moc neužijete. Skutečné domovské adresáře uživatelů jsou v /export/home. Tohle rozdělení vzniklo proto, je možné mít domovské adresáře na serveru nasdílené pomocí NFS (proto /export) a připojené na pracovních stanicích a člověk může klidně měnit pracovní stanici a přitom mít svoje data k dispozici. Že tohle zůstalo zachováno Solarisu od Sunu, tvůrců NFS, asi nikoho nepřekvapí.
Adresář /system je další v kategorii virtuálních, obsahuje podadresáře object a contract. object nás moc zajímat nebude, obsahuje virtuálně moduly jádra, ale contract je zajímavější. Obsahuje seznam contractů, stejně jako /proc obsahuje seznam procesů. Co je contract? Contract je skupina procesů. Potomci procesu normálně patří do stejného contractu, ale lze vytvořit nový pomocí utility ctrun. U takového nového contractu jde nastavit, jak bude reagovat na ukončení vůdcovského procesu (skončí, ale potomci zůstanou, skončí, ale potomci jsou zabiti, jede dál, dokud neskončí všichni potomci), a nastavit, jestli má být contract po skončení restartován, případně kolikrát. Vytvořit službu, která se bude restartovat po pádu, pak nedá moc práce a OpenSolaris toho v rámci vlastních "initskriptů", tedy toho, co má místo initskriptů, hojně využívá.
Když jsem mluvil o adresářích, záměrně jsem minul /proc. Proč? Protože práce s procesy na (Open)Solarisu se od linuxové liší a zaslouží si vlastní odstavec, než někoho potká nepříjemné překvapení. (Open)Solarisový /proc obsahuje jen podadresáře pro každý proces, žádné /proc/partitions a podobné věci v něm nehledejte. Zjišťovat informace o procesech pomocí grepu a /proc není příliš pohodlné, takže jak na to jinak? Základní přehled vám může poskytnout top portovaný z Linuxu (htop se prý bohužel nechystá), ale podíváme se na nativnější nástroje.
První na řadě je nástroj prstat. Je podobný topu, ale umí toho víc, třeba zobrazit přehled pro jednotlivé uživatele (prstat -t), zóny (prstat -Z, o zónách ještě bude řeč v kapitole o virtualizaci) a různé kombinované přehledy. To LWPS, o kterém prstat mluví u každého procesu, je počet vláken (neboli odlehčených procesů). Krom prstatu je tu samořejmě i klasické ps.
Další dva nástroje jsou ptree a pgrep. ptree se podobá linuxovému pstree, ale je přizpůsobené Solarisu, takže s parametrem -c se s ním například dá prohlížet hierarchie contractů. pgrep funguje jako chytré ps | grep
pgrep -u jakub
a svůj nejnovější proces (což nebude moc užitečné, protože to velmi pravděpodobně bude sám pgrep)
pgrep -u jakub -n
Rozšířením pgrep je pkill, který funguje stejně, jen procesům místo vypsání pošle signál. Dá se použít stejně jako killall na Linuxu, ale třeba i k zabíjení všech procesů některého uživatele. Ale (Open)Solaris už má killall, co ten dělá? Skutečně zabije všechny procesy, přesněji všechny procesy s otevřenými soubory. Používá se při vypínání systému, aby mohly být odpojeny souborové systémy. Zkráceně řečeno, nespouštějte ho.
Příště se připravte na sítě, balíčkovací systém a ZFS.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Co se tyce ZFS a zapisove cache disku, tak je skutecne lepsi dat ZFS cely disk, ale v pripade root partitiony to nejde, protoze PC BIOS by to nedokazal nabootovat. Takze se vytvori klasicka Solarisi partitiona v ni slice a v tom pak ZFS volume. Dokud nebudou umet biosy bootovat z disku s EFI, tak to jinak asi nepujde.
To ja vim, ale tady jde o to jak je vytvoren ZFS volume. Pokud udelam "zpool create ..." a dam mu cely disk, tak ZFS udela EFI label na tom disku, misto klasicke partitiony a pak ho dokaze vyuzit optimalne. Pokud se jedna o root filesystem, z ktereho se bootuje, tak kvuli BIOSu, ktery umi pracovat jen se starou partition table, se musi ten ZFS volume udelat v Solarisi slice. Takze pak ZFS nema cely disk, ale jen jeho cast. A pak se s takto vytvorenou casti zachazi jinak.
To samozřejmě ano, ale Zdeněk poukazuje na něco jiného. U ZFS se doporučuje přidávat do poolu celý disk (to znamená, že na disku není ani partition table, ale celý disk od prvního do posledního sektoru využívá ZFS). Má to několik výhod (možnost bezpečné aktivace write cache disku, efektivnější plánování IO operací, apod.)
Pro root pool to ale není možné použít, protože klasický BIOS neumí z takového disku nabootovat. Proto se to řeší tak, že se na disku vytvoří klasická partition table s MBR, v ní Solaris partition, a teprve v ní se vytvoří slice pro ZFS. Až bude každý BIOS podporovat EFI, pak to nebude nutné a i u root poolu bude možné vynechat partition table a ZFS obsadí celý disk.
Že je řeč o x86 vyplývá minimálně z toho, že Zdeněk mluví o PC BIOSu, který na sparcu určitě není
.
Jenom drobné upřesnění - obvyklé GNU nástroje se nenacházejí v /usr/bin, ale v /usr/gnu/bin. V /usr/bin jsou tradiční nástroje Solarisu (vycházející z původních System V R4 nástrojů). Rozdíl oproti Solarisu však spočívá v tom, že standardní PATH je přednastavená jako
/usr/gnu/bin:/usr/bin:/usr/X11/bin
takže pokud zavoláme nějaký příkaz, nejdříve se hledá mezi GNU nástroji. Pokud někdo preferuje tradiční nástroje ze Solarisu, prostě si upraví svoji PATH.
1) co ma nekolizni nazev, jde do /usr/bin
2) GNU tooly s koliznim nazvem jdou do /usr/gnu/bin a pokud to ma smysl (treba u sedu), tak v /usr/bin je hardlink s prefixem
Viz PSARC 2007/047. Jinak, co se tyce cest, viz man standards. Btw. pro ty, kteri chteji pracovat napriklad se ZFS ACLky, GNU tooly jsou na nic a meli by si nastavit cestu nejlepe podle SUSv3.
Takže už to instaluju do VMWare serveru
$ tail -1 /etc/auto_home
* localhost:/export/home/&
Netusim, proc v ramci boje za priblizeni Linuxovym distribucim tohle nebylo nastaveno. Jinak opet velice pekny clanek (heh, process kontrakty jsem nikdy dosud nepotkal, diky).Po většině uvedených featur v Linuxu nijak netoužím, ale ty možnosti nastavení práv by se mi líbily. Svého času existovalo v jádře něco zvaného capability, což snad mělo fungovat podobně. Netušíte někdo, jak to bylo, a co se s tím stalo?
Hmmmm,jenze SELinux architektura je implementovana do Solarisu,stejne jako do FreeBSD a Darwinu
http://www.nsa.gov/research/selinux/index.shtml
Od jadra 2.6.25 jsou capabilities jiz pouzitelne, ale distribuce s nimi zatim moc nepocitaji (alespon v Debianu to neni jeste dotazene). Docela obsahla je manualova stranka capabilities(7).
Michal
Fedora-10 (ale musite manualne, neni to default, je jen podpora v jadru):
# chmod u-s /bin/ping
# setcap cap_net_raw=ep /bin/ping
$ ls -la /bin/ping
-rwxr-xr-x 1 root root 41784 2008-09-26 08:02 /bin/ping
$ ping www.google.com
PING www.l.google.com (74.125.43.103) 56(84) bytes of data.
64 bytes from bw-in-f103.google.com (74.125.43.103): icmp_seq=1 ttl=242 time=77.1 ms
(ale pouzivate-li SELinux tak todle resit nemusite...)
Jen pro upresneni cele se to jmenuje v (Open)Solarisu RBAC = Role Based Access Control. White paper zde: www.sun.com/software/whitepapers/wp-rbac/wp-rbac.pdf