/usr auf neu Platte auslagern

Message
Author
hendrik
Posts: 165
Joined: 16. Aug 1999 13:06
Contact:

/usr auf neu Platte auslagern

#1 Post by hendrik »

hai

worauf muss ich achten wenn ich das Verzeichnis /usr auf eine neue platte auslagere ---> /dev/hdd1
Wie erzeuge ich einen Link darauf unter root?
(Suse 6.1 Kernel 2.3.!0)
nche ne frage: kann ich mit einem patch den Kernel auf 2.3.16 updaten oder müsste ich den gesamten runterladen?

ciao hendrik

User avatar
pawel
Posts: 117
Joined: 22. Jul 1999 20:29
Location: Hannover
Contact:

Re: /usr auf neu Platte auslagern

#2 Post by pawel »

1. Sagt wie siehen Deine Partitionen aus.
stell hier die Datei /etc/fstab
Kann man konkreter sagen.

2. Der patch 2.3.11 einspiellen, dann 2.3.12,
... am Ende 2.3.16.

Ich mache immer so. Kann sein das das nicht sein muss
pawel

User avatar
mflaig
Posts: 220
Joined: 05. Aug 1999 12:02
Location: Germany
Contact:

Re: /usr auf neu Platte auslagern

#3 Post by mflaig »

ja die usr kannst du auslagern.
Mache die neue Platte auf die dann usr drauf soll erst mal komplett leer.
dann formatiere sie mit ext 2 !
dann startest du ein mini Linux von Diskette !
Nun änderst du den das ding so :
die zukünftige usr platte erst mouten aber unter /mnt/usr/ dann alles von usr nach /unt/usr/ kopieren.
dann wenn alles ging das usr verzeichnis leer machen. nun in fstab eintragen:
die /mnt/usr/ also nun nicht mehr so einhängen sondern als /usr/ (in fstab)
Warscheinlich musst du auf der Platte noch rechte verändern, wenn du als roor kopiert hast.
Das solltest du dir so noch mal überlegen.
Wenns nicht geht ich wars nicht ...
Cu,
Michael

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: /usr auf neu Platte auslagern

#4 Post by hjb »

Hi,

du brauchst keinen Link.

Zuerst kopiertst du /usr komplett auf die neue Platte. Dazu musst du die neue einmal irgendwo mounten, z.B. /mnt, also so etwa

mount /dev/hdb1 /mnt

vorher muss sie natürlich schon formatiert sein.

Nachdem /usr kopiert ist, unmounten,
/usr in /etc/fstab eintragen, /usr nach /usr1 schieben (und später löschen), mkdir /usr (sehr wichtig) und dann mount /dev/hdb1 /usr. Runterfahren ist nicht nötig und wäre auch eher schädlich.

Wenn es soweit geklappt hat, kannst du das alte /usr1 löschen.

Gruß,
hjb

hendrik

Re: /usr auf neu Platte auslagern

#5 Post by hendrik »

danke an Euch

werde mich daran begeben
meine fstab sieht so aus

/dev/hda2 /swap swap default 0 0
/dev/hda1 / ext2 default 1 1
/dev/hdb1 /opt ext2 default 1 2
/dev/hdb2 /home ext2 default 1 2
/dev/hdd1 /nPladde ext2 default 1 2
/dev/hdc /cdrom iso9660 ro,noauto,user 0 0
usw.

wobei hdd ausgetauscht wird ist zu klein, auf nPladde habe ich meine downloads gesichert, man weiss ja nie.

als dann hendrik <img src="http://www.pro-linux.de/Images/Wilk.gif" border="0" align="middle">

jens
Posts: 5
Joined: 16. Aug 1999 9:21

Re: /usr auf neu Platte auslagern

#6 Post by jens »

Bitte versuche nicht die Platte mit cp zu kopieren das geht nicht gut packe dein /usr
ein (auf neue Platte)

