PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Home Verzeichnis verschieben



HHS
07.05.09, 21:14
Halolo Leute,

ich habe bei mir seid einiger Zeit eines Eisfair Linux Server laufen. Dort hab ich einen Samba und einen Apache Dienst installiert die auch brav ihrer Arbeit nachgehen. Nun musste ich heute leider feststellen, dass der Server keinen Speicherplatz mehr hat.... Jedoch Irrtum.

Ich hab 3 Partitionen: einmal /boot als hda1, dann root als hda3 und data als hda4. Das Homeverzeichnis befindet sich auf der hda3. Diese hat aber nur ein 1 gb und ist voll. die hda4 ist noch leer und hat schlappe 77gb noch frei. Jetzt wollt ich wissen was ich machen kann, um diesen schönheitsfehler zubegradigen. Entweder neu Patitionieren? Also Hda4 einfach zu der hda3 dran koppeln oder das Homeverzeichnis verschieben? letzteres hab ich auch schon versucht. Jedoch wenn ich im sage, das das neue Directory auf hda4 ist, erstellt er einfach einen neuen ordner auf der hda3 und schiebt Home dort rein....

Im netz find ich langsam nix mehr. Hab wenig Lust wieder alles neu zuinstallieren. Jetzt wo alles super am Laufen ist....

Würde mich über Hilfe sehr freuen!

HirschHeisseIch
07.05.09, 21:28
Ich würd einfach die bestehenden Daten von /home auf die hda4 verschieben, und diese dann nach /home einbinden.

HHS
07.05.09, 21:34
Ich würd einfach die bestehenden Daten von /home auf die hda4 verschieben, und diese dann nach /home einbinden.

ja aber genau das macht er ja nicht!

df spuckt mir das hier aus:


Packeis # df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda3 1035692 894936 88144 92% /
/dev/hda1 23302 3120 18979 15% /boot
/dev/hda4 77506628 32832 73536668 1% /data


wenn ich jetzt das neue directory angebe dann erstellt er mir irgendwie nen neuen Ordner mit dem namen Date .


Packeis # ls /
System.map-2.4.35-wt1 data home public tftpboot
bin date lib root tmp
boot dev lost+found samba_printer_drivers usb
bootmsg.txt etc mnt sbin usr
cdrom floppy proc svn-commit.tmp var


aber dieser befindet sich immer noch auf der zukleinen hda3.

HirschHeisseIch
07.05.09, 21:39
Ähm...
Wie gibst Du denn das neue directory an? (Was auch immer das heissen mag... Vielleicht verstehe ich ja den Sinn, wenn ich den Befehl kenne, den Du ausführst...)

HHS
07.05.09, 21:43
Ähm...
Wie gibst Du denn das neue directory an? (Was auch immer das heissen mag... Vielleicht verstehe ich ja den Sinn, wenn ich den Befehl kenne, den Du ausführst...)

