Hallo! Leider bin ich in eine etwas dumme Situation gerutscht und habe noch nicht herausgefunden, was ich da am besten mache. Meine root-Partition (/) ist ziemlich voll (97%). Ich habe schon alles, was mir eingefallen ist, verschoben. Ich hätte noch jede Menge Platz auf anderen Partitionen, aber ich weiß nicht, wie ich z.B. /usr darauf umlegen kann. Das hätte ich wohl bei der Installation tun sollen, aber da habe ich nur /home auf eine eigene Partition gelegt. LVM habe ich mir auch erst zu spät angesehen, da kann man wohl jetzt auch nichts mehr mit tun, oder? Vielen Dank und viele Grüße Henning
Henning Weier schrieb:
Meine root-Partition (/) ist ziemlich voll (97%). Ich habe schon alles, was mir eingefallen ist, verschoben.
Ich hätte noch jede Menge Platz auf anderen Partitionen, aber ich weiß nicht, wie ich z.B. /usr darauf umlegen kann. Das hätte ich wohl bei der Installation tun sollen, aber da habe ich nur /home auf eine eigene Partition gelegt.
Verschieb halt /usr nach /home und setze einen Symlink. Nicht besonders sauber, sollte aber eigentlich keine Probleme geben. Gruß, Patrick
On Tue, 15 Oct 2002, Patrick Hess wrote:
Henning Weier schrieb:
Meine root-Partition (/) ist ziemlich voll (97%). Ich habe schon alles, was mir eingefallen ist, verschoben.
Ich hätte noch jede Menge Platz auf anderen Partitionen, aber ich weiß nicht, wie ich z.B. /usr darauf umlegen kann. Das hätte ich wohl bei der Installation tun sollen, aber da habe ich nur /home auf eine eigene Partition gelegt.
Verschieb halt /usr nach /home und setze einen Symlink. Nicht besonders sauber, sollte aber eigentlich keine Probleme geben.
NEIN. das ist Harakiri auf Raten ;-) Danach kannst du (fast) kein Kommando mehr in der Shell starten. Das kann man probieren wenn man im single user mode ist, aber selbst da bin ich nicht sicher ob nicht noch irgendwelche Programme was in /usr suchen.
Achim Hoffmann schrieb:
On Tue, 15 Oct 2002, Patrick Hess wrote:
Verschieb halt /usr nach /home und setze einen Symlink. Nicht besonders sauber, sollte aber eigentlich keine Probleme geben.
Danach kannst du (fast) kein Kommando mehr in der Shell starten.
???
Das kann man probieren wenn man im single user mode ist, aber selbst da bin ich nicht sicher ob nicht noch irgendwelche Programme was in /usr suchen.
Sollen sie doch in /usr suchen. Per Symlink landen sie dann halt in /home/usr. So läuft das hier auch. /usr/local/Scripts ist im Pfad, das Ding ist aber nur ein Symlink auf /shares/usr/local/Shared/Scripts. desk6:~ » ls -ld /usr/local/Scripts/ lrwxr-xr-x 2 patrickh users 1024 Okt 14 12:25 /usr/local/Scripts/ -> /shares/usr/local/Shared/Scripts desk6:~ » ls /usr/local/Scripts/AudioCD2MP3 /usr/local/Scripts/AudioCD2MP3 desk6:~ » which AudioCD2MP3 /usr/local/Scripts/AudioCD2MP3 Oder habe ich deinen Einwand da mißverstanden? Gruß, Patrick
On Tue, 15 Oct 2002, Patrick Hess wrote:
Achim Hoffmann schrieb:
On Tue, 15 Oct 2002, Patrick Hess wrote:
Verschieb halt /usr nach /home und setze einen Symlink. Nicht besonders sauber, sollte aber eigentlich keine Probleme geben.
Danach kannst du (fast) kein Kommando mehr in der Shell starten.
???
Das kann man probieren wenn man im single user mode ist, aber selbst da bin ich nicht sicher ob nicht noch irgendwelche Programme was in /usr suchen.
Sollen sie doch in /usr suchen. Per Symlink landen sie dann halt in /home/usr. So läuft das hier auch. /usr/local/Scripts ist im Pfad, das Ding ist aber nur ein Symlink auf /shares/usr/local/Shared/Scripts.
Oder habe ich deinen Einwand da mißverstanden?
weiss ich nicht.
btr.: mv /usr /home/usr&&ln -s /home/usr /usr
In /usr/lib liegt einiges rum was ldconfig braucht, und dem ziehst du das Verzeichnis weg. Also kommen bei vielen Programmen, die nicht statisch gebunden, sind Fehler (wenn die Shell sie ueberhaupt noch starten kann). Das Verhalten ist u.U. etwas random, da ein Teil der Libs im Memory sein kann. Siehe: /sbin/ldconfig -p|grep usr Mutige koennen das mit dem Symlink im laufenden Betrieb ja mal ausprobieren, ich bin fast sicher dass man dann schnell zur Floppy/CD greifen muss ;-) Achim
* Achim Hoffmann schrieb am 15.Okt.2002:
On Tue, 15 Oct 2002, Patrick Hess wrote:
Achim Hoffmann schrieb:
On Tue, 15 Oct 2002, Patrick Hess wrote:
btr.: mv /usr /home/usr&&ln -s /home/usr /usr
In /usr/lib liegt einiges rum was ldconfig braucht, und dem ziehst du das Verzeichnis weg. Also kommen bei vielen Programmen, die nicht statisch gebunden, sind Fehler (wenn die Shell sie ueberhaupt noch starten kann). Das Verhalten ist u.U. etwas random, da ein Teil der Libs im Memory sein kann. Siehe: /sbin/ldconfig -p|grep usr
Mutige koennen das mit dem Symlink im laufenden Betrieb ja mal ausprobieren, ich bin fast sicher dass man dann schnell zur Floppy/CD greifen muss ;-)
Wie kommst Du auf sowas? Natürlich macht man das nicht im laufenden Betrieb. Aber wenn man die Zeile oben von Patrick im Singelusermod, eingibt und dann ein Runlevelwechsel macht, dann ist doch alles in Ordnung. Der Symlink ist hergestellt. Ein für alle mal. Alles was unter /usr gesucht wird, steht nun unter /home/usr. Wo ist das Problem? Ob das Sinnvoll ist, ausgerechnet /usr unter /home zu legen, ist eine andere Frage, aber funktionieren tut das einwandfrei. Bernd -- Alle meine Signaturen sind rein zufällig und haben nichts mit dem Text oder dem Schreiber zu tun, dem ich antworte. Falls irgendwelche Unrichtigkeiten dabei sein sollten, so bedauere ich das. Es wäre nett, wenn Du mich benachrichtigen würdest. |Zufallssignatur 0
On 15 Oct 2002, Henning Weier wrote:
Hallo!
Leider bin ich in eine etwas dumme Situation gerutscht und habe noch nicht herausgefunden, was ich da am besten mache.
Meine root-Partition (/) ist ziemlich voll (97%). Ich habe schon alles, was mir eingefallen ist, verschoben.
Ich hätte noch jede Menge Platz auf anderen Partitionen, aber ich weiß nicht, wie ich z.B. /usr darauf umlegen kann. Das hätte ich wohl bei der Installation tun sollen, aber da habe ich nur /home auf eine eigene Partition gelegt.
LVM habe ich mir auch erst zu spät angesehen, da kann man wohl jetzt auch nichts mehr mit tun, oder?
- boot von Floppy oder CD (rescure- nicht installiertes System) - mv /usr/usr.orig - mkdir /usr - vi /etc/fstab # hier den richtigen mountpoint fuer /usr eintragen - reboot - cross your fingers Achim
Hallo! Am Die, 2002-10-15 um 19.49 schrieb Achim Hoffmann:
On 15 Oct 2002, Henning Weier wrote:
Meine root-Partition (/) ist ziemlich voll (97%). Ich habe schon alles, was mir eingefallen ist, verschoben.
Ich hätte noch jede Menge Platz auf anderen Partitionen, aber ich weiß nicht, wie ich z.B. /usr darauf umlegen kann. Das hätte ich wohl bei der Installation tun sollen, aber da habe ich nur /home auf eine eigene Partition gelegt.
- boot von Floppy oder CD (rescure- nicht installiertes System) - mv /usr/usr.orig - mkdir /usr - vi /etc/fstab # hier den richtigen mountpoint fuer /usr eintragen - reboot - cross your fingers
Vielen Dank. Bis auf den letzten Hinweis hört sich das nach einer guten Lösung an. Werde ich versuchen. Viele Grüße Henning
On 15 Oct 2002, Henning Weier wrote:
- boot von Floppy oder CD (rescure- nicht installiertes System) - mv /usr/usr.orig - mkdir /usr - vi /etc/fstab # hier den richtigen mountpoint fuer /usr eintragen - reboot - cross your fingers
mit /.... ist natuerlich das /... gemeint welches du verschieben willst, nicht das des gerade gebooteten Systems !! also evtl. durch den richtigen Pfad ersetzen
Vielen Dank. Bis auf den letzten Hinweis hört sich das nach einer guten Lösung an. Werde ich versuchen.
Achim
Hallo! Am Die, 2002-10-15 um 20.07 schrieb Achim Hoffmann:
On 15 Oct 2002, Henning Weier wrote:
- boot von Floppy oder CD (rescure- nicht installiertes System) - mv /usr/usr.orig - mkdir /usr - vi /etc/fstab # hier den richtigen mountpoint fuer /usr eintragen - reboot - cross your fingers
mit /.... ist natuerlich das /... gemeint welches du verschieben willst, nicht das des gerade gebooteten Systems !! also evtl. durch den richtigen Pfad ersetzen
Danke, guter Hinweis, da werde ich mich schon durchwurschteln. Mein Hauptproblem war, dass ich nicht auf die Idee gekommen bin, das Rettungssystem zu booten. Bei einem laufenden System hatte ich keine Lust, /usr zu verschieben. Der Rest sollte schon irgendwie funktionieren, denke ich. Nochmals vielen Dank für die Tips Henning
* Achim Hoffmann schrieb am 15.Okt.2002:
On 15 Oct 2002, Henning Weier wrote:
Meine root-Partition (/) ist ziemlich voll (97%). Ich habe schon alles, was mir eingefallen ist, verschoben.
Ich hätte noch jede Menge Platz auf anderen Partitionen, aber ich weiß nicht, wie ich z.B. /usr darauf umlegen kann. Das hätte ich wohl bei der Installation tun sollen, aber da habe ich nur /home auf eine eigene Partition gelegt.
LVM habe ich mir auch erst zu spät angesehen, da kann man wohl jetzt auch nichts mehr mit tun, oder?
- boot von Floppy oder CD (rescure- nicht installiertes System) - mv /usr/usr.orig - mkdir /usr - vi /etc/fstab # hier den richtigen mountpoint fuer /usr eintragen - reboot - cross your fingers
Was soll das werden? Wenn Du das rescure-System und nicht das installierte System bootest, dann veränderst Du mit mv /usr /usr.orig lediglich die Bezeichnungen im virtuellen rescure-System und nicht im installierten System. Was aber auch gut so ist. Wenn Du was im Installierten System ändern willst, dann mußt Du es erst mounten, etwa unter /mnt und dann kanst Du was ändern. Aber bitte nicht /usr nach /usr.orig umbenennen. Wenn Du das machst, dann hast Du wirklich die Probleme, die Du Patrick Hess vorgehalten hast. Denn z.B die Libs werden in /usr/lib und nicht in /usr.orig/lib gesucht. Es besteht auch keinerlei Notwendigkeit irgendwas umzubenennen. Du kanst verschiedene Paritionen auf beliebige Mountpoints mounten. Mountpoint kann theoretisch jedes Verzeichnis sein. Wenn es nicht leer ist, wird es nach dem mounten versteckt sein. Das heißt, man kommt nicht mehr an die Daten heran, solange nicht geumountet wird. Die /etc/fstab ist lediglich eine Hilfsdatei für den mount-Befehl und da braucht man erst mal gar nichts abzuändern. Das macht man ganz am Schluß, wenn alles läuft. Ich weiß beim besten Willen nicht, was das da oben soll. Helfen tut es auf gar keinen Fall. Bernd -- ACK = ACKnowledge = Zustimmung | NAC = No ACknowledge = keine Zustimmung DAU = Dümmster Anzunehmender User | LOL = Laughing Out Loud = Lautes Lachen IIRC = If I Remember Correctly = Falls ich mich richtig erinnere OT = Off Topic = Am Thema (der Liste) vorbei |Zufallssignatur 11
also auf das "am soundso'ten schrieb foo bar:" habe ich jetzt mal verzichtet, da ich annehme, dass viele so denken und/oder handeln. Kurz und knapp, mein Kommentar: ja, es geht auch ganz einfach mit mount (unter bestimmten Bedingungen) nein, meine Loesung muss man nicht verwenden und: es ist jedem freigestellt es anders zu machen Den Rest siehe unten. Muss man nicht lesen, ist eher off-topic ... Wahrscheinlich mach ich es wie Jan, ich rede mit mir selbst. Wenn sich aber wieder jemand inhaltlich in meine Selbstgespraeche einmischt, dann bitte vorher ueberlegen was da meinerseits falsch, und/oder eurerseits richtig ist. Ich lerne gerne dazu ;-) !! * Achim Hoffmann schrieb am 15.Okt.2002: !! > !! > - boot von Floppy oder CD (rescure- nicht installiertes System) !! > - mv /usr/usr.orig !! > - mkdir /usr !! > - vi /etc/fstab # hier den richtigen mountpoint fuer /usr eintragen !! > - reboot !! > - cross your fingers !! !! Was soll das werden? !! !! Wenn Du das rescure-System und nicht das installierte System !! bootest, dann veränderst Du mit mv /usr /usr.orig lediglich die !! Bezeichnungen im virtuellen rescure-System und nicht im !! installierten System. Was aber auch gut so ist. !! !! Wenn Du was im Installierten System ändern willst, dann mußt Du es !! erst mounten, etwa unter /mnt und dann kanst Du was ändern. ja, das ist klar, wurde auch schon korrigiert !! !! Aber bitte nicht /usr nach /usr.orig umbenennen. Wenn Du das machst, !! dann hast Du wirklich die Probleme, die Du Patrick Hess vorgehalten !! hast. Denn z.B die Libs werden in /usr/lib und nicht in !! /usr.orig/lib gesucht. NEIN (es war natuerlich das mounted, nicht das laufende /usr gemeint). !! !! Es besteht auch keinerlei Notwendigkeit irgendwas umzubenennen. Du !! kanst verschiedene Paritionen auf beliebige Mountpoints mounten. !! Mountpoint kann theoretisch jedes Verzeichnis sein. Wenn es nicht !! leer ist, wird es nach dem mounten versteckt sein. Das heißt, man !! kommt nicht mehr an die Daten heran, solange nicht geumountet wird. oje, hier greife ich zu (m)einem Standardspruch: echo denn sie wissen nicht was sie tun|sed 's/$/ (oder was passiert)/' Im Prinzip ist das mit dem "hidden Filesystem" nach mount nicht falsch, der Rest der Aussage aber auf keinen Fall immer richtig. Details siehe unten. !! !! Die /etc/fstab ist lediglich eine Hilfsdatei für den mount-Befehl !! und da braucht man erst mal gar nichts abzuändern. Das macht man !! ganz am Schluß, wenn alles läuft. was anderes habe ich nicht beschrieben. !! !! Ich weiß beim besten Willen nicht, was das da oben soll. Helfen tut !! es auf gar keinen Fall. Gut, Erklaerung warum ich es sooo "umstaendlich" mache: 1. die Frage war nach /usr verschieben auf eine andere Partition ware es die gleiche Partition, dann waere die Frage nie gestellt worden weil das Problem (disk full) nicht aufgetreten waere ;-) 2. /usr ist (heute) Bestandteil eines laufenden Systems, nur sauber installierte Systeme koennen im single-user Modus ohne /usr arbeiten (das war frueher bei vielen Linuxen leider nicht so:) 3. bei "cd mountpoint&&/bin/mv usr usr.orig" passiert noch gar nichts 4. die fstab muss geaendert werden, da das neue /usr ja auf einer anderen Partition liegt (siehe 1.) 5. cd mountpoint&&/bin/mv usr mountpoint-andere-partition/usr wird i.A. nicht richtig funktionieren 6. warum 5. nicht geht, siehe z.B.: find . -type f -ls|awk '{print $1}'|sort|uniq -d 7. "mount irgenwas /usr" garantiert noch lange nicht dass auf das jetzt versteckte Filesystem nicht mehr zugegriffen wird, das hat nichts damit zu tun ob der mountpoint vorher leer war oder nicht, siehe dazu: ldconfig -p|grep usr Sources von ld.so lsof|grep /usr (Stichwort: inodes) 8. runlevel wechsel funktiniert IMHO nicht, da ldconfig nur beim booten (Kalt-, Warmstart) gemacht wird, der cache bei anderem runlevel aber bleibt (bin nicht sicher, aber weiss jemand wann und wo der cache geloscht wird?) 9. mein Vorschalg war die defensive Loesung, die (hoffentlich) immer funktioniert to be improved in any way ... Achim
* Achim Hoffmann schrieb am 16.Okt.2002:
"am soundso'ten schrieb foo bar:"
habe ich jetzt mal verzichtet, da ich annehme, dass viele so denken und/oder handeln.
Hä?
Kurz und knapp, mein Kommentar: ja, es geht auch ganz einfach mit mount (unter bestimmten Bedingungen) nein, meine Loesung muss man nicht verwenden und: es ist jedem freigestellt es anders zu machen
Den Rest siehe unten. Muss man nicht lesen, ist eher off-topic ... Wahrscheinlich mach ich es wie Jan, ich rede mit mir selbst. Wenn sich aber wieder jemand inhaltlich in meine Selbstgespraeche einmischt, dann bitte vorher ueberlegen was da meinerseits falsch, und/oder eurerseits richtig ist. Ich lerne gerne dazu ;-)
Warum verwendest Du keinen normalen Zitatzeichen, die von einem MUA auch als solches erkannt werden, und entsprechend andersfarbig dargestellt?
!! * Achim Hoffmann schrieb am 15.Okt.2002: !! > !! > - boot von Floppy oder CD (rescure- nicht installiertes System) !! > - mv /usr/usr.orig !! > - mkdir /usr !! > - vi /etc/fstab # hier den richtigen mountpoint fuer /usr eintragen !! > - reboot !! > - cross your fingers !! !! Was soll das werden? !! !! Wenn Du das rescure-System und nicht das installierte System !! bootest, dann veränderst Du mit mv /usr /usr.orig lediglich die !! Bezeichnungen im virtuellen rescure-System und nicht im !! installierten System. Was aber auch gut so ist. !! !! Wenn Du was im Installierten System ändern willst, dann mußt Du es !! erst mounten, etwa unter /mnt und dann kanst Du was ändern.
ja, das ist klar, wurde auch schon korrigiert
?
!! Aber bitte nicht /usr nach /usr.orig umbenennen. Wenn Du das machst, !! dann hast Du wirklich die Probleme, die Du Patrick Hess vorgehalten !! hast. Denn z.B die Libs werden in /usr/lib und nicht in !! /usr.orig/lib gesucht.
NEIN (es war natuerlich das mounted, nicht das laufende /usr gemeint).
Ja gut. Ist im rescure-System wahrscheinlich auch gar nicht so ein Problem. Weiß ich nicht. Aber gerade im laufenden System. Du hast nur was geschrieben, daß /usr und /usr.orig umbenannt werden soll. Wenn man es so macht, wie Du es beschrieben hast, gibt es anschließend kein /usr mehr. Zumindest hast Du es nicht beschrieben.
!! Es besteht auch keinerlei Notwendigkeit irgendwas umzubenennen. Du !! kanst verschiedene Paritionen auf beliebige Mountpoints mounten. !! Mountpoint kann theoretisch jedes Verzeichnis sein. Wenn es nicht !! leer ist, wird es nach dem mounten versteckt sein. Das heißt, man !! kommt nicht mehr an die Daten heran, solange nicht geumountet wird.
oje, hier greife ich zu (m)einem Standardspruch:
echo denn sie wissen nicht was sie tun|sed 's/$/ (oder was passiert)/'
Wie meinst Du das? Meinst Du, ich weiß nicht was ich tue?
Im Prinzip ist das mit dem "hidden Filesystem" nach mount nicht falsch, der Rest der Aussage aber auf keinen Fall immer richtig. Details siehe unten.
!! !! Die /etc/fstab ist lediglich eine Hilfsdatei für den mount-Befehl !! und da braucht man erst mal gar nichts abzuändern. Das macht man !! ganz am Schluß, wenn alles läuft.
was anderes habe ich nicht beschrieben.
!! !! Ich weiß beim besten Willen nicht, was das da oben soll. Helfen tut !! es auf gar keinen Fall.
Gut, Erklaerung warum ich es sooo "umstaendlich" mache:
Mein Problem ist nicht, daß es umständlich ist. Mein Problem ist, daß Du anschließend kein /usr mehr hast.
1. die Frage war nach /usr verschieben auf eine andere Partition ware es die gleiche Partition, dann waere die Frage nie gestellt worden weil das Problem (disk full) nicht aufgetreten waere ;-)
Verstehe ich nicht, was Du meinst.
2. /usr ist (heute) Bestandteil eines laufenden Systems, nur sauber installierte Systeme koennen im single-user Modus ohne /usr arbeiten (das war frueher bei vielen Linuxen leider nicht so:)
Irgendwie kommst Du mit den Worten durcheinander. "Nur sauber installierte Systeme können im Singel-User Mode ohne /usr arbeiten". Was soll das bedeuten? Unsauber installierte Systeme können nicht arbeiten. Das kann schon sein, wenn sie sehr unsauber installiert sind. Ich vermute aber mal, Du willst was ganz anderes sagen, nämlich: "sauber installierte Systeme können nur im Singel-User Modus ohne /usr arbeiten" Das ist aber eine völlig andere Aussage. Da habe ich auch nie was Gegenteiliges zu gesagt. Ich habe nichts dagegen gesagt, daß Du im Singelusermodus oder auf einem Rescure-System arbeitest. Ich wende mich dagegen, daß Du einfach die /usr in /usr.orig umbenennst und nicht dafür sorgst, daß es ein /usr gibt. Hast Du jedenfalls nichts zu geschrieben.
3. bei "cd mountpoint&&/bin/mv usr usr.orig" passiert noch gar nichts
Doch, Du benennst das Verzeichnis /usr um. (im eigentlichen System.)
4. die fstab muss geaendert werden, da das neue /usr ja auf einer anderen Partition liegt (siehe 1.)
Wo hast Du die her? Bisher hast Du nur das Verzeichnis umbenannt, warum auch immer. Das neue /usr scheint irgendwie vom Himmel gefallen zu sein.
5. cd mountpoint&&/bin/mv usr mountpoint-andere-partition/usr wird i.A. nicht richtig funktionieren
Ich empfehle auch kein mv zu verwenden, sondern ein cp -a oder aber mit tar. Da hat David schon sehr häufig drüber geschrieben. Damit bleiben auch die Access-Zeiten erhalten. Ist mir aber meist nicht so wichtig, ein cp -a reicht mir.
6. warum 5. nicht geht, siehe z.B.: find . -type f -ls|awk '{print $1}'|sort|uniq -d
Weiß nicht, worauf Du hinaus willst? Auf doppelte I-Nodes? Du meinst also Hardlinks oder was? Wird mit cp -a richtig übertragen.
7. "mount irgenwas /usr" garantiert noch lange nicht dass auf das jetzt versteckte Filesystem nicht mehr zugegriffen wird, das hat nichts damit zu tun ob der mountpoint vorher leer war oder nicht, siehe dazu: ldconfig -p|grep usr Sources von ld.so lsof|grep /usr (Stichwort: inodes)
Ich habe nicht gesagt, daß man irgendwas verstecken soll. Ich habe nur versucht es zu erklären. Etwas zu verstecken, davon halte ich nichts. Außer vielleicht, bevor man etwas ganz löscht, daß man es erst mal versteckt und eine Zeitlang so weitermacht, um sicher zu sein, daß man keine wichtigen Daten weg hat. Also eine Zeitlang alles doppelt hat. Wie sollte man es auch anders machen. Wenn man es gleich wegmacht, so habe ich nichts dagegen. Ich mache es auch so.
8. runlevel wechsel funktiniert IMHO nicht, da ldconfig nur beim booten (Kalt-, Warmstart) gemacht wird, der cache bei anderem runlevel aber bleibt (bin nicht sicher, aber weiss jemand wann und wo der cache geloscht wird?)
Du kanst doch ldconfig von Hand aufrufen. Aber ich habe auch nichts dagegen gesagt, daß man neu bootet. Das ist nicht mein Punkt.
9. mein Vorschalg war die defensive Loesung, die (hoffentlich) immer funktioniert
Wie soll sie funktionieren, wenn Du noch nicht mal beschreibst, wo du Deine neue /usr her hast. Du hast nur ein mkdir usr gemacht. Keine neue Partition, und Dein neues Verzeichnis /usr ist leer. Wenn Du was anderes meinst, als Du schreibst, dann weiß ich nicht, was Du willst. Bernd -- Alle meine Signaturen sind rein zufällig und haben nichts mit dem Text oder dem Schreiber zu tun, dem ich antworte. Falls irgendwelche Unrichtigkeiten dabei sein sollten, so bedauere ich das. Es wäre nett, wenn Du mich benachrichtigen würdest. |Zufallssignatur 0
Hallo Bernd, wir brauchen nicht weiter unsere Vorschlaege zerpfluegen, Henning, der die Frage gestellt hat, hat meinen Vorschlag verstanden (d.h. meine schlampig hingeschriebenen Zeilen richtig umgesetzt), siehe ein entspr. Posting von ihm. Nur kurz zu deinen Fragen: - mv (unter Linux) funktioniert (leider) ueber partitions hinweg, wie du richtig sagst verwendet man dafuer besser tar oder cpio - mit dem find habe ich auf hardlinks angespielt, die Probleme damit sind dir ja klar ;-) - mit "unsauber installiert" meinte ich solche die auch im single-user Mode /usr brauchen (habe ich aber genau so geschrieben) Alles klar? Achim
Hallo, On Wed, 16 Oct 2002, Achim Hoffmann wrote:
Nur kurz zu deinen Fragen: - mv (unter Linux) funktioniert (leider) ueber partitions hinweg, wie du richtig sagst verwendet man dafuer besser tar oder cpio
Allerdings. Hier mal wieder die "kanonische" Loesung[0]: cd /quelle; tar cp --atime-preserve . \ | ( cd /ziel; tar xp --atime-preserve ) oder tar -C /quelle cp --atime-preserve . \ | tar -C /ziel xp --atime-preserve
- mit dem find habe ich auf hardlinks angespielt, die Probleme damit sind dir ja klar ;-)
Auch das behandelt tar korrekt. Auch deswegen nimmt man ja tar... *hrmpf*
- mit "unsauber installiert" meinte ich solche die auch im single-user Mode /usr brauchen (habe ich aber genau so geschrieben)
Unfug. /usr/lib kann man problemlos im laufenden Betrieb umziehen (was ich uebrigens schon mehr als einmal gemacht habe), "schwierig" ist nur das, was eigentlich schon auf der /-Partition liegen muss (also erstmal /bin, /etc, /sbin und /lib[2]), sowie alles, das mehr oder weniger permanent im "aktiven Schreibzugriff" befindlich ist, also v.a. /var/log/* (und anderes unter /var wie /var/spool/*)! [X] Du willst dir klarmachen, das libs schon im Speicher sein koennen! Und falls du SW meinst, die erst noch libs von der HD aus /usr/lib nachladen muss, naja, ganz einfach: diese SW willst du in der Situation sowieso nicht verwenden, es sei denn, du bist Masochist und legst es darauf an, dir selbst ins Knie zu schiessen. /usr sollte man sowieso moeglichst 'ro' mounten. 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 ## 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... ## 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/ ==== Kurz: Die effektive "Downtime" ist wohl < 1s. Was also /usr/lib angeht: Vergiss es. Das ist trivial. -dnh [0] man kann's offenbar nicht oft genug erwaehnen... [1] andernfalls wird's noch einfacher [2] mit einem kleinen Trick koennte man selbst davon wohl einen Grossteil auslagern, aber das habe ich nie getestet... (man kann ausnuetzen, dass ein Mountpoint nicht leer sein muss um eine Partition dort zu mounten... (Hint: /lib/modules und die libc auf die root-Partition (per symlink!), den Rest koennte man wohl auslagern...) [3] man koennte, wie Bernd nebenan vorschlaegt, die neue Partition auch erstmal "ueber" das alte Verzeichnis mounten... Irgendwann kommt man aber um obigen Schritt nicht herum... -- I'd play with your mind, but I prefer bigger toys. -- Tyger
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
Hallo, On Fri, 18 Oct 2002, Henning Weier wrote:
Am Fre, 2002-10-18 um 05.37 schrieb David Haller: [..] ## 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?
Ja. -dnh -- Breathing in a full grown eucalyptus tree is something worth watching. Attaching inhalers to eucalyptus trees achieves little and annoys the trees. -- Geoff Lane in the SDM
Hallo, * Am 16.Oct.2002 postete Achim Hoffmann:
- mv (unter Linux) funktioniert (leider) ueber partitions hinweg, wie du richtig sagst verwendet man dafuer besser tar oder cpio
Das kannst Du eigentlich ändern, indem du einen alias auf mv setzt und dieser ein Bash-Skript aufruft, das eben prüft, ob Quelle und Ziel auf einer Partition liegen. Beste Grüße Alex -- Zumindest ließe "Captain of her Hirn" in Zeiten von BSE ganz neue Deutungen zu, und "Owner of a lonely Leber" wäre als Trinklied auch nicht schlecht. Das ewige "Schatzilein, Du darfst net nüchtern sein ..." und "Rum-Punch #5" kann man ja bald nicht mehr hören. [Martin Leidig in suse-talk]
On Fri, 18 Oct 2002, Alex Klein wrote:
Hallo,
* Am 16.Oct.2002 postete Achim Hoffmann:
- mv (unter Linux) funktioniert (leider) ueber partitions hinweg, wie du richtig sagst verwendet man dafuer besser tar oder cpio
Das kannst Du eigentlich ändern, indem du einen alias auf mv setzt und dieser ein Bash-Skript aufruft, das eben prüft, ob Quelle und Ziel auf einer Partition liegen.
wer System-Kommandos alias't ist selber schuld, oder weiss was passiert. Letzteres ist meistens nicht so, und man wundert sich dass z.B. kein cron mehr laeuft "wo man doch gar nichts installiert und/oder geaendert hat". Achim
Hallo, * Am 18.Oct.2002 postete Achim Hoffmann:
On Fri, 18 Oct 2002, Alex Klein wrote:
Hallo,
* Am 16.Oct.2002 postete Achim Hoffmann:
- mv (unter Linux) funktioniert (leider) ueber partitions hinweg, wie du richtig sagst verwendet man dafuer besser tar oder cpio
Das kannst Du eigentlich ändern, indem du einen alias auf mv setzt und dieser ein Bash-Skript aufruft, das eben prüft, ob Quelle und Ziel auf einer Partition liegen.
wer System-Kommandos alias't ist selber schuld, oder weiss was passiert. Letzteres ist meistens nicht so, und man wundert sich dass z.B. kein cron mehr laeuft "wo man doch gar nichts installiert und/oder geaendert hat".
[ ] Du weißt, was Profile sind und was cron mit Profilen macht. Außerdem hab ich _kein_ Problem damit, daß mv volume-übergreifend ist. Beste Grüße Alex -- Aha, ein Neuling! Hast du dich denn heute schon mit Kaugummi und Cola aus der Todeszelle gesprengt? [Dieter Bruegmann zu 'MacGyver' in dag°]
* Henning Weier schrieb am 15.Okt.2002:
Meine root-Partition (/) ist ziemlich voll (97%). Ich habe schon alles, was mir eingefallen ist, verschoben.
Wohin hast Du es verschoben und wie, und was?
Ich hätte noch jede Menge Platz auf anderen Partitionen, aber ich weiß nicht, wie ich z.B. /usr darauf umlegen kann. Das hätte ich wohl bei der Installation tun sollen, aber da habe ich nur /home auf eine eigene Partition gelegt.
Hast Du noch eine freie Partition, die Du für /usr verwenden kannst? Wenn ja, dann ist es einfach. Lege die Parition mit fdisk an, wenn noch nicht geschehen. (oder mit yast, das aber auch nur fdisk benutzt) und / oder erzeuge darauf ein Dateisystem. Auch mit yast, oder mit mke2fs bzw. mkreiserfs oder was es sonst noch so gibt. Wenn das geschehen ist. Dann mounte dieses Dateisystem auf /mnt. mount -t ext2 /dev/hdXX /mnt Wenn es ein ext2 Dateisystem ist, wenn es reiser ist, dann -t reiserfs hdXX steht für die Geräteadresse Deiner Partition. Kann natürlich auch sdXX sein, wenn es ein SCSI-Gerät ist. Jetzt brauchst Du nur noch alles von /usr nach /mnt zu kopieren. Das kann man mit cp -a machen, oder auch mit tar. Wenn das geschehen ist, dann umounte /mnt und anschließend mounte das neue Dateisystem auf /usr. Dein altes /usr wird überdeckt. Wenn jetzt alles funktioniert, dann kanst Du /usr wider umounten und Dein altes /usr löschen. Du brauchst nur noch Deine /etc/fstab abzuändern. Aber werd Dir klar darüber, was Du machst, sonst hast Du nachher massiven Datenverlust. Bernd -- ROTFL = Rolling On The Floor, Laughing = Auf dem Boden wälzen, lachend. SCNR = Sorry, Could Not Resist = Sorry, Ich konte nicht wiederstehen. AFAIK = As Far As I Know = So weit ich weis|BTW = By The Way = Nebenbei bemerkt IMHO = In My Humble Opinion = meiner bescheidenen Meinung nach |Zufallssig. 9
Hallo! Am Mit, 2002-10-16 um 06.13 schrieb Bernd Brodesser:
* Henning Weier schrieb am 15.Okt.2002:
Meine root-Partition (/) ist ziemlich voll (97%). Ich habe schon alles, was mir eingefallen ist, verschoben.
Wohin hast Du es verschoben und wie, und was?
Ich meinte damit, dass ich z.B. alte Logfiles (aus /var/log/*), die schon von logrotate gzipped worden sind, aus der Partition entfernt habe, um Platz zu schinden... War wohl eher nebensächlich zu erwähnen, sorry für die Konfusion.
Hast Du noch eine freie Partition, die Du für /usr verwenden kannst? Wenn ja, dann ist es einfach. Lege die Parition mit fdisk an, wenn noch nicht geschehen. (oder mit yast, das aber auch nur fdisk benutzt) und / oder erzeuge darauf ein Dateisystem. Auch mit yast, oder mit mke2fs bzw. mkreiserfs oder was es sonst noch so gibt.
Wenn das geschehen ist. Dann mounte dieses Dateisystem auf /mnt.
mount -t ext2 /dev/hdXX /mnt
Wenn es ein ext2 Dateisystem ist, wenn es reiser ist, dann -t reiserfs
hdXX steht für die Geräteadresse Deiner Partition. Kann natürlich auch sdXX sein, wenn es ein SCSI-Gerät ist.
Jetzt brauchst Du nur noch alles von /usr nach /mnt zu kopieren. Das kann man mit cp -a machen, oder auch mit tar.
Wenn das geschehen ist, dann umounte /mnt und anschließend mounte das neue Dateisystem auf /usr. Dein altes /usr wird überdeckt. Wenn jetzt alles funktioniert, dann kanst Du /usr wider umounten und Dein altes /usr löschen. Du brauchst nur noch Deine /etc/fstab abzuändern.
Aber werd Dir klar darüber, was Du machst, sonst hast Du nachher massiven Datenverlust.
Vielen Dank für die Tipps, ich werde sowohl Deine als auch Achims Erklärungen durchdenken. Ich hatte schon grundsätzlich so eine Idee, nur wollte ich sicher gehen, dass es nicht zu dem von Dir (sicherlich richtigerweise) erwähnten Datenverlust führt. Vielen Dank nochmal (allen, die geantwortet haben)! Viele Grüße Henning
participants (7)
-
Achim Hoffmann
-
Alex Klein
-
B.Brodesser@t-online.de
-
David Haller
-
Henning Weier
-
Martin Kropfinger
-
patrick_hess@t-online.de