Aktualizacja Debiana

Od jakiegoś czasu jest dostępny Debian 10, zarówno oficjalny, jak i Raspbian dla komputerków Pi. Aktualizacja tego systemu do nowej wersji jest, zdaje się, najprostsza ze wszystkich dystrybucji.

W Raspbianie należy wyedytować dwa pliki:

  • /etc/apt/sources.list,
  • /etc/apt/sources.list.d/raspi.list.

W obydwu przypadkach trzeba zmienić słówka „stretch” na „buster”. Potem, jak przy każdej aktualizacji, standardowe:

sudo apt update
sudo apt full-upgrade

Jak to w Debianach bywa, podczas aktualizacji zostaniemy poproszeni o podjęcie kilku decyzji co do plików konfiguracyjnych. Mi zależało jedynie na zachowaniu mojej konfiguracji Samby. Resztę pozwoliłem nadpisać, używając plików z nowych wersji programów. Aktualizacja była płynna i bezstresowa. Tylko na chwilę klienty nie mogły znaleźć udziałów smb, co po chwili wróciło do normy. Po aktualizacji przyda się restart, bo mamy nowe kernele. Zarówno Samba, jak i Pihole działają po restarcie, jakby nic się nie stało. Ot uroki Debiana.

Linux dla leworęcznych

Mamy kilka naprawdę dziwacznych skrótów klawiaturowych: alt+F4, ctrl+c, ctrl+v i kilka innych. co w nich dziwnego? Spróbuj przełożyć myszkę o lewej ręki i spróbować ich użyć.

Jako, że cały czas używam Serwera X, mam do dyspozycji kilka programów, które są tym bardzo pomocne. przygotowałem sobie mały skrypt, który uruchamiam po zalogowaniu:

#!/usr/bin/sh
# mapowanie klawiatury dla lewej reki

# numpad 0
xmodmap -e "keycode 90 = Super_L"

# numpad 1
xmodmap -e "keycode 87 = c"

# numpad 2
xmodmap -e "keycode 88 = v"

# numpad 3
xmodmap -e "keycode 89 = Control_R"
xmodmap -e "add control = Control_L Control_R" 

# numpad 4
xmodmap -e "keycode 83 = Tab ISO_Left_Tab Tab ISO_Left_Tab"

# numpad 7
xmodmap -e "keycode 79 = F4 F4 F4 F4 F4 F4 XF86Switch_VT_4"

# numpad 8
xmodmap -e "keycode 80 = Alt_L"

# numpad .
xmodmap -e "keycode 89 = z"

Po kilka dniach przyzwyczajenia działa to rewelacyjnie. co prawda nie mam cyfr na klawiaturze numerycznej, ale nie jest to jakoś szczególnie uciążliwe.

Pasuspender

Pulseaudio jest super: przycisza mi muzykę, kiedy ktoś gada przez komunikator, mogę ustawić głośność każdego programu z osobna, obsługuje świetnie interfejsy audio usb . Początkowo miało sceptyków, ale na co dzień nic lepszego nie jest mi potrzebne i niczego lepszego zwyczajnie nie ma. Na co dzień. Czasami jednak wolę, kiedy program, na przykład Audacity, ma dostęp do wszystkich urządzeń dźwiękowych.

Wówczas przydaje się pasuspender, który odcina Pulseaudio od podanego procesu, ale pozwala mu działać na pozostałych. Robi się to tak: pasuspender audacity, po czym uruchamiam Audacity, gdzie mogę przebierać we wszystkich wejściach i wyjściach dźwięku, jakie widzi stara, poczciwa ALSA.

Nextcloud 16 i Kalendarz

Ostatnio aktualizowałem NextClouda do wersji 16 i podczas aktualizacji otrzymałem informację o niekompatybilności kalendarza z wersją 16. Okazało się, że nie jest tak źle. Po aktualizacji NextClouda zaktualizowałem Kalendarz w aplikacjach i włączyłem go w Twoich Aplikacjach.

Jak po każdej aktualizacji, warto przejść się do katalogu z zainstalowanych Nextcloudem i dodać brakujące indeksy do bazy danych:

sudo -u [uzytkownik] php occ db:add-missing-indices

Po aktualizacji autorzy NextClouda zwrócili moją uwagę, że baza danych nie jest skonfigurowana dla obsługi znaków 4-bajtowych, więc emotikonki nie będą działać. Znak czasów…

Nowy, stary NetGear

Mam w domu nowe zwierzątko. Wygląda jak 24-portowy switch i w zasadzie to nim jest.

NetGear i pierwsze kabelki

Nie jest to najnowszy model Wystarczy wspomnieć, że tylko cztery porty są gigabitowe. No ale jest zarządalny, ma VLANy, można go klastrować (chociaż ze zdjęcia nie wynika, żeby szybko mi to groziło). Ma też charakterystyczne dla starszych modeli diody ponad gniazdami. Zdecydowanie wolę tabelki po lewej stronie przedniego panelu.

Nie podłączyłem jeszcze wszystkiego, gdyż niektóre kabelki były wymierzone idealnie pod poprzednika i są teraz za krótkie. W przyszłym tygodniu się nadrobi.

