Hallo! erstmal vielen Dank! Hat gut funktioniert. An einer Stelle müsste man fürs Archiv noch etwas ändern, s.u.: Am Fre, 2002-10-18 um 05.37 schrieb David Haller:
Einen solchen "Umzug" macht man aber sowieso so, dass man 1. kopiert, 2. umstellt, 3. (nach einer Test-Phase) loescht. Kritisch ist (nur) Schritt 2!
Also z.B. (angenommen /usr liegt bisher auf '/'[1] und /dev/hdc7 ist die Partition auf der zukuenftig /usr liegen soll):
==== mke2fs /dev/hdc7 sync mount /dev/hdc7 /mnt/ init 1 ## das ist hier wohl schon angebracht, muss aber AFAIK ## (noch) nicht unbedingt sein... mount -oremount,ro / cd /usr tar -cp --atime-preserve . | tar -C /mnt/ -xvp --atime-preserve sync umount /mnt
## vor dem nächsten Schritt müsste das read-only-mounten rückgängig ## gemacht werden. Ich habe einfach gebootet, wäre ein mount -oremount,rw / ## die korrekte Lösung gewesen?
## nun der (einzige!) wirklich kritische (3-)Schritt, hier ist ein ## 'init 1' oder besser noch 'init S' dann schon angebracht... ## Alternativ: siehe [3] mv /usr/ /usr.old && mkdir /usr && mount /dev/hdc7 /usr ## und hier kann man evtl. schon wieder zu 'init 3' oder sonstwas ## wechseln ldconfig ## IIRC ist das sogar ueberfluessig, da sich der Pfad der ## libs ja nicht aendert! ## und nun: in aller Ruhe die fstab anpassen, koennte man aber ## auch schon frueher machen... $EDITOR /etc/fstab ## [...es folgt eine je nach Paranoia ausgedehnte Testphase...
noch bin ich hier...
## Paranoiker sind zu einem (ungetestet!): ## ( s=0 ## for f in `find /usr.old -type f`; do ## cmp "$f" "${f//\/usr.old\//\/usr\/}" || { echo "$f" >&2; s=$[s+1]; } ## done ## exit $s ## ) ## herzlich eingeladen...] rm -rf /usr.old/ ====
Vielen Dank und viele Grüße Henning