Czego pragnie linuksiarz od NetBSD?

Ostatnia aktualizacja: 1st lipiec 2022, 12:56 pm

felieton

Po dość długiej monotonii postanowiłem zmienić coś w swoim życiu. Zrobiłem backup danych z dysku przed tym! Miał to być eksperyment z HardenedBSD, gdzie ze strony tego “utwardzonego” pod kątem bezpieczeństwa FreeBSD, pobrałem obraz ‘memstick.img’. Końcówka img mówi nam, że to jest obraz do nagrania na pendrive’a. I tu zaczęły się schody, gdy po instalacji na moim dość już leciwym Lenovo:
– 4-rdzeniowy Intel Celeron * 2,1 GHz
– GPU Intel Atom numerka nie pamiętam
– 4 Gb RAM
– 500 Gb ROM HDD!

Nie wykryło mi modemu.
Aż tu nagle przypomniało mi się, że mam najnowszą stabilną wersję NetBSD 9.2 z 12 maja 2021 roku na płycie DWD-RW. Ryzyk fizyk i nóż widelec, nie było zmiłuj.

Oprócz angielskiego oczywiście dostępne są komunikaty w języku francuskim, niemieckim i polskim. Trza było skorzystać z okazji i wybrać polski. Gwoli ciekawostki, dystrybucje BSD mają sets, czyli kernel, base(userland), comp i w przypadku NetBSD, także Xserver jest wpakowany w tego typu binarkę. Ponadto możemy skorzystać z niezawodnego pkgsrc(package source), czyli kolekcji portów tegoż niedocenianego systemu. Pod tą nazwą kryje się zbiór plików makefile, takich jakby przepisów i łatek, bez których nie dałoby rady zbudować programu pod nasz system. Na szczęście mamy też trzecią formę instalacji oprogramowania pakietów trzecich, a więc binarną odnogę pkgsrc, czyli pkgin.

W czasie instalacji konfigurujemy sieć, hasło roota, zwykłego użytkownika, instalujemy pkgin, pkgsrc i sets oraz formatujemy dysk na niezwykle szybki FFS. Ostatnia rzecz była łatwa, bo cały dysk został przyporządkowany NetBSD. W dodatkowych pakietach napisałem doas, nano, xfce4, xfce4-extras, firefox. To na razie wystarczyłoby, gdyby po restarcie nie wyrzuciło mi single user mode.

To coś ala tryb awaryjny. Musiałem w powłoce sh wpisać 
mount -u -w /
czyli zamontować dysk. Skoro to się udało, to można zmienić
rc_configure=NO na YES poleceniem
nano /etc/rc.conf
Zapisałem
reboot -n
żeby nie było już więcej problemów → opcja -n nie synchronizuje dysku.

I tu obyło się bez przeszkód. W konsoli pojawił się monit o login.
Root, hasło i :
nano /home/NetBSD/.xinitrc
dopisać:
xfce4-session

Potem ustawiamy narzędzie doas, które służy autoryzacji:
nano /usr/pkg/etc/doas.conf
i wpisujemy:
permit nopass NetBSD
gdzie NetBSD to nazwa mojego użytkownika.

Należy też doinstalować: pkgin install famd hal dbus
I odpowiednio dodać w /etc/rc.conf:

rpcbind=YES
famd=YES
dbus=YES
hal=YES
sound_load=YES

I restart, login do zwykłego użytkownika, startx i pojawiło się coś takiego:

Pulpit NetBSD

Żartuję trochę, tapetę zmieniłem później, bo tapety Ubuntu mi się naprawdę podobają, jak kto chce może nawet pobrać tapetę Windows 11 czy Maca.

Tu pojawiły się schody, a dokładnie artefakty, więc zacząłem robić doktorat w necie, co i jak.

Mianowicie zróbcie
doas nano /etc/xorg.conf

Section "Device"
Identifier "intelfb0"
Driver "Intel"
Option "Accel" "True"
Option "AccelMethod" "uxa"
Option "DRI" "1"
EndSection

I to samo wklejcie do
/etc/X11/xorg.conf
Nie zapomnijcie zainstalować picom, czyli kompozytora, po tych krokach moje problemy znikły. Natrafiłem potem na perełkę, czyli port KDE4. A tu kolejne problemy, bo po zmianie w .xinitrc z xfce4session na startkde nie uruchamia się to środowisko graficzne 🙁

Konsola NetBSD

Nie zapomnijcie ustawić polskich znaków:

setxkbmap pl

ale to działa tylko przez chwilę, niestety przez długi czas musiałem powtarzać tę komendę, co włączenie kompa, ale całe szczęście doczytałem w podręczniku, co następuje

doas nano /etc/wscons.conf
i dodajemy linijkę
encoding pl
+
setxkbmap pl
😇

KDE jest w wersji 4.14.3, cały ekosystem opiera sie na Frameworks 4.80, natomiast podstawową biblioteką jest Qt 5.15.2. Udało mi się odpalić kde z trybu awaryjnego, tzw. Failed safe mode, gdyż w trybie standardowym pojawiał się czarny ekran. System prezentuje się następująco:

NetBSD pulpit KDE 4

NetBSD pulpit KDE 4

Wygląda to dość tradycyjnie. Doinstalowałem okular w wersji 20.12.3nb13 do obsługi pdf przez polecenie
doas pkgin install okular

Poniżej jest zawartość mojego pliku /etc/rc.conf:

# $NetBSD: rc.conf,v 1.97 2014/07/14 12:29:48 mbalmer Exp $
#
# See rc.conf(5) for more information.
#
# Use program=YES to enable program, NO to disable it. program_flags are
# passed to the program on the command line.
#