naja "befehl " is gut... das mache ich über das Eisfair (http://www.eisfair.org/home/was-ist-eisfair/) menü.

also Eisfair setup / User administration / List users / modify a user. So da geb ich den gewünschten User ein und tippe dann das neue directory ein.

Oder muss ich das gesamt Homeverzeichnis von der hda3 auf die hda4 schieben? Wenn ja wie? Also dieses Eisfair dingen kann auch normale Shellbefehle.

HirschHeisseIch
07.05.09, 21:59
Naja, in dem Fall hast Du als aller erstes mal versaut, dass die Platte unter /data, und eben nicht unter /date eingehangen ist (Vertipper, würd man meinen)

Und dann weiss ich nicht, wie dieses Eisfair-Gerät da mit den bestehenden Daten umgeht... Also, ob er die automatisch verschiebt.

Wenn die Platte weiterhin unter /data bleiben soll, sollten folgende Befehle funktionieren:


mv /home/* /data/
usermod -d /data/$USERNAME $USERNAME

HHS
08.05.09, 13:11
joa gut.... scheint geklappt zu haben. Dummerweise hat es der Sambaserver jedoch nicht gemerkt, dass das verzeichnis verschoben ist... Denn wo vorher die Ordner der jeweiligen Benutzer waren, ist jetzt nix mehr. Erst, wenn die die Homeverzeichnisse wieder zurück schiebe.

Wo kann ich das denn bei Samba ändern?

HirschHeisseIch
08.05.09, 13:30
Entweder änderst das in der /etc/samba/smb.conf, oder mountest die Platte nach /home und passt die Home-Pfade wieder entsprechend an.
Entweder geht das mounten über diese Eisfair-Geschichte, oder es braucht nen Editor...
(Oder man muss zu anderen Mitteln greifen, aber das sollten wir wohl erstmal versuchen, zu vermeiden. Such einfach erstmal nach nem Editor. ;))

HHS
08.05.09, 14:08
Entweder änderst das in der /etc/samba/smb.conf, oder mountest die Platte nach /home und passt die Home-Pfade wieder entsprechend an.
Entweder geht das mounten über diese Eisfair-Geschichte, oder es braucht nen Editor...
(Oder man muss zu anderen Mitteln greifen, aber das sollten wir wohl erstmal versuchen, zu vermeiden. Such einfach erstmal nach nem Editor. ;))

Also so wie es aussieht ist dieses Eisfair ein wenig bockig. Das System, Samba und apache wird alles über das menü von Eisfair selbst konfiguriert und erstellt dann seine eigene smb.config.

Die User konnte ich auch auf die große Partition umschaufeln und auch den Apache ordner konnt ich mit auf die Große platte legen. Nur wenn ich jetzt von dem XP rechner auf den linuxserver gehe, dann ist der ordner leer. Erst wenn ich ihm wieder ein Home verzeichnis anlgege ist wieder alle beim alten....

Jetzt hab ich mir überlegt, man kann doch bestimmt die hd4 mit dem /data verzeichnis in das Verzeichnis von /home einmounten oder? Ich hab jedoch wenig erfahrung mit mounten....:confused:

HirschHeisseIch
08.05.09, 14:15
Richtig. Wie oben schon angesprochen...

Die Befehle wären
umount /data
mount /dev/hda4 /home

Dann müsste eben wieder mit dem oben schon genannten usermod-Befehl das Home-Verzeichnis zurück auf /home/$USERNAME geändert werden.

Nach nem Reboot würd das System die Platte aber wieder unter /data/ einhängen. Um das zu ändern bräuchte es am dümmsten nen Editor.
Wenn beim Eisfair keiner zu finden ist, könntest auch die Ausgabe von
cat /etc/fstab posten und ich würd Dir verraten, was Du eingeben musst, damit wir keinen Editor brauchen. ;)

HHS
08.05.09, 15:39
soo... das mit dem hin und her mounten scheint geklappt zuhaben. Hab jetzt testweise nen paar große dateien drauf gepackt um das 1 gb zuübersteigen und es hat wunderbar geklappt. So nun zu der ausgabe von fstab.

zu sehen ist:


Packeis # cat /etc/fstab
/dev/hda3 / ext3 defaults,errors=remount-ro 0 1
/dev/hda1 /boot ext3 defaults,errors=remount-ro 0 1
/dev/hda2 none swap sw 0 0
/dev/hda4 /data ext3 defaults 0 0
proc /proc proc defaults 0 0
/dev/fd0 /floppy auto defaults,user,noauto 0 0
/dev/cdrom /cdrom iso9660 defaults,ro,user,noauto 0 0
devpts /dev/pts devpts defaults 0 0


nen Editor hab ich. Könn wir also dadrüber auch ändern!

HirschHeisseIch
08.05.09, 18:07
Das machts einfacher. ;)

Aus der Zeile
/dev/hda4 /data ext3 defaults 0 0
Machst ein
/dev/hda4 /home ext3 defaults 0 0

Danach ein Reboot zum testen, ob alles tut, wie es soll.

oziris
08.05.09, 21:45
HHS, Du machst im Moment nur Quatsch und tappst völlig im Dunklen.
Bitte mache erst komplette Backup-Images, bevor Du Dein System mit Deinen Versuchen noch zerstörst. Wie Du selbst schriebst, wäre es schade, jetzt da es gerade gut läuft.

PS: Um festzustellen, auf welcher Partition sich ein Verzeichnis befindet, befüllt man es nicht mit Dateien, bis der Inhalt nicht mehr auf die kleinere Partition passen würde. Das ist zwar nicht das Blödeste, was ich je gehört habe, aber es ist auf jeden Fall in den Top-10.

HHS
09.05.09, 07:21
HHS, Du machst im Moment nur Quatsch und tappst völlig im Dunklen.


Ja nu. So ist das nunmal. Man fällt nicht als Linuxguru auf die Weld, sondern muss es sich aneignen. Das Beschriebene System ist quasie ein Entwicklungs- und Versuchsfeld. Ich hab da sicher keine Daten drauf, die für immer weg wären, wenn das System platt wäre....


Bitte mache erst komplette Backup-Images, bevor Du Dein System mit Deinen Versuchen noch zerstörst. Wie Du selbst schriebst, wäre es schade, jetzt da es gerade gut läuft.
Warum soll ich ein System sichern, was nur Suboptimal funktioniert. Ein System muss zu 98% laufen.... alles andere ist nicht von Nützen. Was ich hier hab sind vlt. 60% oder so.... also alles noch in der Entwicklung.



PS: Um festzustellen, auf welcher Partition sich ein Verzeichnis befindet, befüllt man es nicht mit Dateien, bis der Inhalt nicht mehr auf die kleinere Partition passen würde. Das ist zwar nicht das Blödeste, was ich je gehört habe, aber es ist auf jeden Fall in den Top-10.

Da geb ich dir recht. Ich hab über den Df Befehl überprüft, ob die angezeigte Größe des Verzeichnisses passt. Das mit dem Datenrüberschaufeln war einfach nur der Praxistest. Vertrauen ist gut - Kontrolle ist besser ;)
Wie hättest du es denn gemacht???

oziris
09.05.09, 11:44
Wie hättest du es denn gemacht???
Das kommt darauf an, was ich habe und wo ich mich befinde.

Wenn ich Beispielsweise, gerade nach den Änderungen neu eingeloggt, in einer Shell / im Terminal prüfen wollte, auf welcher Partition sich mein Heimatverzeichnis befindet, würde ich "df $HOME" (man kann das $HOME zur Sicherheit auch in doppelte Anführungszeichen tun) oder "df ~" eingeben. Das dürfte in den meisten Shells gehen.

Wenn ich noch nicht neu eingeloggt wäre (also $HOME noch auf das alte Heimatverzeichnis verweist) und meine Shell die bash wäre (prüfen mit "echo $SHELL"), dann würde ich folgendes eingeben (aber nur, wenn ich nicht mehr root wäre (prüfen mit "whoami"), es sei denn, es geht um roots Heimatverzeichnis, was aber i.d.R. sehr unterschiedlich zu den anderen Benutzern ist):
df "$(grep '^benutzername:' /etc/passwd|cut -d ':' -f 6)"

Natürlich gibt es noch viele andere gute Möglichkeiten, die aber eigentlich nur interessant werden, wenn df aus bestimmten Gründen nicht funktioniert (z.B. Festplatten- oder Dateisystemprobleme) oder wenn man in einer anderen, besonderen Shell ist.

Da Linux gut Dokumentiert ist, kann man vieles nachlesen bzw. nachvollziehen, indem man in die Dokus schaut. Ich empfehle einen Blick auf diese Liste zu werfen, auf der die wichtigsten Informationsquellen erklärt sind: http://www.tuebingen.linux.de/old/faltblatt/node1.html

HHS
11.05.09, 21:31
so läuft alles. Die hda4 is gemountet und dauerhaft in fstab eingetragen. Besten Dank nochmal !

L00NIX
13.05.09, 20:58
Was auch nett ist: bind-mounts, also Verzeichnisse an anderer Stelle wieder einhängen.

Das sieht dann so aus:


# /etc/fstab
...
/data/home /home none rw,bind 0 0


Sehr flexibel, das Ganze...

Gruß
L00NIX