Propozycja do rc-scripts

Jacek Osiecki joshua2 w ciapek.uci.agh.edu.pl
Pią, 26 Mar 1999, 13:10:35 CET


On Thu, 25 Mar 1999, Rafał Kleger-Rudomin wrote:

> On Tue, 23 Mar 1999, Jacek Osiecki wrote:

> ... ciach...
> > Żeby to działało, to na początek /etc/rc.d/rc.sysinit (zaraz za definicją
> > PATH) wrzuciłem:

> > # Run Multiconfig

> > echo "Remounting root filesystem in read-write mode."
> > mount -n -o remount,rw /

> > # to było konieczne, żeby dało się załadować moduły kart sieciowych
> > mount proc /proc -t proc

> > /etc/rc.d/multiconfig/runconfig

> > echo "Remounting root filesystem in read-only mode."
> > mount -n -o remount,ro /

> Co robi runconfig? Czy dobrze rozumiem że grzebie na dysku przed jego
> sprawdzeniem?

runconfig najpierw odpala programik "detect", aby wykryć ew. komputer po
numerze karty sieciowej. Jeśli nie powiedzie się autodetekcja, to odpalany
jest program "manual", który wyświetla za pomocą dialog-a menu ze wszystkimi
dostępnymi konfiguracjami. Dopóki nie wybierzesz czegoś, nie ruszy dalej.
Gdy już ma ustaloną jakąś konkretną konfigurację, to bierze i linkuje
odpowiednie pliki konfiguracyjne.

> > konfiguracyjne z listy PLIKI, a na ich miejsce pojawiają się hardlinki (mam
> > wszystko na jednej partycji) do ich odpowiedników w
> > /etc/rc.d/multiconfig/konfig.(nazwa).

> Hmm.. rozwiązanie dla dystrybucji powinno być bardzie ogólne. (tzn nie
> powinniśmy zakładać że wszystko będzie na jednej partycji)

Równie dobrze można robić softlinki (chyba zakładamy, że mamy partycję ext2?:)
Dlaczego linki, a nie kopiowanie? Bo jeśli przy pracy na jakiejś
konfiguracji zmienię np. konfigurację sendmaila albo XFree, to ta elegancko
się zapisze. Z drugiej strony, kopiowanie plików zamiast linkowania mogło by
pomóc, gdyby ktoś za bardzo popsuł pliki konfiguracyjne.
Tutaj więc lista plików powinna też mieć przy każdym pliku informację, czy
ma to być kopiowanie, soft link czy hard link.

> Według mnie w tej chwili nie jest najważniejszy kształt tego pakietu, ale
> to jak bardzo trzeba zmodyfikować rc.sysconfig, tzn trzeba tam wbudować
> odpowiednie wywołania i puścić go do testowanie żeby sprawdzić czy zmiany
> nie będą przeszkadzać w pracy "zwykłym systemom"

> Jeśli chodzi o owe zmiany w rc.sysconfig to wydaje mi się że proponowane
> przez Ciebie przemountowania w tą i z powrotem raczej nie powinny
> występować.

No ale jakoś musimy jakoś zmienić te pliki, zanim reszta systemu ruszy...
Chyba, żeby ustawiać po prostu zmienną CONFIG i dorzucić do
/etc/rc.d/init.d/ jakiś skrypt np. make-links, a w /etc/rc.d/rc1.d i rc3.d
wrzucić K09make-links (coby się pierwsze wykonywało). Tylko obawiam się, że
rc.sysinit jeszcze przed uruchomieniem rcx.d/cokolwiek za dużo grzebie w
systemie (choćby montowanie partycji) - a przecież fstab musi już być
poprawny.

> Ja w każdym razie zrobiłem to inaczej i jak się sprężę to swój projekt
> rc.sysconfig na jutro przygotuję, żeby był punkt odniesienia do dalszej
> dyskusji.

Jeszcze parę uwag: wypadałoby, żeby multiconfig albo miał ustawiony jakiś
timeout, albo automatycznie wykrywał na jakim komputerze startuje. Do obydwu
tych rzeczy raczej jest potrzebny /proc (dialog nie ma czegoś takiego jak
timeout - pozostaje kill `pidof dialog`). Żeby z kolei się nie rzucało, to
trzeba zmienić opcje w /etc/fstab dla filesystemu /proc na noauto.

Można by też umożliwić wykrywanie partycji, z której startuje linux. W
przypadku sytuacji awaryjnych (np. podłączony dysk jako slave zamiast
master) zmieniałoby odpowiednio fstaba... W zasadzie można całkowicie
zrezygnować z podpinania całego fstaba na rzecz bardziej automatycznego
procesu (np. numery partycji, z których linux ma startować).

Kiedyś zamiast tych zabaw z mountowaniem startowałem linuxa po prostu z
opcją rw zamiast ro. Ale tak chyba jest bezpieczniej...

Pozdrawiam,
-- 
|            Jacek Osiecki               Kraków, tel. (012)-645 57 87       |
|mailto:joshua2 w linux.uci.agh.edu.pl     http://dwd.interkom.pl/joshua/     |



Więcej informacji o liście dyskusyjnej pld-devel-pl