# Load the defaults in from /etc/defaults/rc.conf (if it's readable).
# These can be overridden below.
#
if [ -r /etc/defaults/rc.conf ]; then
. /etc/defaults/rc.conf
fi

# If this is not set to YES, the system will drop into single-user mode.
#
rc_configured=YES

# Add local overrides below.
#
dhcpcd=YES
dhcpcd_flags="-qM cdce0"
wscons=YES

rpcbind=YES
famd=YES
dbus=YES
hal=YES
sound_load=YES

mdnsd=YES
avahidaemon=YES
mountd=YES
autofs=YES
mpd=YES
cupsd=YES
cups_browsed=YES

lockd=YES lockd_flags=""

statd=YES statd_flags=""
ntpdate=YES
winbindd=YES
smbd=YES
nfs_client=YES # enable client daemons
nfs_server=YES # enable server daemons
kdm=YES

Przeżywając moją przygodę z NetBSD popełniłem instalując narzędzie sysupgrade przez polecenie
doas pkgin install sysupgrade
a następnie wykonałem
doas sysupgrade auto
co spowodowało aktualizację sets do wersji daily gałęzi 9, natomiast spodziewana poprawka znajduje się w zalecaniach bezpieczeństwa Security Advisory na netbsd.org, gdzie napisano prosty przepis:
# cd src
# cvs update -d -P sys/net/if_pppoe.c
# ./build.sh kernel=KERNCONF
# mv /netbsd /netbsd.old
# cp sys/arch/ARCH/compile/obj/KERNCONF/netbsd /netbsd
# shutdown -r now

Wcześniej oczywiście odpalamy
doas pkgin install cvs
gdzie cvs to system kontroli wersji wykorzystywany przez NetBSD.

Wyłączamy system tylko przez
doas shutdown -h now!

Dla deweloperów też się coś znajdzie. Z systemów kontroli wersji oprócz cvs, nie zabrakło gita, a nawet jest jego nie w pełni ukształtowana alternatywa, w postaci got, czyli Game Of Trees, która mimo niedoróbek wspiera strukturę danych git. Z narzędzi dla programistów nie mogło zabraknąć Emacsa 26 i jego wczesnego forka, działającego tylko w terminalu, czyli mg. Vima zabraknąć nie mogło! Kompilatory są w możliwie świeżych wersjach, jest Java w postaci openjdk 11.

Posumowanie
Nie działała mi stacja płyt CD/DVD, co zostało rozwiązane przez 'doas pkgin install gcombust xcdroast’ →to dwie graficzne nakładki na tekstowe cdrtools, co wcale mi nie pomogło i jestem w punkcie wyjścia. Ponadto zamiast wygaszacza pojawia się po czasie bezczynności czarny ekran, a ruszanie myszką nic nie daje, więc trzeba awaryjnie wyłączyć laptopa. Mimo, że pendrive jest wykrywany, to gdy chciałem skorzystać z dd, to się okazało, że nie znam jego nazwy, a w /dev/ ciężko poznać pod czym kryje się mój pendrive.
Ogólnie to nie polecam go na desktopie, system jak podaje oficjalny podręcznik jest hobbystów i profesjonalistów, wierzę im na słowo😌. Społeczność jest mała i niezbyt skora do pomocy. Ktoś, kto mam nadzieję, dobrze życzy społeczności i systemowi upierał się, przy implementacji języka skryptowego Lua, co w mojej opinii niczego dobrego nie wnosi, poza złą atmosferą, jaka została wywołana przez tą g*wnoburzę na kanale na Telegramie. Język skryptowy w kernelu zawsze go spowolni, a w implementacji anykernela zwiększy jego awaryjność. Priorytetem są wydajność systemu i nowsze, bardziej nowoczesne sterowniki i firmware. Zadałem pytanie o możliwe prognozy wydania stabilnej wersji Chromium oraz Plasme KDE, a także jakie są największe trudności, ale nikt mi nie odpowiedział 🙁

Apel do społeczności, bądźcie bardziej otwarci i pomocni dla nowych użytkowników, bo bez tego ani rusz. Problemy nakreślone przez jednego z czterech Ojców Założycieli w 2006 są chyba nadal aktualne lwn.net/Articles/197748/

Jeśli ktoś chce korzystać z tego systemu, to:
Po pierwsze(1) niech się dobrze zastanowi, to nie Windows, macOS czy Linux!
Po drugie(2) tu prawie nic się nie wyklika, pozostaje więc tylko konsola!
Po trzecie(3), czytajcie podręcznik i strony man np. man rc.conf!
Po czwarte(4), tu karty NVIDII, czytniki linii papilarnych czy inna biometria lub inne nowoczesne sprzęty nie zadziałają!!! Chociaż przeciętny sprzęt da radę, to raczej raczej unikałbym zabytków.
Po piąte(5) problemy staraj się rozwiązywać sam, bo nikt Ci ze społeczności nie pomoże.
Po szóste(6) nie masz żadnej gwarancji do kwadratu!!!
Po ostanie(7) gorąco odradzam!!!

P.S. Zachęcam do komentarzy pod artykułem w celu mądrych spostrzeżeń i konstruktywnej krytyki.

Autor: Daniel Sławek Karpiński

One thought on “Czego pragnie linuksiarz od NetBSD?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Witryna jest chroniona przez reCAPTCHA i Google Politykę Prywatności oraz obowiązują Warunki Korzystania z Usługi.