Jestem ogólnie zadowolony, bo dotychczas używałem dwóch tanich, domowych switchy Dlinka i zwyczajnie z wolnym portami było już krucho. No i lepiej mieć jedno urządzenie, zawsze odrobina mniej kabli pod biurkiem.

Trochę się nad tym posiedzi.

Oczywiście konfigurować można to cały dzień mi jeszcze trochę. Zobaczymy, co się z tego uda wycisnąć.

Bash dla każdego

Większość języków programowania ma jakoś zaimplementowane pętle for. Bash nie jest tu wyjątkiem, chociaż składnia jest po Bashowemu trochę udziwniona. Najpierw podam najprostszy przykład sprawdzający wielkość plików w katalogu:

for plik in `ls /home/lukasz/katalog` ; do du -h $plik ; done

Najpierw wymyślamy nazwę zmiennej, do której będziemy podstawiać kolejne wartości podawane przez ls, a potem wykonujemy du -h na każdej jednej z tych wartości. Sztuczka polega na tym, że lista ma być po prostu ciągami znaków oddzielonymi spacją, lub znakiem nowej linii. Może to być więc lista domen zapisana w pliku:

for linia in `cat domeny.txt` ; do echo $linia ; host $linia ; echo '------------------' ; done

Inny przykład: oglądanie plików hosts.

for i in `cat hosty` ; do echo $i; ssh -o PreferredAuthentications=publickey -o PasswordAuthentication=no -l lukasz $i "cat /etc/resolv.conf" ; echo '------------------' ;
done

Dzięki PrefferedAuthentications oraz PasswordAuthentication unikniemy zapytań o hasło i, nawet jeżeli nasza lista hostów będzie bardzo długa, możemy wrócić do komputera po minucie i sktypt zakończy działanie, informując gdzie nie mógł logować się po kluczu.

Vim dla Mechawojownika

Ciekawostka. Patch dla Mechwarrior 2 Mercenaries zawiera plik BAT ze znajomymi komendami:

@echo off
REM ~ $Id$
echo Welcome to my sad excuse for a search-and-replace patcher.
REM ~ **** **** **** MW2SND.CFG **** **** ****
REM ~ Make backup of it.
copy mw2snd.cfg mw2snd.cfg.backup > NUL
REM ~ Create vesa768.dll for 1024x768 to work.
echo Figure this one out! > vesa768.dll
REM ~ Brute force: replace mcga.dll and vesa480.dll in mw2snd.cfg.
echo :%%s/mcga.dll…/vesa768.dll/i > sub.script
echo :%%s/vesa480/vesa768/i >> sub.script
echo :w!>> sub.script
echo :q >> sub.script
vim -b -s sub.script mw2snd.cfg
REM ~ **** **** **** MERCSWIN.EXE **** **** ****
REM ~ Make backup of it.
copy mercswin.exe mercswin.exe.backup > NUL
REM ~ Again, brute force rules.
echo :%%s/gdi32.dll/gdi42.dll/i > sub.script
echo :w! >> sub.script
echo :q >> sub.script
vim -b -s sub.script mercswin.exe
REM ~ **** **** **** MW2SHELL.DLL **** **** ****
REM ~ Make backup of it.
copy mw2shell.dll mw2shell.dll.backup > NUL
REM ~ Again, brute force rules.
echo :%%s/gdi32.dll/gdi42.dll/i > sub.script
echo :%%s/advapi32.dll/advapi42.dll/i >> sub.script
echo :w!>> sub.script
echo :q >> sub.script
vim -b -s sub.script mw2shell.dll
REM ~ **** **** **** MERCSW.DLL **** **** ****
REM ~ Make backup of it.
copy mercsw.dll mercsw.dll.backup > NUL
REM ~ Again, brute force rules.
echo :%%s/advapi32.dll/advapi42.dll/i > sub.script
echo :w!>> sub.script
echo :q >> sub.script
vim -b -s sub.script mercsw.dll
REM ~ All done.
:all_done_ttfn
del sub.script
echo All done, TTFN.

Okazuje się, że w archiwum z łatką jest między innymi plik vim.exe i w taki właśnie sposób aktualizowana jest gra. Bardzo ciekawe rozwiązanie.

Fedora 30

Fedora 30 jest już w becie i szykują się do zamrożenia wersji pakietów. Zespół RPMFusion przygotował już repozytoria pełne kodeków oraz multimediów. Czas więc na aktualizację.

Przed usunięciem fedora-release dobrze sprawdzić, które z tych pakietów są zainstalowane:

rpm -qa | grep release

# rpm -e --nodeps fedora-release fedora-release-notes fedora-release-server fedora-release-workstation
# dnf install --allowerasing --releasever=30 fedora-gpg-keys fedora-release
# rpm -Uvh https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-branched.noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-30.noarch.rpm
# yum update
# reboot

Przy w miarę szybkim łączu oraz dysku ssd całość zajmuje 15 minut, w czasie których można bez przeszkód pracować.