-ENOTTY

Szef kuchni poleca: Beefy Miracle t-shirts O mnie Planeta !apcoh Social

systemd: stadko zamieniających Uniksa demonów (04 sierpnia 2011, 15:54:24)

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''

  • jest ustawiona nazwa hosta
  • listę zalogowanych użytkowników uzyskujemy przez systemd-loginctl list-sessions
  • startujemy usługi na żądanie tworząc definicje .socket
  • usługi potrzebujące haseł korzystają ze zdefiniowanej metody pytania
  • unikalny identyfikator systemu można odczytać z /etc/machine-id
  • itp.
I to zawsze. Dostawca oprogramowania nie będzie musiał tworzyć zawiłych skryptów sprawdzających czy używamy xinetd, 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/hostname
  • systemd-localed — dostępne przez D-Bus ustawianie języka systemu; konfigurowane w /etc/locale.conf
  • systemd-timedated — D-Bus; ustawianie czasu, daty, strefy czasowej; konfiguracja w /etc/adjtime, /etc/timezone, /etc/locatime
  • systemd-vconsole-setup — ustawienie układu klawiatury i fontu na konsoli tekstowej; konfiguracja w /etc/vconsole.conf
  • systemd-binfmt — konfiguracja jak traktować różne pliki wykonywalne; katalog z konfiguracją: /etc/bindfmt.d
  • systemd-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.d
  • systemd-sysctl — ustawienie zmiennych jądra; konfiguracje z katalogów {/usr/lib,/etc,/run}/sysctl.d i pliku /etc/sysctl.conf
  • systemd-modules-load — ładowanie modułów jądra; pliki konfiguracyjne w /etc/modules-load.d
  • systemd-kmsg-syslogd — minimalny demon zapamiętujący informacje przed uruchomieniem właściwego syslogd
  • systemd-random-seed — inicjacja puli entropii generatora pseudolosowego; również zapisanie stanu przy wyłączaniu komputera

Wydzielenie tych drobiazgów ze skryptow startowych umożliwia:

  1. ujednolicenie zachowania wszystkich dystrybucji Linuksa
  2. ujednolicenie sposobów np. zmiany nazwy komputera na wszystkich dystrybucjach
  3. uruchamianie powyższych czynności jednocześnie
  4. uruchamianie w razie potrzeby w trakcie działania komputera (np. pojawienie się nowego pliku w /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.

6 komentarzy | Trackback

systemd: modyfikacja jednostek (20 czerwca 2011, 15:27:37)

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

Dodaj komentarz | Trackback

3.0 zalicza czy psuje (07 czerwca 2011, 10:40:09)

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 wersji
  • mdadm też krztusi się z dwucyfrowym numerkiem
  • distributed.net client nie startuje, wysypuje się na inicjalizacji timerów
  • aktualizacji wymagały module-init-tools w Fedorze

3.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.

4 komentarze | Trackback

/run Forest, /run (30 marca 2011, 18:36:14)

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:

  • pliki blokad (/run/lock, dostępne również jako /var/lock)
  • różne pliki uruchomieniowe, dotąd w /var/run
  • zbiór rzeczy do tej pory ukrywanych w .katalogach w /dev:
    • dane udev z /dev/.udev
    • informacje przekazane przez programy z initramfs, działające przed zamountowaniem /, dotąd w /dev/.initramfs
    • informacje z systemach plików z /dev/.mount/utab (wszystko to, co nie jest zawarte w /proc/self/mounts)
    • pliki kontrolne w /dev/.systemd
    • pliki tymczasowe z /dev/.mdadm
  • pamięć podręczną z /etc/lvm2/cache
A także inne pliki tworzone przez dracut, 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.

4 komentarze | Trackback

Tłik (24 marca 2011, 07:55:01)

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]

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]

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)

10 komentarzy | Trackback

ofe-line (15 marca 2011, 11:04:52)

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.
[…]
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.
Ustawa z dnia 13 października 1998 r. o systemie ubezpieczeń społecznych Dz.U. 1998 Nr 137 poz. 887

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.

Dodaj komentarz | Trackback

Zdzisiek TV (22 lutego 2011, 08:55:10)

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]
Komiks by zolix

Do wyboru są dwie pozycje:

Oczywiście nagrań i materiałów jest więcej, pozostałe prezentacje: Zimowisko 2010, Zimowisko 2011.

Dodaj komentarz | Trackback

Odgałęzienie Lovelock (14 lutego 2011, 12:01:33)

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:

  • aktualizacje nie trafiają automatycznie do repozytorium, muszą przejść przez Bodhi i updates-testing
  • paczki developerskie trzeba budować podwójnie, raz dla branched (F15), drugi dla rawhide (F16)
  • życie w przyszłości daje się odczuć silniej, widząc w systemie paczki z Fedory 16 na kwartał przed wydaniem wersji 15.

A jutro Alpha Freeze!

Dodaj komentarz | Trackback

Moja recenzja “Black Swan” (05 lutego 2011, 00:13:19)

O kurwa.

(czemu nikt mi nie powiedział, że to Aronofsky'ego? Bym się przygotował na wdeptanie w glebę)

3 komentarze | Trackback

Świat zrozumienia (03 stycznia 2011, 08:43:36)

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 :*]

6 komentarzy | Trackback

Archiwum :: 26.06.03-07.07.03 | 08.07.03-29.07.03 | 29.07.03-01.09.03 | 01.09.03-11.10.03 | 25.10.03-21.12.03 | 30.12.03-11.02.04 | 13.02.04-04.03.04 | 11.03.04-12.04.04 | 19.04.04-21.05.04 | 22.05.04-20.06.04 | 22.06.04-15.07.04 | 17.07.04-19.08.04 | 19.08.04-13.09.04 | 14.09.04-12.11.04 | 13.11.04-07.01.05 | 08.01.05-07.02.05 | 11.02.05-03.03.05 | 06.03.05-17.04.05 | 17.04.05-13.06.05 | 16.06.05-19.07.05 | 25.07.05-30.08.05 | 17.09.05-03.12.05 | 04.12.05-24.01.06 | 01.02.06-29.03.06 | 30.03.06-13.05.06 | 20.05.06-08.06.06 | 09.06.06-13.07.06 | 13.07.06-16.09.06 | 18.09.06-25.10.06 | 26.10.06-28.11.06 | 01.12.06-05.01.07 | 05.01.07-30.01.07 | 02.02.07-22.03.07 | 02.04.07-09.05.07 | 11.05.07-19.07.07 | 01.08.07-22.09.07 | 30.09.07-14.12.07 | 17.12.07-11.03.08 | 20.03.08-07.07.08 | 21.07.08-30.11.08 | 19.12.08-08.04.09 | 17.04.09-07.06.09 | 16.06.09-27.10.09 | 09.11.09-15.04.10 | 03.05.10-08.08.10 | 09.08.10-20.10.10 | 22.11.10-15.03.11 | 24.03.11-20.11.11 | 27.11.11-20.05.12 |
Dodatki :: Nagłówki RSS ATOM
Powered by Jogger. © 2002-2003 Justin Mecham oraz JabberPL Group.
Wszystkie prawa zastrzeżone. Legalność; Informacje
Technorati Profile; ikonki z Tango. Z wyłączeniem komentarzy i zaznaczonych inaczej, autorem tekstów jest zdzichu.