Portál AbcLinuxu, 2. května 2025 12:05
Závěrečná část malého průvodce zprovozněním nejnovější verze NetBSD se věnuje instalaci programů pomocí balíčkovacího systému pkgsrc a úpravě pracovního prostředí (shell, lokalizace, konfigurace grafického prostředí).
K instalaci programů v operačním systému NetBSD slouží balíčkovací
systém pkgsrc
, který se automaticky stará o potřebné
závislosti na knihovnách a modulech, jakož i o konsistentní umístění všech
instalovaných souborů do adresářového stromu.
Na výběr jsou dva způsoby instalace nových programů: buď kompilace ze
zdrojových kódů nebo instalace binárního předkompilovaného balíčku. V obou
případech vám ji pkgsrc
maximálně usnadní. Protože cílem
tohoto článku není suplovat manuál k operačnímu systému, zmíním pro
představu jen dva nejrychlejší postupy a pro další parametry a schopnosti
pkgsrc
odkazuji na podrobnou dokumentaci.
Předkompilované binární balíčky nabízejí FTP repozitáře NetBSD v
adresáři /pub/NetBSD/packages
, rozdělené podle příslušných
platforem a verzí. Ve výchozí instalaci NetBSD je tento způsob instalace
(pomocí pkgtools
) okamžitě připraven, a tak nezbývá než jej
vyzkoušet. Oblíbený souborový manažer mc
(Midnight Commander)
nainstalujeme včetně požadovaných závislostí jednoduchým povelem (parametr
v
je tam jen proto, abyste viděli nějakou akci):
pkg_add -v ftp://ftp.NetBSD.org/pub/NetBSD/packages/
2.0/i386/All/mc
Můžete také samozřejmě nejprve definovat alternativní cesty k požadovaným balíčkům (máte-li např. CD-ROM s balíčky nebo jste si požadované balíčky stáhli předem):
PKG_PATH="/cdrom;/usr/pkgsrc/packages/All;ftp://ftp.NetBSD.org/pub/NetBSD/
packages/2.0/i386/All"
export PKG_PATH
pkg_add mc
(Pokud jste zvolili při instalaci výchozí shell /bin/csh
namísto /bin/sh
, tak vězte, že vám příkaz export
fungovat nebude, ekvivalentem je setenv
PKG_PATH url_to_packages
. Jak změnit shell na známý a oblíbený
bash
, si povíme za chvíli.)
Instalace předkompilovaných balíčků je ten nejrychlejší způsob, ačkoliv se občas může stát, že hned nenajdete všechna nejnovější vydání programů, nebo že balíčky kompilované pro NetBSD 2.0 nebudou zcela kompatibilní s NetBSD 2.1., nebo že vůbec potřebujete kompilaci se zvláštními parametry.
Nejpozději tehdy přijde na řadu vlastní kompilace balíčků ze zdrojových
kódů, která však po vás díky pkgsrc
nežádá žádné zvláštní
schopnosti - pouze něco strojového času a výkonu vašeho počítače.
Seznam zdrojových kódů balíčků (package collection) není ve
výchozí instalaci NetBSD, protože se jeho obsah velmi rychle aktualizuje a
tak jako tak by bylo třeba provést update. Je několik možností, jak seznam
zdrojových kódů balíčků NetBSD získat, tou nejrychlejší je ručně stáhnout
aktuální soubor pkgsrc.tar.gz
(asi 25 MB) z ftp://ftp.
NetBSD.org/pub/NetBSD/NetBSD-current/tar_files/ a rozbalit jej do
adresáře /usr
(příkazem:
tar -xzvpf pkgsrc.tar.gz -C /usr
).
Nezapomeňte předtím odstranit případný starší kompletní adresář
/usr/pkgsrc
! Také si pravděpodobně budete chtít zachovat již
stažené zdrojové kódy, které se ve výchozím nastavení ukládají do adresáře
/usr/pkgsrc/distfiles
- vůbec nejlepší je vytvořit pro tyto
stažené zdrojové kódy vlastní adresář mimo /usr/pkgsrc
a
přidat do konfiguračního souboru /etc/mk.conf
řádku:
DISTDIR=/usr/muj_adresar
. Seznamy zdrojových kódů balíčků se
obnovují asi jednou týdně.
Další postup už je jednoduchý: vstoupit do adresáře aplikace, kterou si
přejeme zkompilovat a nainstalovat, a pomocí příkazů make
a
make install
tak učinit:
cd /usr/pkgsrc/wm/fluxbox
make
make install
Pak už zbývá jen počkat: pkgsrc
si stáhne, zkompiluje a
nainstaluje také všechny potřebné závislosti.
V NetBSD se potkáte s jiným výchozím shellem (tj. programem, s jehož pomocí uživatel
se systémem komunikuje), než na jaký jsou uživatelé Linuxu zvyklí. Na výběr
jsou sh
, csh
nebo ksh
, jejichž
ovládání se od důvěrně známého bash
poněkud liší. Běžný
uživatel patrně nedokáže specifické vlastnosti a výhody jednotlivých shellů
ani posoudit ani využít, proto patrně budete chtít pracovat raději také s
bash
. Nic není nemožné, pouze je třeba jedním z právě
popsaných způsobů bash
nainstalovat:
pkg_add -v bash
Změnu shellu provedeme pro každého jednotlivého uživatele povelem change shell:
chsh -s /usr/pkg/bin/bash
Je třeba důrazně varovat zejména začátečníky před změnou shellu přímo v
databázovém informačním souboru uživatele root
, který otevřete
povelem chsh
(bez parametru): pokud uvedete neplatný
shell (např. napíšete špatně cestu), při příštím přihlášení budete
odmítnuti a do konta root už se nedostanete. Shell je zkrátka program,
který zprostředkovává komunikaci s operačním systémem, a když nefunguje
správně, nezbývá než náprava pomocí rescue CD a chroot
.
Lokalizaci do češtiny můžete provést podobně jako v Linuxu definicí
proměnné LANG
v souboru /etc/profile
. Zjistil
jsem, že k fungování tzv. mrtvých kláves (chcete-li napsat např. Š nebo ť)
je docela dobré přidat tamtéž aspoň řádek
export LC_CTYPE="cs_CZ.ISO8859-2"
i když jinak dáváte přednost původnímu nastavení prostředí.
Konfigurace grafického prostředí se v NetBSD prakticky neliší od
konfigurace v běžné linuxové distribuci, proto jen stručně: pokud jste
neměnili výchozí nastavení instalátoru a nechali tedy nainstalovat X Window
System, můžete rovnou přistoupit k tvorbě konfiguračního souboru pomocí buď
grafického průvodce xf86cfg
nebo textově orientovaného
xf86config
.
Měli byste znát základní údaje, jako jsou horizontální a vertikální frekvence vašeho monitoru, typ grafické karty, typ klávesnice a myši a jejich automatickou detekci zkontrolovat popř. správné hodnoty zadat.
Vytvořený konfigurační soubor /etc/X11/XF86Config
zpravidla
musíte ještě ručně doeditovat, např. budete-li chtít funkční kolečko myši,
doplňte do sekce Section "InputDevice"
řádku
Option "ZAxisMapping" "4 5"
- podrobněji tato i další nastavení můžete studovat v příslušné dokumentaci nebo v třídílném článku Vlastimila Otta X Window System tady na abclinuxu.cz (zabývá se verzí XFree 4.3).
Grafické rozhraní pak spustíte příkazem startx
, po kterém
vás v optimálním případě přivítá tradičním nevzhledem okenní manažer
twm
, s nímž se málokdo spokojí. Však si můžete výše uvedeným
způsobem nainstalovat manažer podle vlastní volby (Fluxbox, WindowMaker,
FVWM) nebo dokonce kompletní desktopové prostředí jako KDE nebo Gnome
(počítejte s tím, že kompilace bumbrlíčků KDE či Gnome ze zdrojových kódů
může podle výkonu počítače trvat až několik dní!).
Poté vytvořte ve vašem domácím adresáři soubor .xinitrc
a
přidejte do něj startkde
nebo třeba wmaker
. Jak
nastavíte automatický start do grafického prostředí jakož i odpovědi na
další otázky k instalaci NetBSD, pro které zde není místo, se dozvíte v
poměrně podrobné a důkladné dokumentaci na stránkách netbsd.org.
NetBSD 2.1 vypadá navzdory občasným pověstem o příliš "hardcore" systému jako poměrně dobře použitelný i pro desktop domácího uživatele. Stupeň obtížnosti instalace je kvůli nezvyklému výchozímu shellu a nutnosti ruční konfigurace grafického prostředí srovnatelný například s Gentoo nebo se Slackware. Bez obav ji mohou vyzkoušet i linuxoví začátečníci, kteří se dokážou orientovat v cizojazyčné dokumentaci, nevyžadují okamžitě plnou funkčnost "out of the box" a vůbec rádi ať už z jakýchkoliv důvodů provádějí "tuning" systému ručně.
Nemate nekdo aktualni zkusenosti s rozchazenim uzavreneho NVIDIA driveru Xek pod NetBSD?Jeste jsem to nezkoumal, ale asi to bude na bazi te softwarove emulace linuxoveho prostredi (viz kratka zminka v uvodu prvniho clanku), tj. pouzit linuxove binarky Nvidia. Zkusenosti zatim nemam zadne. Kdyby to chtel nekdo vyzkouset, muzu se pridat se starou kartou TNT2 (i k napsani clanku na toto tema).
Z'LI0(%:`&/NRU`Y0"@8.L%.%PG(%!D>"<!@C(4&'?`UO!/$"K\2)+!1K',R'
2V,*3$D-EG4PC!<*(%%I"<*$`
`
Jak je na tom verze 2.1 s lokalizací ?Vychozi je skutecne pouze podpora "ceskych" znaku, ostatni je treba nejak dorobit rucne. Priznam se, ze jsem to blize nezkoumal, a je to kapitola sama pro sebe, navic neprilis zdokumentovana. Clovek bez znalosti anglictiny (prip. jinych vice podporovanych jazyku) to bude mit asi s NetBSD v nynejsim stavu docela tezke. Je ovsem mozne nainstalovat desktopove prostredi, ktere se pak lokalizuje obvyklym zpusobem, napr. pouzivat kompletne pocestene (poslovenstene) KDE je krasne mozne. V zakladnim systemu clovek cestinu stejne moc neuzije (uz jen patrat po vyznamu a naprave ceskych chybovych hlasek na internetu by v pripade NetBSD byla marnost nad marnost).
Vsechny 2.x verze by mely teoreticky byt 100% binarne kompatibilni - mate nejaky protipriklad?Teoreticky ano, protipriklad zatim nemam, ackoliv pkgsrc vzdycky varuje, ze nainstalovane balicky jsou kompilovany proti jine verzi. V ramci clanku nejde ani tak o tema kompatibility jako o pripadny duvod zkompilovat si balicky vlastni (coz se muze zanedlouho tykat nove vydane verze 3.0, pro kterou nejakou dobu nebude asi dost vsech binarnich balicku).
"Na výběr jsou sh, csh nebo ksh, jejichž ovládání se od důvěrně známého bash poněkud liší." No nerekl bych ze se az tolik lisi - editovani sipkami a historii maji sh i ksh, pokud date prikaz set -o emacs (coz je pro ucet roota udelano defaultne). ksh umi i doplnovani tabelatorem a ukladani historie do souboru.Nenapsal jsem, ze se "velmi lisi", ale ze se "ponekud" lisi, viz v clanku uvedeny prikaz "export" a jeho analogie v csh. A zminuji to ne proto, ze bych se chtel rozepisovat o rozdilech shellu (takovy clanek by ale nebyl marny :), ale protoze se v diskusnich forech tenhle problem objevuje pravidelne, protoze navody pro Linux automaticky vychazeji z bash a navody pro NetBSD nekdy shelly stridaji podle preferenci pisatele (aniz na to explicitne upozorni).
detail: to co otevre prikaz chsh bez parametru neni primo databazovy informacni soubor, ale jen docasny soubor (ta databaze je binarni). Co je podstatnejsi je ze pokud zadate neplatny shell, budete na to upozornen takze mate moznost to hned opravit.Myslim, ze tahle nepresnost je v ramci zbezneho clanku o instalaci jeste unosna. Ano, je MOZNE to hned opravit, ale uz nikoliv NUTNE, coz muze mit fatalni nasledek.
To ze pkgsrc varuje ze nainstalovane balicky jsou kompilovany proti jine verzi je pravda. Je to spise nedokonalost (nekdo by mozna rekl chyba) programu pkg_add. Jednou z pricin bude zrejme fakt, ze pkgsrc lze provozovat na velkem mnozstvi operacnich systemu a zkoumat ktere verze tech systemu jsou kompatibilni s kterymi je asi nad sily vyvojaru.Vsechny 2.x verze by mely teoreticky byt 100% binarne kompatibilni - mate nejaky protipriklad?Teoreticky ano, protipriklad zatim nemam, ackoliv pkgsrc vzdycky varuje, ze nainstalovane balicky jsou kompilovany proti jine verzi. V ramci clanku nejde ani tak o tema kompatibility jako o pripadny duvod zkompilovat si balicky vlastni (coz se muze zanedlouho tykat nove vydane verze 3.0, pro kterou nejakou dobu nebude asi dost vsech binarnich balicku).
to je zrovna spatny priklad, protoze csh se opravdu lisi a rekl bych vice nez "ponekud""Na výběr jsou sh, csh nebo ksh, jejichž ovládání se od důvěrně známého bash poněkud liší." No nerekl bych ze se az tolik lisi - editovani sipkami a historii maji sh i ksh, pokud date prikaz set -o emacs (coz je pro ucet roota udelano defaultne). ksh umi i doplnovani tabelatorem a ukladani historie do souboru.Nenapsal jsem, ze se "velmi lisi", ale ze se "ponekud" lisi, viz v clanku uvedeny prikaz "export" a jeho analogie v csh.
A zminuji to ne proto, ze bych se chtel rozepisovat o rozdilech shellu (takovy clanek by ale nebyl marny :), ale protoze se v diskusnich forech tenhle problem objevuje pravidelne, protoze navody pro Linux automaticky vychazeji z bash a navody pro NetBSD nekdy shelly stridaji podle preferenci pisatele (aniz na to explicitne upozorni).To ze navody stridaji shelly podle preferenci pisatele je asi pravda a je dobre na to upozornit, ale to je problem Unixovych navodu obecne a instalaci bashe se to nevyresi.
To ale jiste bezneho Linuxare kteremu je clanek urcen neprekvapi (doufam ze ctenare neprecenuju) - schvalne si to zkuste na Linuxu! chsh nejenze Vas necha zmenit shell na /bin/nic, ale navic ani nepipne o tom ze by bylo neco spatne, a samozrejme se pak neprihlasite. (Prave vyzkouseno - Debian 3.1.) Jde mi o to ze clanek bohuzel (aspon mi to tak pripada) vyzniva trochu odrazujicim dojmem, protoze dela problemy z veci ktere problematicke vubec nejsou (napriklad zminka o nutnosti rucni konfigurace X11) nebo je reseni snadne. Tak se snazim pripadne vznikle obavy rozptylit. Jinak clanek poskytuje rozhodne dobry uvod do instalace NetBSD a diky za nej.detail: to co otevre prikaz chsh bez parametru neni primo databazovy informacni soubor, ale jen docasny soubor (ta databaze je binarni). Co je podstatnejsi je ze pokud zadate neplatny shell, budete na to upozornen takze mate moznost to hned opravit.Myslim, ze tahle nepresnost je v ramci zbezneho clanku o instalaci jeste unosna. Ano, je MOZNE to hned opravit, ale uz nikoliv NUTNE, coz muze mit fatalni nasledek.
Vadi mi ze clanek vyzniva tak ze se shelly lisi od znameho bashe vsechny a je proto nejlepsi nainstalovat bash co nejrychleji, a pritom rict ze csh je pravda atypicky a pokud ctenar chce aby se mu choval shell jako bash, necht si zvoli ksh a nastavi par promennych by bylo IMHO lepsi. (Protoze by to ctenare ochranilo pred hruzami basheJak jsem jiz psal, tematem neni shell. Clanek predstavuje maly uvod pro ctenare ABCLinuxu, o nichz lze predpokladat, ze uz to zkusili s Linuxem. Uvest prakticky priklad s prikazem "export" se mi zdalo vhodnejsi, nez problematiku shell zminit jednou vetou ci vubec vynechat. Take uvadim, jak nainstalovat neco, co uz muze uzivatel Linuxu znat (tj. bash), protoze chce vyuzit svych dosavadnich znalosti, nez zacne experimentovat s novinkami.)
Jde mi o to ze clanek bohuzel (aspon mi to tak pripada) vyzniva trochu odrazujicim dojmem, protoze dela problemy z veci ktere problematicke vubec nejsou (napriklad zminka o nutnosti rucni konfigurace X11) nebo je reseni snadne. Tak se snazim pripadne vznikle obavy rozptylit. Jinak clanek poskytuje rozhodne dobry uvod do instalace NetBSD a diky za nej.Diky, taky tyhle poznamky a pripadnou diskusi neberu jako "valceni", ale jako upresnovani, ktere ctenarum jen prospeje. Mozna ze pusobi clanek odrazujicim dojmem, kdyz se zminuji nektere problemy (a jejich aspon nouzove reseni), ale nesnazil jsem se psat ideologickou agitku pro NetBSD. Me osobne naopak odrazuji clanky, v nichz se nektere drobne problemy zamlcuji ci prechazeji bez zastaveni, ackoliv musi byt jasne, ze zacatecnik se s nimi potka. Tedy jsem poctive popsal to, co bych (a co jsem) za problem povazoval ja (coby tez jen mirne pouceny zacatecnik). Je vice nez jasne, ze existuji ruzna reseni a kazdy bude podle stavu svych zkusenosti uprednostnovat jine. Snazil jsem se, aby si pripadny zajemce o instalaci NetBSD znaly Linuxu mohl udelat zbezny obrazek o tom, co ho pravdepodobne ceka (pricemz se obcas snazim napsat i neco vic, nez je pri takove instalaci videt). Instalacni manual vsak nema cenu prepisovat (stejne by si ho mel kazdy, kdo to mysli vazne, pred instalaci precist), stejne jako resit vsechny mozne alternativy. Idealne bych si predstavoval, kdyby nekdo zkusenejsi na clanky navazal s podrobnejsimi postupy a udaji (napr. co se tyce lokalizace, NVidia ovladacu, nebo problematiky K3b, ktery v NetBSD nefunguje). Neni vsak vhodne cpat vsechno hned do uvodu. V tomto smyslu dekuji i vam za dodatky a pripominky, nemyslim vsak, ze bych podruhe zvolil pro stejny clanek jinou formu.
Jasne, naprosty souhlas, ja bych akorat zvolil jednodussi (a tim pro ctenare ktery to bude opravdu zkouset prijemnejsi) zpusob reseni takovych problemu. A kdyz uz jde o vyjmenovavani problemu se kterymi se zacatecnik potka, rozhodne bych zminil ze se potka s nezurnalovacim FS, coz podle me CokoliBSD prakticky vyrazuje z jakehokoli pouziti kde se pracuje s vetsim mnozstvim dat... Pravda clanek se tykal spis desktopu kde na tom tolik nezalezi.Jde mi o to ze clanek bohuzel (aspon mi to tak pripada) vyzniva trochu odrazujicim dojmem, protoze dela problemy z veci ktere problematicke vubec nejsou (napriklad zminka o nutnosti rucni konfigurace X11) nebo je reseni snadne. Tak se snazim pripadne vznikle obavy rozptylit. Jinak clanek poskytuje rozhodne dobry uvod do instalace NetBSD a diky za nej.Diky, taky tyhle poznamky a pripadnou diskusi neberu jako "valceni", ale jako upresnovani, ktere ctenarum jen prospeje. Mozna ze pusobi clanek odrazujicim dojmem, kdyz se zminuji nektere problemy (a jejich aspon nouzove reseni), ale nesnazil jsem se psat ideologickou agitku pro NetBSD. Me osobne naopak odrazuji clanky, v nichz se nektere drobne problemy zamlcuji ci prechazeji bez zastaveni, ackoliv musi byt jasne, ze zacatecnik se s nimi potka.
Jaky by mohl mit "normalni" user Linuxu duvod pouzivat NetBSD?aby si pripadal vic h4x0rsky a "free cool in" :P
pub/NetBSD/packages/pkgsrc-2005QA/NetBSD-`uname -r`/i386/All
, coz (ted jsem zmaten) je asi rozdil mezi pub/NetBSD/packages/`uname -r`/i386/All
.
Na FreeBSD jsou jen current porty, zadne verze pro verze systemu :( Osobne me prijde lepsi styl Open/NetBSD.
Predem dekuji.
$ sysctl kern.version | head -n 1 kern.version = NetBSD 3.0 (GENERIC_LAPTOP) #0: Mon Dec 19 01:08:52 UTC 2005jirib
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.