Szef kuchni poleca: Beefy Miracle t-shirts O mnie Planeta !apcoh Social
Szef kuchni poleca: Beefy Miracle t-shirts O mnie Planeta !apcoh Social
Czytając o systemd
można czasem przeoczyć większą wizję. Celem nie jest jedynie napisanie kolejnego
zastępcy inita. To tylko element całości, którą jest zdefiniowanie (również
poprzez stworzenie) platformy Linuksowej. Ostatecznie
będzie można powiedzieć, że ,,w Linuksie''
systemd-loginctl list-sessions.socket/etc/machine-idxinetd, inetd
czy jeszcze czegoś innego. Osuszanie bagienka różnic między dystrybucjami powinno
ułatwić dostarczanie oprogramowania firmom trzecim.
Aby osiągnać ten cel, systemd dostarczany jest wraz z
garścią pomocniczych programików pojedynczego
zastosowania. Część ujednolica czynności wykonywane we wszystkich dystrybucjach,
część implementuje nowe mechanizmy mające stać się API Linuksa.
Najprostsze (ograniczające się do pojedyńczych syscalli) wbudowane
są w samą binarkę systemd.
Do czego zacząć się przyzwyczajać?
hostname1 — dostępna przez D-Bus usługa zarządzająca
krótką oraz opisową nazwą komputera; konfigurowana w /etc/hostnamesystemd-localed — dostępne przez D-Bus ustawianie
języka systemu; konfigurowane w /etc/locale.confsystemd-timedated — D-Bus; ustawianie czasu, daty,
strefy czasowej; konfiguracja w /etc/adjtime, /etc/timezone,
/etc/locatimesystemd-vconsole-setup — ustawienie układu klawiatury
i fontu na konsoli tekstowej; konfiguracja w /etc/vconsole.confsystemd-binfmt — konfiguracja jak traktować różne
pliki wykonywalne; katalog z konfiguracją: /etc/bindfmt.dsystemd-tmpfiles — tworzenie plików, katalogów i gniazd
przy starcie systemu; również kasowanie starych, nie używanych plików;
konfiguracja z /usr/lib/tmpfiles.d i /etc/tmpfiles.dsystemd-sysctl — ustawienie zmiennych jądra; konfiguracje
z katalogów {/usr/lib,/etc,/run}/sysctl.d i pliku /etc/sysctl.confsystemd-modules-load — ładowanie modułów jądra; pliki
konfiguracyjne w /etc/modules-load.dsystemd-kmsg-syslogd — minimalny demon zapamiętujący
informacje przed uruchomieniem właściwego syslogdsystemd-random-seed — inicjacja puli entropii generatora
pseudolosowego; również zapisanie stanu przy wyłączaniu komputeraWydzielenie tych drobiazgów ze skryptow startowych umożliwia:
/etc/binfmt.d)Ważnym nowością jest systemd-loginctl i
skojarzony /etc/systemd/systemd-logind.conf zarządzajacy sesjami
użytkownika. Odpowiada m. in. za automatycznie uruchamianie getty
na konsolach, na które przełącza się użytkownik. Login manager daje
informacje o zalogowanych użytkownikach, aktywnych sesjach i także pilnuje sprzątania
procesów po użytkownikach wylogowanych. Poleceniem systemd-loginctl enable-linger
można zażyczyć sobie uruchamiania sesji dla zwykłych użytkowników przy starcie systemu.
systemd-logind zarządza również wszystkimi zestawami
klawiatura+mysz+monitor+inne urządzenia, ułatwiając pracę wielu użytkowników
jednocześnie. Jest to efekt zapowiadanego
pozbycia się ConsoleKit.
W życiu zachodzi czasem potrzeba modyfikacji skryptów startowych (jednostek systemd). Co jeśli mamy jakiś niepełnosprawny program i chcemy opóźnić jego uruchomienie, a nie możemy tego wyrazić poprawnymi zależnościami?
Systemowe (dostarczane przez dystrybucję) skrypty startowe
znajdują się w /lib/systemd/system. Administrator
nie powinienen ich ruszać, za to może przesłonić skrypt systemowy
swoim, umieszczając go w /etc/systemd/system.
Skrypt z /lib wygląda następująco:
[Unit] Description=uses CDP / LLDP frames to inform switches about connected hosts Requires=network.target [Service] EnvironmentFile=/etc/sysconfig/ladvd ExecStart=/usr/sbin/ladvd -f $LADVD_OPTIONS PIDFile=/var/run/ladvd.pid StandardOutput=syslog [Install] WantedBy=multi-user.target
Przepisywanie całości jest niezdrowe, dużo roboty i możliwe rozjechanie
gdy aktualizacja zmieni systemową jednostkę. W takich sytucjach najlepiej
posłużyć się dyrektywą .include:
.include /lib/systemd/system/ladvd.service [Service] ExecStartPre=/bin/sleep 20s [Install] WantedBy=multi-user.target
Pierwsza linijka zaciąga całą treść oryginalnej jednostki. Sekcja
[Service] wprowadza interesującą nas zmianę. Końcowka
jest potrzebna do korzystania z systemctl enable/disable.
Inny przykład: dodanie zależności, wpływa na kolejność startu. Tworzymy /etc/systemd/system/radvd.service z zawartością:
.include /lib/systemd/system/radvd.service [Unit] After=aiccu.service
Wraz ze zmianą numeracji jądra pojawiło się kilka problemów z programami spodziewających się numeracji x.y.z. Brak trzeciego numerka odczuły jak dotąd:
lvm2 — efektem jest problem z bootowaniem, naprawiony już w najnowszej wersjimdadm też krztusi się z dwucyfrowym numerkiemdistributed.net client nie startuje, wysypuje się na inicjalizacji timerówmodule-init-tools w Fedorze3.0 udostępnia też katalog /sys/fs/selinux. Biblioteki SELinuksa korzystają z niego w pierwszej kolejności przed /selinux. Zmiana punktu mountowania zaskoczyła systemd, co kończy się pętlą komunikatów loading policy
przy uruchomieniu. Poprawka już jest, w międzyczasie zbootować można dodając selinux=0 do linii poleceń jądra.
A czy Twój kod radzi sobie z nowym numerkiem? I w ogóle po co mu ta informacja, powinien sprawdzać obecność wymaganych ficzerów, a nie numer wersji.
Linuksowi administratorzy w nadchodzących wydaniach swoich ulubionych
dystrybucji natkną się na nowy wpis w katalogu głównym. Będzie to
/run.
Katalog /run jest dostępny zaraz po zamountowaniu
głównego /, przed pojawieniem się /var,
który może być na osobnym wolumenie. Zawiera rzeczy odnoszące się do aktualnie
działających programów i usług (nie przechowuje wpisów przy reboocie). Są to:
/run/lock, dostępne również jako /var/lock)/var/run/dev:
/dev/.udev/dev/.initramfs/dev/.mount/utab (wszystko
to, co nie jest zawarte w /proc/self/mounts)/dev/.systemd/dev/.mdadm/etc/lvm2/cachedracut, plymouth, bootchart
i wszystkie programy, które do tej pory potrzebowały takiego miejsca. Użycie
/dev było podyktowane obecnością tego katalogu od samego
początku uruchamiania systemu. Nie do końca prawidłowe jest jednak przechywanie
w /dev wpisów nie będących urządzeniami, a zwłaszcza ukrywanie ich kropką
w nazwach.
Poza nadużywaniem /dev, dystrybucje do problemu podchodziły
różnie. Debian daje /lib/init/rw, który z kolei narusza
przestrzeń /lib dla bibliotek. Ubuntu udostępnia
/var/run i /var/lock przy starcie, a przy
mountowaniu właściwego /var dokonuje przypięcia (bindmount).
Jest to jednak rozwiązanie podatne na wyścigi.
Wynik międzydystrybucyjnych uzgodnień ogłosił
Kay Sievers, jednocześnie odpowiedzialny za wdrożenie tego rozwiązania
w SUSE.
Zawtórował mu Scott James Remnant, opiekun upstart i członek
rady technicznej Ubuntu. Rozwiązanie wdrożyła Fedora,
poddane zostało również pod dyskusję
w Debianie.
Nasuwać się może pytanie, co z File Hierarchy Standard? Wersja 2.3 nie zakazuje, jednak wymaga rozwagi:
Distributions should not create new directories in the root hierarchy without extremely careful consideration of the consequences including for application portability.Twórcy najważniejszych dystrybucji porozumieli się między sobą i stosowna poprawka do FHS została zgłoszona. Ostatecznie będziemy mieli:
/var do rzeczy zmiennych,
dostępnych pomiędzy restartami i /run dla tych mających sens
jedynie w działającym systemie (wskazane więc użycie tmpfs). Coraz bliżej jest do umożliwienia funkcjonowania
systemu z kluczowymi katalogami (/usr, /etc itp.)
zamountowanymi w trybie tylko-do-odczytu.
Projektanci GNOME3 dołożyli wszelkich starań, żeby domyślne ustawienia były eleganckie, sensowne i nie wymagały poprawiania. W menu udostępnionio możliwość zmiany niektórych ustawień, ale część została uznana za zbyt niszowe na poświęcanie im miejsca.
Zmiana przycisków na belce okna czy zachowania Nautilusa możliwa jest z linii poleceń (używając gsettings lub dconf-editor), jednak wygodniej zrobić to graficznie. Z pomocą przychodzi narzędzie Gnome Tweak Tool.
![[gtt1]](http://dżogstaff.pipebreaker.pl/2011.03.24-gnome-tweak-tool-1.png)
Dodatek można zainstalować z linii poleceń (yum install gnome-tweak-tool) lub używając graficznego zarządzania pakietami. Większość wprowadzonych zmian jest widoczna od razu, niektóre wymagają restartu gnome-shell.
![[gtt2]](http://dżogstaff.pipebreaker.pl/2011.03.24-gnome-tweak-tool-2.png)
Dlaczego gnome-tweak-tool nie jest instalowany od razu?
Changing the theme is tweaking, changing the colours of it or changing the background is personalisation, changing the speaker volume is a setting (if it can even be called that), changing the default printer is definitely a setting. We support personalisation, and settings, but not tweaking. (Bastien Nocera)
W związku z pewnymi reorganizacjami życia zmieniałem ostatnio dane osobowe w różnych miejscach. Największego zdziwienia dostarczyło mi OFE.
Dało się znaleźć stronę mojego funduszu. O, jest opcja zarządzania kontem on-line, ekstra! Telefon na infolinię zaowocował loginem (nr klienta) i SMSem z hasłem jednorazowym. Zalogowawszy się znalazłem opcję zmiany danych i wesoło wyklikałem zmiany w formularzu. Wybranie „Zatwierdź” przeniosło na ostatnią stronę procesu, która uraczyła mnie… wypełnionym formularzem w PDF. I adresem s-mail, na który mam go wysłać po wydrukowaniu. Bardzo przepraszam, ale to ma być on–line‽
Infolinia twierdzi, że takie wymagania nakłada ustawa. I faktycznie:
Art. 44.Ustawa z dnia 13 października 1998 r. o systemie ubezpieczeń społecznych Dz.U. 1998 Nr 137 poz. 887
[…]
2. O wszelkich zmianach dotyczących numerów, o których mowa w art. 43 ust. 3a, oraz nazwy skróconej płatnika składek, a w przypadku płatników składek będących osobami fizycznymi także nazwiska, pierwszego imienia i daty urodzenia, płatnik składek zawiadamia w formie dokumentu pisemnego według ustalonego wzoru albo w formie wydruku z oprogramowania, o którym mowa w art. 47a ust. 1, wskazaną przez Zakład jednostkę organizacyjną Zakładu.
Nieszczęśliwy zwrot w formie wydruku z oprogramowania
powoduje,
że w 2011 załatwianie spraw on–line w Polsce polega na drukowaniu i wysyłaniu
kopert usługodawcą pocztowym. A wspomniany art. 47a straszy dodatkowo
podpisem elektroniczy weryfikowanym przy pomocy ważnego kwalifikowanego
certyfikatu
. USowi jakoś udaje się przyjmowac wnioski czysto sieciowo.
Koledzy z TLUGu byli uprzejmi udostępnić nagrania z Zimowisk TLUG. Ci, co nie byli, mogą teraz obejrzeć jak autor spiesząc się, denerwując i jąkając prelegował.
![[obrazek z tomkiem, z komiksu]](http://xn--dogstaff-33b.pipebreaker.pl/2011.02.22-zdz-prel.jpg)
Do wyboru są dwie pozycje:
Oczywiście nagrań i materiałów jest więcej, pozostałe prezentacje: Zimowisko 2010, Zimowisko 2011.
W tle masowego przebudowywania rawhide (optymalizacja przez GCC 4.6, kompresja paczek z użyciem xz) umknęła gdzieś informacja, że wydzielono już gałąź F15.
Oznacza to, że:
A jutro Alpha Freeze!
O kurwa.
(czemu nikt mi nie powiedział, że to Aronofsky'ego? Bym się przygotował na wdeptanie w glebę)
Zmierzchało, więc Kasia pstryknęła włącznik lampy. Nic się nie zmieniło. Westchnęła. Ten dzień nie należał do najlepszych od samego początku. Wcześniej głucha cisza w słuchawce komórki uświadomiła jej, że znowu wyślizgnęło jej się rozumienie jak działa wokoder w GSM. Ogólne pojęcie, że komórka odtwarza fragment dźwięku o numerze, który wysłał aparat osoby mówiącej miała. Niestety, nie łączyło się to w na tyle jasną całość, żeby porozmawiać z bratem.
Westchnąwszy ponownie, zaczęła rozglądać się za kartką papieru i ołówkiem. Kulkowy wynalazek Laszlo Bira mógł nie zdać egzaminu, łatwo dać się rozproszyć kwestiom napięcia powierzchniowego. Tego feralnego dnia przejrzenie Wikipedii też miało by wartość jedynie mentalnej telewizji, wpadającej oczami, ale nie aktywującej neuronów.
Ołówek, kartka, westchnięcie. W lekkim półmroku przebiegła wzrokiem od wtyczki tkwiącej w gniazdku, przez włącznik do oprawy żarówki i szyderczo mrocznej świetlówki. Na rozgrzewkę wykonała prosty schemat, kółko z krzyżykiem, dwa przewody, źródło napięcia w ścianie. Za mało. Skupiła się bardziej na dwóch przewodach.
Są z metalu. Pan Siemens z literą sigma. Nośnikiem prądu są elektrony. Metal ma elektrony. Wolne elektrony przekazywane są dalej. Dostrzegła jakby delikatny rozbłysk, który szybko zgasł. Jednocześnie czuła pod czaszką kręcące się zębatki. Między neuronami również przeskakują elektrony, pomyślała. Fragmenty teorii zaczynały się układać w całość.
Na wszelki wypadek wezwała urojonych przyjaciół i rozszerzyła rozważania o admitancję. Karta była już w połowie pokryta równaniami, które zdawały się dokąś prowadzić. Z hardością wprowadziła prawo Gaussa. Gdy rozpisywała dywergencję, mięśnie musculus risorius podciągnęły kąciki jej ust z satysfakcją. Przypomniała sobie, skąd się brał ruch ładunków. Pokój wypełnił sie jasnym światłem. Patrząc na kabel niemal widziała jak pole elektryczne przesuwa się po powierzchniach drucików, tworzących linkę przewodu. światło zaczęło mrugać. No tak, zjawisko naskórkowości przy częstotliwości 50Hz jest pomijalne. Lepiej o tym nie myśleć. Blask powrócił do śnieżnej bieli.
Dzień był kiepski na tyle, żeby nie była w stanie rozruszać wiedzy wyniesionej z chemii. Szkoda, zrozumienie interakcji między kofeiną a ludzkim organizmem bardzo zwiększyło by komfort dopijanej przez nią kawy. Jak zwykle w takim chwilach zastanowiło ją, że nigdy nie miała problemów z rozumieniem działani optycznych wzmacniaczy laserowych. Pompowanie energii falami o innej długości od początku wydawało się fascynujące, a teraz pozwoliło jej wrócić do bezproduktywnego oglądania zdjęć kotów z niewidzialnymi kanapkami.
świat stał się dziwny od momentu, gdy trzeba było rozumieć jak rzeczy działają, żeby z nich korzystać. Co prawda spadło wtedy kilka samolotów, ale od tamtej pory piloci naprawdę wiedzą, dlaczego maszyna leci i co może się z nią stać. A jak ktoś nie rozumiał co składa się na cztery suwy, nie był w stanie odpalić samochodu i stanowić zagrożenia na drogach (bezwładność to też trudne zagadnienie).
[świat, w którym działa tylko to, co rozumiemy, wymyśliła Asia. Dzięki :*]