Ondsel, tj. vylepšený FreeCAD, po dvou letech skončil. Cílem Ondselu bylo vylepšit UX/UI FreeCADu a nabízet jej komerčně. Od začátku věděli, že konkurovat komerčním CADům bude těžké. Bylo to ale těžší, než si mysleli. Proprietární CADy se vyučují na školách a jsou hluboce zakořeněny v průmyslu. Většina vylepšení od Ondselu se dostane do FreeCADu.
Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.1.0. Přehled novinek v poznámkách k vydání.
Aplikace LocalSend, tj. multiplatformní open source alternativa k AirDropu, tj. bezpečné sdílení souborů a zpráv s okolními zařízeními přes lokální síť, bez potřeby připojení k internetu, byla vydána ve verzi 1.16, aktuálně 1.16.1. Instalovat lze také z Flathubu a Snapcraftu.
Nejnovější publikace v knižní edici správce české národní domény nese název ESP32 prakticky a jejím autorem je Martin Malý. Kniha je průvodcem ve světě výkonných a velmi bohatě vybavených mikrokontrolérů společnosti Espressif. V knize se naučíte, jak využít tento čip pro různé projekty, od základního nastavení a programování ESP32 v Arduino IDE, přes připojení k Wi-Fi a Bluetooth, až po pokročilé techniky, jako je realtime operační systém FreeRTOS, příjem signálu z družic nebo programování v ESP-IDF.
Byl představen nový oficiální 7palcový Raspberry Pi Touch Display 2. Rozlišení 720 × 1280 pixelů. Cena 60 dolarů.
Na čem aktuálně pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za říjen (YouTube).
Byla vydána verze 0.4.0 v Rustu napsaného frameworku Pingora pro vytváření rychlých, spolehlivých a programovatelných síťových systémů. Z novinek lze vypíchnout počáteční podporu Rustls, tj. implementaci TLS v Rustu. Společnost Cloudflare uvolnila framework Pingora letos v únoru pod licencí Apache 2.0.
Byla vydána první pre-release verze desktopového prostředí Xfce (Wikipedie). Vydání ostré verze je plánováno na 15. prosince. Současně byla vyhlášena soutěž o výchozí wallpaper pro Xfce 4.20. Uzávěrka přihlášek je 15. listopadu.
Přímý přenos z konference OpenAlt 2024, jež probíhá tento víkend v prostorách FIT VUT v Brně. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.
V Coloradu unikla hesla k volebním počítačům. Více než 2 měsíce byla tabulka se stovkami hesel do BIOSu volně na webových stránkách. Dle úřadu je potřeba ještě druhé heslo, takže se o žádnou bezprostřední bezpečnostní hrozbu pro volby nejedná [Ars Technica].
O Solarisu jste už určitě slyšeli, je to UNIX z dílny SUN Microsystems a funguje na platformě SPARC a x86/x86_64. Spolu s novou verzí tohoto operačního systému (verze 10, vyšla oficiálně na začátku 2005) nám firma SUN Microsystems připravila i některá zajímavá vylepšení jako je nástroj dtrace, SMF nebo třeba podpora pro zóny. Tento článek je právě o konfiguraci a používání zón v Solarisu 10 případně OpenSolarisu.
Máme dva druhy zón. Globální zóna může být pouze jedna a je to vlastní bežící operační systém. Dále máme lokální zóny (non-global zone), kterých je možné v globální zóně provozovat až 8192. Počet lokálních zón je limitován použitým hardwarem. Minimální nároky na jednu lokální zónu jsou 40MiB RAM a 320MiB volného prostoru na pevném disku. Každá zóna má oddělený systém uživatelských účtů (samostatný /etc/passwd
a pod.), samostatný souborový systém, vlastní nastavení sítě a přidělené systémové prostředky. Lokální zóna je vlastně takový virtuální počítač, lze ji zapnout, vypnout, restartovat a překonfigurovat nezávisle na dalších zónách.
Instalaci popisovanou v článku jsem prováděl na počítači Ultra 10 s procesorem UltraSPARC IIi 440MHz a 384 MiB RAM. Solaris pro x86 podporuje zóny úplně stejně jako varianta pro SPARC, takže si to můžete zkusit i sami na svém počítači. Pokud nechcete instalovat Solaris přímo na pevný disk, lze použít například virtuální stroj VMWare, ale doporučuji nějakou poslední verzi. Pro VMWare je dostupná zkušební licence na 30 dní. Pro Solaris doporučuji minimálně 256MiB RAM, ale pokud můžete, dejte mu víc, zvlášť v grafickém prostředí je to znát.
Informace o použitém operačním systému:
root@draslik:~# uname -a SunOS draslik 5.10 Generic_118822-02 sun4u sparc SUNW,Ultra-5_10
Informace o nastavení sítě systému, ve kterém budeme vytvářet zónu.
root@draslik:~# ifconfig -a lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.0.14 netmask ffffff00 broadcast 192.168.0.255 ether 8:0:20:c6:8e:9f
Vytvoříme si adresář /zones
, do kterého budeme zóny umísťovat. V adresáři /zones
je třeba zajistit dostatek místa, zónu lze udělat třeba 500MiB velikou nebo může mít také několik GiB.
Ověříme, v jakém stavu jsou zóny v systému, všechny si vypíšeme:
root@draslik:~# zoneadm list -vc ID NAME STATUS PATH 0 global running /
Jak je vidět z výpisu, v systému existuje jen jedna globální zóna a to vlastní operační systém.
Zóna, kterou si tu vytvoříme jako vzorovou, se jmenuje appserv (poběží v ní aplikační server). K nastavení parametrů zóny slouží program zonecfg
.
Příkaz create -b
slouží k vytvoření čisté konfigurace bez předvoleb. Pokud nepoužijete parametr -b
, tak se vytvoří zóna, kde budou některé adresáře sdílené s hlavním OS. Zónu umístíme do adresáře /zones/appserv/
a nastavíme autoboot.
Další krok je přiřazení síťového rozhraní. Na mém počítači se síťovka jmenuje hme0. Na x86 počítači to bude pravděpodobně pcn0, přesný název zjistíte z výpisu ifconfig -a. Zóna může síťové rozhraní sdílet s nějakou jinou zónou nebo ho může mít pouze pro sebe.
Rozhodl jsem se, že adresáře /opt/sfw
a /platform
můžu v zóně appserv sdílet s globální zónou. V zóně appserv jsou sdílené adresáře přístupné pouze pro čtení.
Nakonec zkontrolujeme parametry zóny, uložíme a ještě si vypíšeme celou konfiguraci. Stiskem ctrl-d
ukončíme práci.
Pokud potřebujete založit více zón, je možné sepsat všechny příkazy do souborů a ty pak zpracovat například ve skriptu pomocí zoneadm -f soubor-s-prikazy
.
root@draslik:~# zonecfg -z appserv zonecfg:appserv> create -b zonecfg:appserv> set zonepath=/zones/appserv zonecfg:appserv> set autoboot=true zonecfg:appserv> add net zonecfg:appserv:net> set address=192.168.0.100 zonecfg:appserv:net> set physical=hme0 zonecfg:appserv:net> end zonecfg:appserv> add inherit-pkg-dir zonecfg:appserv:inherit-pkg-dir> set dir=/opt/sfw zonecfg:appserv:inherit-pkg-dir> end zonecfg:appserv> add inherit-pkg-dir zonecfg:appserv:inherit-pkg-dir> set dir=/platform zonecfg:appserv:inherit-pkg-dir> end zonecfg:appserv> verify zonecfg:appserv> commit zonecfg:appserv> info zonepath: /zones/appserv autoboot: true pool: inherit-pkg-dir: dir: /opt/sfw inherit-pkg-dir: dir: /platform net: address: 192.168.0.100 physical: hme0 zonecfg:appserv> ^d
Zóna je nakonfigurovaná a připravená k instalaci:
root@draslik:~# zoneadm list -vc ID NAME STATUS PATH 0 global running / - appserv configured /zones/appserv
Provedeme instalaci zóny, v závislosti na nastavení a rychlosti počítače to může trvat až půl hodiny.
root@draslik:~# zoneadm -z appserv install
Programem zoneadm můžete zónu také odinstalovat (uninstall), restartovat (reboot) nebo třeba nabootovat (boot)
Zónu po nainstalování poprvé nastartujeme.
root@draslik:~# zoneadm -z appserv boot
První připojení do zóny slouží k jejímu nastavení, nastavuje se typ terminálu, časová zóna a heslo roota zóny. Nastavením vás provede sada textových dialogů. Pro připojení do lokální zóny z globální se používá program zlogin s parametrem -C
v interaktivním režimu pro práci na konzoli.
zlogin -C appserv
"Proklikáme" se přes základní nastavovací dialogy, přihlásíme se do zóny a vytvoříme si uživatele, abychom se mohli připojit přes ssh (nebo si povolíme přihlášení roota v konfiguraci ssh).
Pokud se k zóně přihlásíte klasickým způsobem přes zlogin, tak ve výchozí konfiguraci se z zloginu dostanete pomocí kombinace kláves ~. (vlnovka a tečka), v případě, že jste přihlášeni na server přes ssh, je třeba zmáčknout ~ dvakrát, první stisk totiž odchytí ssh.
root@draslik:~# zlogin -C appserv [Connected to zone 'appserv' console] appserv console login: ~. [Connection to zone 'appserv' console closed]
Také si vlnovku můžete přemapovat třeba na zavináč pomocí parametru -e
.
zlogin -C -e\@ appserv
Zlogin umí pracovat i v neinteraktivním režimu, například se tak dá velmi jednoduše zóna korektně vypnout.
zlogin appserv shutdown -y -i0 -g0
Z globální zóny můžete získat informace o procesech v jednotlivých lokálních zónách. Pro výpis všech procesů v počítači a také pro informace o celkové spotřebě paměti a procesorového času jednotlivých zón lze použít příkaz
prstat -Z
Samozřejmě si můžete vypsat pouze procesy konkrétní zóny pomocí příkazu ps -fz nazev-zony
případně použít prstaz -z nazev-zony
. Do jednotlivých zón je možné vstoupit i na úrovni filesystému z globální zóny; stačí, když se podíváte do adresáře /zones/nazev_zony/root/
.
Pro porovnání s normálním stavem ukážu, jak vypadá konfigurace sítě v zóně global při nabootované zóně:
root@draslik:~# ifconfig -a lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 lo0:1: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 zone appserv inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.0.14 netmask ffffff00 broadcast 192.168.0.255 ether 8:0:20:c6:8e:9f hme0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 zone appserv inet 192.168.0.100 netmask ffffff00 broadcast 192.168.0.255
takto vypadá to samé nastavení při pohledu z lokální zóny appserv:
bash-3.00# ifconfig -a lo0:1: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.0.100 netmask ffffff00 broadcast 192.168.0.255
Na testovacím počítači jsem neměl dostatek místa na disku, tak jsem se rozhodl umístit zónu na NFS. Má to některé výhody. Použitá Ultra 10 je relativně pomalý počítač ohledně přístupu k disku (je v ní ATA33 disk), a tak 100Mbps síť bude docela dobrou náhradou za tento disk.
Zóny zatím nejde umístit přímo na NFS, zóna se odmítne nainstalovat. Proto jsem použil jednoduchou fintu.
NFS jsem namountoval do adresáře /.zones/
.
Vytvořil jsem si pomocí programu dd na NFS serveru 10GiB soubor.
dd if=/dev/null of=/.zones/zony.img bs=1k count=1 seek=10485760
Na tomto souboru jsem vyrobil souborový systém.
newfs /.zones/zony.img
a tento soubor jsem namountoval do adresáře /zones/
.
mount `lofiadm -a /.zones/zony.img` /zones
Výpis připojeného souboru:
root@draslik:/# df -h /.zones /zones Filesystem size used avail capacity Mounted on tsunami:/export/hosts/draslik 10.0G 4.3G 5.7G 43% /.zones /dev/lofi/1 9.8G 3.0G 6.7G 31% /zones
Potom je možné normálně nainstalovat zónu a přitom ji mít na NFS.
Škoda, že zóny nejdou používat i v Linuxu. Myslím, že chroot je docela dobrá věc, ale bohužel není tak propracovaný jako systém zón na Solarisu. User Mode Linux je zase složitější na správu a také má větší HW nároky, na druhou stranu je UML samostatně běžící jádro pod neprivilegovaným uživatelem a to zóny v Solarisu neumožňují.
Systém zón a jejich snadná správa je ideální pro vývojáře. Různé vývojářské týmy mohou efektivně sdílet jeden server, aniž by se navzájem ovlivňovaly. Zóny také umožňují lepší zabezpečení systémů, kde na jednom serveru běží více služeb a potřebujete je nějak navzájem izolovat.
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
Rád bych upozornil na projekt Linux VServer, který (pokud mi nic neuniklo) umožňuje vše výše popsané. Jedná se o patch do jádra + user-space utilitky. Rychlý přehled, jak se s tím zachází můžete získat např. na gentoo.org
Osobně vservery provozuji právě na gentoo na domácím serveru/routeru a v praxi to funguje výborně.
cela tato diskuse neobsahuje zakladni predpoklad - cil a ucel pro nasazeni zon.Velmi vhodne je nasadit zony napriklad pri vyvoji, kdy lze snadno a rychle na jedinem HW ziskat oddelena vyvojova prostredi. Kazdy vyvojar (nabo tym vyvojaru) dostane vlastni zonu k praci aniz by mel moznost ponicit ostatni zony.
zona, stejne jako jail nebo user-mode-linux je prilis overkill na lepsi chrootovani daemonu... k tomu nepotrebuji XYZ mb..., ale stejne jako v chrootu nakopiruji prislusne soubory. a umi solaris manualni vytvareni zon? na fbsd si udelam jail, nebo skript na urcity jail, pro urciteho daemona, nebo pouziji nullfs/unionfs.chroot lze vyuzit i v Solarisu, tam omezeni neni. Konfigurace (lokalni) zony je ulozena v xml souborech. V globalni zone jsou vyditelne FS vsech lokalnich zon, takze lze velmi snadno vytvaret zony s konkretnim nastavenim i konfiguraci, pripadne menit, migrovat pomoci jednoduchych prikazu ci skriptu.
v pripada virtual serveru jsou zone/jail ok. ale tipuji, ze v solarisu, stejne jako ve freebsd, neni mozne mountovat v zone/jailu, takze je to v urcitych situacich naprd... napr. primountovavani homu pri loginu atd. (sifrovanej home)V (lokalni) zone mountovani neni omezeno, samozrejme je dostupny fs jen te konkretni zony, pripadne sitovy FS pres NFS apod.