tar -c /usr/* -vf /mnt/usr.tar

dann packe sie wieder aus

cd /mnt/
tar -xvf usr.tar
rm usr.tar

dann gehe in single usrmode
trage vorher in /etc/passwd rooteintrag
als shell die /bin/tcsh ein denn die bash öffnet eine Datei in /usr/lib...
umounte /usr
umounte /dev/hdd1
mounte /dev/hdd1 /usr

gehe wieder init 2 o. 3

dann ändere /etc/fstab

fertig

hendrik
Posts: 165
Joined: 16. Aug 1999 13:06
Contact:

Re: /usr auf neu Platte auslagern

#7 Post by hendrik »

hai jens

den ersten Teil verstehe ich
nur was meinst Du im absatz dann gehe.....???
Ich bin halt nur ein Büroanwender und habe nicht soviel Zeit mich um Programmstrukturen zu kümmern, sprich bis auf ein bischen sehr wenig Grundkenntnisse habe ich eigentlich keine Ahnung.
Kannst Du mir diesen Abschnitt genauer erklähren?
Währe echt toll!

singel usermode?
was muss ich in die etc/passwd eintragen?
was hat es mit der init2.0.3 aufsich.
wie Du siehst stehe ich dabei wie ein ...naja vorm Berg <img src="http://www.pro-linux.de/Images/Wilk.gif" border="0" align="middle">

mit "cp" und der dazu gehöhrenden prozedur währe ich vertraut.

ciao hendrik

jens

Re: /usr auf neu Platte auslagern

#8 Post by jens »

also sorry.

Bootvorgang von UNIX Systemen

Runlevel - sind verschiedene Zustände des Systems mit init oder telinit wechselt man zwischen den Runleveln hin und her.
Es gibt vorgefertigte Runlevel wie
S - Singleusermode
0 - Halt (ja dasselbe wie der Befehl "halt"
oder "init 0")
3 - meist Netzwerk Multiuser und grafik login
6 - Reboot

den Rest 1, 2, 4, 5 sind für persönliche zwecke selbst konfigurierbar 7, 8, .. ist auch denkbar.

Nun der Single Usermode ist nur für den Administrator gedacht es werden alle Netzdienste gestoppt und auch sonstige daemonen wie syslog, ...

2.)

du must dir für den user root eine andere Loginshell definieren, denn die bash öffnet im /usr/ dir ein file. da du aber /usr/ umounten willst darf dort kein file open sein also nimmst du eine andere die nicht so blöd ist im single usermode ein file zu öffnen.
Eigentlich ist dieser RL zu reparatur von filesystemen und sonstigen kritischen Arbeiten gedacht.
nun zum Eintrag.

in der Zeile der /etc/passwd wo am Anfang root:x:....
steht trägst du statt .../bash
.../tcsh ein es kann dort auch nur .../sh stehen dann änderst du .../sh.

dannach fährst du dann mit "init S" in den
SUM (du mußt das root passwort eingeben)

wenn du soweit fertig bist kannst du ganz in Ruhe und ohne Fehlermeldung deine Laufwerke umounten und die neue /usr/ mounten.

nun weist du auch bestimmt dein defaultrunlevel.
wenn du dich normalerweise grafisch einlogst
dann ist es Runlevel 3 ansonsten 2

nun noch einmal zu cp um mit cp eine Partition zu kopieren mußt du unbedingt die man page lesen und dir die Parameter heraussuchen. glaub es mir mit "tar" geht es viel besser.
cp kopiert ohne extra Parameter keine Links ... ach machs mit tar<img src="http://www.pro-linux.de/Images/Wilk.gif" border="0" align="middle">

ich gehe davon aus das du die Platte vor dem kopieren Partitioniert und ein fs draufgebracht hast

leider muß die neue Platte doppelt so groß sein wie die neue denn ein tarfile bleibt nach dem auspacken bestehen. Wenn platznot ist kannst du es noch komprimieren mit dem Parameter -z füg einfach vor -c ein (-zc )

Tschau sag ob gefunzt hat

hendrik
Posts: 165
Joined: 16. Aug 1999 13:06
Contact:

Re: /usr auf neu Platte auslagern

#9 Post by hendrik »

moin

dank für die ausführliche erklärung
ich werde mich die nächsten Tage daran begeben, muss mich nur noch ein wenig gedulden bis ich die Zeit aufbringen kann
diesen operativen Eingriff zu starten
Melde mich auf jeden fall <img src="http://www.pro-linux.de/Images/Wilk.gif" border="0" align="middle">

ciao hendrik

hendrik
Posts: 165
Joined: 16. Aug 1999 13:06
Contact:

Re: /usr auf neu Platte auslagern-->gefunzt:-)

#10 Post by hendrik »

Danke an alle <img src="http://www.pro-linux.de/Images/Happy.gif" border="0" align="middle">

Hai jens habe mich an Deinen Rat gehalten

ciao hendrik

andre

Re: /usr auf neu Platte auslagern

#11 Post by andre »

bloss mal eine Kleinigkeit wegen tar:

Die Variante ist wegen symbolischen Links und so Sachen tatsaechlich das wohl einfachste (mach ich auch immer so). Nur springen mir zwei Dinge ins Gesicht. Erstmal ist es naemlich gar nicht noetig, das tar-file als file zu Speichern, sondern dazu kann man ja viel besser pipes verwenden. Damit faellt dann auch der Faktor zwei weg! Man kann naemlich die Ausgabe vom tar in das andere tar wieder als Eingabe reinpipen. Das sieht dann z.B. so aus:

tar cf - /usr|tar xvf - /mnt/newusr

Merke also, mit "-" als Dateiname kann man auf stdin bzw. stdout zugreifen. Option v macht da keinen Aerger -- ich nehm mal an, sie schreibt auf stderr (wie soll es sonst gehen). Zur Sicherheit kann man sie ja aber nur beim Auspacken verwenden ... macht bei einer pipe ja eh Sinn, alles nur einmal aufzulisten.

Ja und die andere Kleinigkeit ist (wie zu sehen), dass man bei tar kein Minus fuer Optionen am Anfang braucht. Zwar ist man es von Unixkommandos ja eigentlich sehr einheitlich gewoehnt (siehe getopt-routine von libc -- sowas gibts auf jedem Unix), aber tar funktioniert eigentlich anders (und nur neuere Varianten koennen beide Schreibweisen). Ich nehme mal an, das GNU Teil funktioniert auch so ... keine Ahnung, ich arbeite nicht unter Linux und hab auch gerade keins verfuegbar, aber mich wuerde es wundern, wenn es die urspruengliche Unix-Variante nicht unterstuetzt. (PS: Weiss jemand, wie es im POSIX Standard festgelegt ist ... waere an dieser Stelle wohl die eigentliche Referenz, wie es gehen sollte.)

Ach ja, und nur weil es praktisch ist: das mit dem Umleiten von stdin anstatt einer Dateiangabe, geht bei vielen Programmen z.B. an cat, paste und was weiss ich noch. Sehr praktisch.

Na alles nur so als Hinweis fuer jeden, der noch nicht vorher schon mal drueber gestolpert ist.

Andre

hendrik
Posts: 165
Joined: 16. Aug 1999 13:06
Contact:

Re: /usr auf neu Platte auslagern

#12 Post by hendrik »

moin,
das ist ja slles sehr interesant.
es sieht so aus als dass einen workshop oder Tip wert währe.
so über die kommando- und dateistruktur,
diese "|" pipe´s und wie sogenannte kommandoketten abgearbeitet werden.
da währe noch die "named pipe" und wie man solche anlegt und vorallen Dingen wie pipe´s eingesetzt werden.
in diesem zusammenhang ne frage, gibt es irgend eine literatur die so etwas verständlich erklärt?

ciao hendrik

andre

Re: /usr auf neu Platte auslagern

#13 Post by andre »

Also wenn das Interesse hat mit Pipes und so ein paar Tricks auf der Kommandozeile bin ich da gern bereit, mal mein Wissen aus ein paar Jahren Umgang mit verschiedenen Unixen mit auszuschuetten. Aber ich fuerchte, allein reicht das noch lang nicht fuer einen Artikel. Eigentlich waere das was fuer den Abschnitt bash, oder besser generell "shell". Dort koennte man was mit Pipes machen ... ich kann auch was dazu beitragen, wie man sowas programmiert (unbenannte und benannte pipes -- alles schon gemacht). Aber allein reicht das nicht -- ich kenn z.B. keine Spezialitaeten der bash, weil ich im wesentlichen ksh mache (jaja AIX <img src="http://www.pro-linux.de/Images/Wilk.gif" border="0" align="middle">). Und die Nutzung in der shell ist ja wohl von Hauptinteresse. Koennten wir mal in einem laenglichen Forumbeitrag sammeln ... wie klingt sowas?

Jens

Re: /usr auf neu Platte auslagern

#14 Post by Jens »

Find ich super so kann jeder sein Senf dazugeben vielleicht macht man ja nen forum für shell auf (eigentlich angebracht wenn man schon perl hat).

Ich trau den | (pipes) noch nicht so. oder besser ich weis net wie wann und wo man die außer bei | less, | grep ..., | wc .., | ...
einsetzen kann.

den sinn einer named pipe hab ich auch noch net kapiert. man legt eine an und schreibt rein toll wo landets den?? in der pipe? dann könnt ich ja auch nen file nehmen.

ok bis später

andre

Re: /usr auf neu Platte auslagern

#15 Post by andre »

zu der named pipe Frage von eins weiter oben (bin schon die ganze Zeit off topic, ich weiss -- sorry!!!):

Also stell Dir mal vor, Du schreibst z.B. ein Client/Server Programm. Und nun will der Client dem Server was schicken. Nun, wie soll das gehen? Kann man z.B. natuerlich irgendwas mit shared memory zur Kommunikation zwischen Prozessen machen und Signale unterstuetzt Unix zur Interprozesskommunikation auch. Eine andere (und eben ziemlich einfach zu realisierende) Variante ist, dass man eine Pipe macht. Der Client schreibt was rein, der Server liest davon (insbesondere koennen mehrere Clients reinschreiben und solange man das Protokoll entsprechend baut und immer in einem Schreibschritt ein komplettes Kommando uebermittelt, ist auch gewaehrleistet, dass das als ein zusammenhaengendes Paket in der Pipe landet). Der Client schreibt also am Ende rein, der Server liest vom Anfang. Das ganze geht voellig kontinuierlich von statten und befehlsmaessig eben auch wie Dateiarbeit! Alles sehr einfach und man muss nie irgendwie mal wieder alle Daten loeschen, die eben abgearbeitet sind, weil es eben eine Pipe ist. Und bei dem Client/Server Beispiel sieht Du eben auch, dass man hier eine benannte Pipe super nutzen kann, weil man dann einfach einen Client starten kann, der den Zugriff ueber den bestimmten Dateinamen zum Server erhaelt und die kommunizierenden Programme muessen nicht als Kindprozesse geforked werden (sonst verwendet man unbenannte Pipes, wie es eine shell macht -- und ueber duplizieren von Dateihandles werden die Pipes dann von der shell mit stdin/stdout (wenn man's will, geht es auch genauso mit stderr) verbunden, was man mit eigenen Programmen auch ganz leicht machen kann, denn das sind nur ein paar C Routinen, die das bewerkstellen ...).

Na gut ... so ein Client/Server Ding hab ich mal selbst geschrieben und unbenannte Pipes natuerlich auch schon zum durchpipen von Daten durch externe Programme verwendet. Ich bin aber kein Informatiker, also weiss nur so bescheid mit dem, was ich selbst irgendwann mal gebraucht hab, aber reicht ja vielleicht fuer so ein paar Fragen nach dem Motto, was ich schon immer wissen wollte, auch ... <img src="http://www.pro-linux.de/Images/Wilk.gif" border="0" align="middle">

Andre

--
"In a world without walls and fences who needs windows and gates ...?!?"

Locked