Propozycja do rc-scripts

Jacek Osiecki joshua2 w ciapek.uci.agh.edu.pl
Wto, 23 Mar 1999, 19:27:01 CET


On Mon, 22 Mar 1999, Grzegorz Stanislawski wrote:

> On Mon, 22 Mar 1999, Rafał Kleger-Rudomin wrote:

> > On Mon, 22 Mar 1999, Tomasz Kłoczko wrote:

> > Ja już się w to wgryzałem - jak pisałem dysponuję czymś co chodzi bez
> > problemu od pół roku i do tego pozwala wsadzać dysk na różne interfejsy
> > (nie tylko np. /dev/hda). O szczegółach za chwilę.

> > Więc może przybliżę problem i jak go rozwiązałem:

> Fajnie to zrobiles, tylko obawiam sie ze jesli ma to wejsc do dystrybucji
> musi byc bardziej ogolnie.

Jakoś nie mogę znaleźć listu, od którego ta dyskusja się zaczęła. Widzę
jednak, że tematyka jest mi bliska, bo od pewnego czasu dysk ze swoim
linuxem odpalam na wielu różnych komputerach...

> > Czy potraficie wskazać jakieś istotne pliki z partycji nie-root które
> > trzebaby podmieniać? bo wtedy sprawa sie mocno komplikuje.
> > Jeśli nie to wszysko jest proste: podmiana w jednym rzucie (tylko w etc?)

> Ano wlasnie, w dystrybucji, powinnismy chyba zrobic rejestr wszystkich
> plikow konfiguracyjnych (to sie tez zbiega troche z kloczkowym pomyslem na
> repository z konfigami)

Może opiszę, w jaki sposób realizuję multiconfig u siebie:

Stworzyłem na początek katalog /etc/rc.d/multiconfig, a w nim:

PLIKI 	- plik, zawierający listę plików konfiguracyjnych do podmiany
konfigi - plik z listą konfiguracji (nie do końca potrzebny - można się
	  bez niego obyć),
ethaddress - Założyłem, że wszystkie komputery do których przyłączam dysk mają
	     kartę sieciową. W pliku tym są adresy fizyczne kart eth i
	     odpowiadające im konfiguracje.
detect	- skrypt, ładujący moduły kart sieciowych i stawiający na chwilę
	  interface eth0 w celu wydobycia adresu karty.
manual	- jeśli nie powiedzie się rozpoznanie komputera po adresie karty
	  sieciowej, to skrypt ten odpala listę wyboru (za pomocą dialog)
	  z dostępnymi konfiguracjami.

konfig.(nazwa)	- w takich katalogach trzymam komplet plików konfiguracyjnych
		  dla danej konfiguracji. U mnie na razie wygląda to tak:

HOSTNAME    conf.modules  hosts       libvga.config  mouse    resolv.conf
smb.conf    XF86Config  fstab         ifcfg-eth0  lynx.cfg       network
sendmail.cf

Ż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 /

# Multiconfig section ends here

Gdy już jest ustalona konfiguracja, to kasowane są wszystkie pliki
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).

Ten system działa u mnie bezproblemowo od paru miesięcy (wcześniej działał
też dobrze, ale bez automatycznego wybierania konfiguracji) i nie
stwierdziłem żadnych problemów.

> To co pisze jest troche abstarkcyjne, ale kto wie moze sie nada.

Jak widać, nie. Swoją drogą, nie przypuszczałem że więcej osób się czymś
takim zajmuje. Jednak myślę, że takie coś powinno być dostępne raczej w
postacji dodatkowego pakietu (w sumie niezbyt skomplikowanego)...

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