moving /home

LinuxNeophyte | Κυρ, 01/13/2008 - 23:22 | 1' | 28

καλησπέρα παιδιά καλώς σας βρήκα

Πρόσφατα έβαλα debian, δεν μπορώ να πω είναι πολύ γρήγορο με καθημερινά updates. Οτι θές τουλάχιστον για home χρήση μπορείς να το βρεις και να έχει ένα πλήρες λειτουργικό.

Τώρα στην ερώτηση

θέλω να μεταφέρω το /home σε διαφορετικό partition από αυτό που είναι σήμερα. Μέχρι σήμερα βρίσκεται στο / root partition. Πως μπορώ να κάνω την μεταφορά και στην συνέχεια να εξαλείψω αυτό που υπάρχει στο /

Φόρουμ
Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Αναλυτικές οδηγίες εδώ

Εν συντομία:
1. Πρώτα με ένα πρόγραμμα όπως το gparted δημιουργούμε ένα νέο partition
2. Στη συνέχεια προσαρτούμε το νέο partition
$mkdir /mnt/newhome
$sudo mount -t ext3 /dev/hda5 /mnt/newhome

αλλάζουμε το hda5 με το όνομα του partition μας

3. Με τις παρακάτω εντολές μετακινούμε όλα τα αρχεία από το παλιό /home
$cd /home/
$find . -depth -print0 | cpio –null –sparse -pvd /mnt/newhome/

4. Αποπροσαρτούμε το νέο home δηλαδή το /newhome
$sudo umount /mnt/newhome

5. Μετακινούμε το παλιό
$sudo mv /home /old_home

6. Τώρα αφού δεν έχουμε /home δημιουργούμε ένα νέο
$sudo mkdir /home

7. Προσαρτούμε το partition που έχουμε φτιάξει στο /home:
$sudo mount /dev/hda5 /home

8. Αν όλα είναι εντάξει σβήνουμε το /old_home:
$sudo rm -r /old_home

9. Δεν έχει άλλο είμαστε έτοιμοι. Καλή επιτυχία

Το /to/mount/point_tou/home αντικαθιστατε από το /home/LinuxNeophyte για παράδειγμα. Το όνομα χρήστη που χρησιμοποιείς.

φίλε LinuxNeophyte, αντί για όλο αυτό το μακρυνάρι, υπάρχει μια πιο απλή λύση για να μεταφέρεις τα αρχεία από το παλιό στο νέο home:

rync -avx /oldhome /newhome

Αλλαξε απλώς τα ονόματα των καταλόγων για την περίπτωσή σου.

Α, και πρόσεξε. Μετά την αντιγραφή θα πρέπει να πεις το /etc/fstab που βρίσκεται το νέο home σου.

Γειά σας,
Μόλις διάβασα για τη μεταφορά του Home σε διαφορετική Partition στο περιοδικό τεύχος 19.Θα ήθελα μια ακόμα επεξήγηση λόγω του ότι έχω άγνοια από κονσόλα. Αφού αναφέρονται στο άρθρο αναλυτικές οδηγίες, στο τέλος λέει "άνοιξε το /etc/fstab της κανονικής root κατάτμησης....". Πως γίνεται αυτό;
Ευχαριστώ.

το ανοιγεις απο κονσολα με επεξεργαστη κειμενου

(σε τι διανομη εισαι? σε ubuntu, mint, deb για παραδειγμα δινεις sudo gedit /etc/fstab και μετα τον κωδικο.
αν εισαι σε kde δοκιμασε το kwrite /etc/fstab -παντα με root κωδικο)

====

the hamster's is out there

http://hamster.tuxhost.gr/

Εχω ubuntu 7.10 και μου συναίβει το εξής: Έχω μια κατάτμηση sdc5 όπου είναι το σύστημα και μία sdc6 που ήταν σε fat32 και τη χρησιμοποιούσα για αποθήκη. Κάποια στιγμή που αποφάσισα στην κατάτμηση sdc6 να μεταφέρω το home, την άδειασα και τη φορμάρισα σε ext3 με το live cd που έκανα την εγκατάσταση. Με εκκίνηση από live cd βλέπει κανονικά όλες τις κατατμήσεις αλλά δεν μπορώ να κάνω τίποτα από αυτά που αναφέρει το περιοδικό (τεύχος 19) για αυτήν την ερώτηση (μεταφορά home). Μkdir -p/mnt/{root,home}... κτλ. Είτε έχω προσαρτημένο το sdc6 είτε όχι. Στις πιο κάτω γραμμές (mount/dev/sdc5/mnt/root...κτλ) μου λέει ότι δεν υπάρχει τέτοιο directory. Ακόμη όταν κάνω εκκίνηση κανονικά από υπολογιστή δεν μπορώ να δω πλέον το sdc6 παρα μόνο μου το δείχνει όταν τρέξω το GParted.

Επλιπαρώ τη βοήθειά σας...

προσπαθησε μεσα απο το ubuntu, απο το gparted να ξαναφορμαρεις το 6 σαν ext3.
ισως το ubuntu δεν το βλεπει τωρα, επειδη το φορμαρες απο αλλου (livecd)
(το gparted σου λεει οτι ειναι ext η μηπως ειναι αφορμαριστο για καποιο λογο?)

επισης δωσε σε τερματικο σαν root την εντολη

sudo fdisk-l

για να δεις πως (με τι γραμματα) βλεπει το ubuntu τους δισκους σου

====

the hamster's is out there

http://hamster.tuxhost.gr/

Λοιπόν λίγα λόγια για το σύστημα αρχείων Linux και τις προσαρτήσεις :

Όταν κάνουμε boot από μια διανομή η οποία βρίσκεται σε κάποιο partition τότε θα κάνουμε την απλοϊκή σκέψη ότι το "/" της διανομής είναι το ένα και το αυτό με το partition της διανομής.
Δηλαδή:
- Αν η διανομή μας βρίσκεται στο sdc5 τότε το root ("/") της είναι το sdc5.
- Αν έχουμε ξεκινήσει με liveCD (ή και με διανομή εγκατεστημένη σε άλλο partition) τότε το root μας θα είναι διαφορετικό.

Το σημαντικό εδώ είναι ότι αν ξεκινήσουμε με liveCD :
Μπορούμε να πάμε να πειράξουμε αρχεία από το root της άλλης διανομής.Το τελευταίο θα έχει προσαρτηθεί πχ στο /media/sdc5.
Οπότε, αν θέλουμε να πειράξουμε πχ το fstab της εγκατεστημένης διανομής θα πάμε στο /media/sdc5/etc/fstab.
Αν θέλουμε να δημιουργήσουμε έναν υποκατάλογο στο "/mnt" έχοντας κάνει boot με το liveCD θα πάρουμε φέτα γιατί πολύ απλά δεν μπορούμε να γράψουμε στο CD.

Βασικό για όταν θέλουμε να προσαρτήσουμε κάτι με την εντολή Mount:
Πρέπει πρώτα να υπάρχει ο υποκατάλογος στον οποίο θα γίνει mount αυτό που θέλουμε.
πχ Αν θέλουμε να κάνουμε mount το sdc6 στο /media/apothiki θα δώσουμε:

#mkdir /media/apothiki
#mount /dev/sdc6 /media/apothiki

Επί του θέματος:
Θέλεις να μετακινήσεις το home τις διανομής που έχεις εγκαταστήσεις στο sdc5 από εκεί που είναι στο sdc6.

1. Κάνεις boot κανονικά στο Ubuntu σου ως soc2u
2. Δημιουργείς έναν βοηθητικό υποκατάλογο (για να προσαρτήσεις προσωρινά το sdc6)

sudo mkdir /mnt/temphome

3. Κάνεις την προσάρτηση αν δεν την έχει κάνει από μόνο του το σύστημα.

sudo mount /dev/sdc6 /mnt/temphome

Αν την έχει κάνει τότε πριν το mount δώσε:

sudo umount /dev/sdc6

4. Μετακινείς όλα τα αρχεία του home σου στο sdc6

 sudo rsync --archive /home/soc2u/ /mnt/temphome

5. Αλλάζεις το fstab σου (ως root με sudo gedit /etc/fstab)

/dev/sdc6 /home ext3 defaults 0 2

6. Σβήνεις τα αρχεία του τρέχοντος home σου

 rm -fr /home/*

κάνεις reboot και ταυτόχρονα το σταυρό σου να έχουν γίνει όλα σωστά.

...Μόλις συνειδητοποίησα ότι απλά επανέλαβα ανωτέρω posts :-)

alfisti]προσπαθησε μεσα απο το ubuntu, απο το gparted να ξαναφορμαρεις το 6 σαν ext3.
ισως το ubuntu δεν το βλεπει τωρα, επειδη το φορμαρες απο αλλου (livecd)
(το gparted σου λεει οτι ειναι ext η μηπως ειναι αφορμαριστο για καποιο λογο?)
επισης δωσε σε τερματικο σαν root την εντολη
sudo fdisk-l
για να δεις πως (με τι γραμματα) βλεπει το ubuntu τους δισκους σου

H Απαντηση στην εντολή είναι:sudo: fdisk-l: command not found

ναι :)

η ταχυτητα σκοτωνει :) :) (και τα post)

συγνωμη!

====

the hamster's is out there

http://hamster.tuxhost.gr/

luckyb]Επί του θέματος:
Θέλεις να μετακινήσεις το home τις διανομής που έχεις εγκαταστήσεις στο sdc5 από εκεί που είναι στο sdc6.
1. Κάνεις boot κανονικά στο Ubuntu σου ως soc2u
2. Δημιουργείς έναν βοηθητικό υποκατάλογο (για να προσαρτήσεις προσωρινά το sdc6)

sudo mkdir /mnt/temphome

sudo mkdir /mnt/temphome
mkdir: cannot create directory `/mnt/temphome': File exists

Είμαστε εντελώς στην αρχή αλλά καλό το μάθημα (χρήσιμο), αγωνίζομαι να τα καταφέρω...δεν αντέχω άλλα win.

alfisti]

ναι :)

η ταχυτητα σκοτωνει :) :) (και τα post)

συγνωμη!

E όχι και απολογίες...

Νομίζω ότι το θετικό για μένα είναι ότι το κατάλαβα (για το κενό λέω)

Το αποτέλεσμα...

Device Boot Start End Blocks Id System
/dev/sdc1 * 1 1 8001 82 Linux swap / Solaris
/dev/sdc2 2 30401 244188000 f W95 Ext'd (LBA)
/dev/sdc5 2 5604 45006066 83 Linux
/dev/sdc6 5605 30401 199181871 83 Linux

soc2u, το σημαντικό είναι να καταλαβαίνεις τι ακριβώς κάνεις με κάθε εντολή.
Ένα απλό copy paste από το forum μόνο μπελάδες θα δημιουργήσει.
Η προσοχή λοιπόν όχι στις εντολές αλλά σ'αυτό που γράφουμε από πάνω ή από κάτω τους.
Πριν δοκιμάσεις οτιδήποτε δες τι κάνει μια εντολή και τι παραμέτρους παίρνει
πχ

$fdisk --help
ή
$man fdisk
(παίζουν τα βελάκια και τα pgup, pgdown - για να βγεις πατάς το πλήκτρο "q")

Όμοια δες τα mount, umount, rsync, fstab, rm. ls
Δεν χρειάζεται να δίνεις μεγάλη σημασία στις λεπτομέρειες. Απλά στο τι κάνει στα βασικά options (και σε κανά παράδειγμα αν έχει)

Η fdisk σου βγάζει τα partitions σου όπως ακριβώς μας τα περιγράφεις (καλή αρχή :-))

Όσο για την mkdir, μου φαίνεται ότι υπάρχει ήδη ένα αρχείο/υποκατάλογος /mnt/temphome γι'αυτό δεν παίζει.
Γράψε

ls -la /mnt/

να δεις... όντως είναι έτσι??
Επίσης το temphome είναι μια βλακεία που μου 'ρθε εμένα στο μυαλό. Μπορείς να χρησιμοποιήσεις ότι όνομα θέλεις κι επίσης αν γουστάρεις να το κάνεις στο /media αντί στο /mnt. (Βέβαια αλλάζουν οι εντολές μετά)
Ελπίζω να μη σε μπερδεύω περισσότερο
Επαναλαμβάνω:
Το σημαντικό είναι να ξέρεις τι κάνεις γράφοντας μια εντολή κι όχι να κάνεις copy paste από το forum

Είμαστε εδώ για οποιαδήποτε απορία - επεξήγηση - περαιτέρω οδηγίες κι ότι άλλο χρειαστείς

Αυτό κι αν ήταν μάθημα! Ευχαριστώ πολύ για το ενδιαφέρον και την υπομονή.
Τώρα στο θέμα.Προσπάθησα να κάνω τη μεταφορά ξανά, αφού πρώτα κοίταξα μερικά πράματα στην κονσόλα (περιτό να πω ότι μου είναι πολύ δύσκολο και τα ξεχνάω μέχρι την επόμενη φορά που θα χρειαστούν αλλά ας είναι, τώρα θεωρώ ότι προσπαθώ να μάθω ψάρεμα...και όχι βρήσκω έτοιμο ψάρι). Όταν έφτασα στην τελευταία εντολή (διαγραφή) εκεί που κάνεις το σταυρό σου...έκανα το reboot. Όμως όταν ξεκίνησε το ubuntu μου, ήταν σε μια αρχική κατάσταση χωρίς compiz fusion και χωρίς τίποτα φυσικά στο home, τα πάντα άδεια. Αυτό δεν ξέρω αν είναι φυσιολογικό, εγώ θα ήθελα να τρέχω το λειτουργικό με το home σε άλλη partition αλλά να έχω τις ρυθμίσεις μου. Αν όχι έχω καταλάβει λάθος. Το θέμα πάντως είναι ότι (επέστρεψα εννοείται στην προηγούμενη κατάσταση από μια εικόνα που κράτησα), είδα το home μου στη άλλη κατάτμηση sdc6. Αφού την έκανα mount απο γραφικό περιβάλον και συγκεκριμένα Gparted γιατί όπως καταλαβαίνεις ψαχνόμουνα για το τι έχει γίνει. Ήταν όλα μέσα ενθουσιάστικα τουλάχιστον κάτι έγινε. Και μια τελευταία απορία (προς το παρόν), φαντάζομαι ότι τη δεύτερη partition (sdc6) δεν πρόκειται να τη δώ σαν σκληρό όπως όταν την είχα για αποθήκη αλλά μόνο σαν φάκελο μεσα στο /media, έτσι δεν είναι;
Και πάλι ευχαριστώ για την υπομονή και sorry για το πρήξιμο.

Βασικά το σημαντικότερο του να ξέρεις τι πραγματικά κάνεις δεν είναι για να μάθεις ο ίδιος, αλλά γιατί εγώ μπορεί να κοτσάρω μια εντολή (κατά λάθος πάντα !!) που μπορεί να σου κάνει ζημιά. Όπως για παράδειγμα ξέχασα να σου πω κάνε backup το home σου κάπου πριν το σβήσεις (καλά τα λέει ο ottx στο πρώτο post).

Καταρχήν βεβαιώσου ότι το sdc6 έχει ακριβώς τα ίδια αρχεία με το original home σου (και με τα ίδια permissions).

Αυτό που θέλουμε να κάνουμε είναι να έχουμε έναν κενό υποκατάλογο ονόματι /home
Εκεί θα προσαρτηθεί (mount) το sdc6 (κι όχι στο /media) μέσω του αρχείου fstab όταν κάνεις boot.
Έτσι όταν πας με τον browser σου και κάνεις κλικ στο φάκελο /home, στην ουσία θα βλέπεις τα περιεχόμενα του sdc6.

Δοκίμασε το howto του ottx από το (5) και μετά, για να βεβαιωθείς ότι δουλεύει
Όπου /old_home μπορείς να χρησιμοποιήσεις οποιαδήποτε τοποθεσία σε όποιον σκληρό σου χωράει
Όπου /dev/hda5 εσύ θα βάλεις /dev/sdc6

Αν όλα παν καλά τότε πρέπει να αλλάξεις τη γραμμή του fstab για να γίνεται αυτόματα κάθε φορά που κάνεις boot

....αααα και μην ανησυχείς για το πρήξιμο. Χαρά μου :-)

Ερώτηση πρώτη: Με την εντολή mv μετακίνησα το Home σε ένα άλλο σκληρό στον sda5 (το βλέπω υπάρχει), γιατί υπάρχει home (με όλα τα περιεχόμενα εννοείται) και στον αρχικό κατάλογο. Δεν έγινε moove δηλαδή έγινε αντιγραφή;

Ερώτηση δεύτερη: γιατί ο sdc6 δεν γίνεται mount μετά από reboot και όπως φαίνεται στο fstab τον έχει vfat και όχι ext3 όπως τον έχω φορμάρει;

Ερώτηση τρίτη: Τι πρέπει να δώσω στα defaults (ή αλλού;) στο fstab για να γίνεται αντιληπτός;

/dev/sdc6 /media/sdc6 vfat defaults 0 0
/dev/sdc5 /media/sdc5 ext3 defaults 0 0
/dev/sdc1 /media/sdc1 swap defaults 0 0

Τέλος στον sdc6 δεν έχω φάκελο home αλλά τα περιεχόμενά του με όλα τα permissions κανονικά (πιστεύω όλα)

Η άσχετη γνώμη μου είναι ότι κάτι δεν έχει πάει καλά στον sdc6...αλλά τι; Σκέφτομαι να κάνω φορματ στον sdc6 και να κάνω mv το home εκεί (έτσι κι αλλιώς το έχω αρκετές φορές backup).

Ευχαριστώ και πάλι.

αφού έχεις το home σε backup, γιατί δεν κάνεις κάτι άλλο να τελειώνεις?

Εγκατάσταση εξ αρχής (βάζεις καί ... 8.04) καί πας με την μία το home όπου θες καί δουλεύουν όλα σωστά

(τι μανία μας δέρνει -όσους ψαχνόμαστε- να δυσκολεύουμε την ζωή μας :) )

====

the hamster's is out there

http://hamster.tuxhost.gr/

Σωστό. Αλλά πρώτον περιμένω την τελική έκδοση του 8.04 και δεύτερο θα ήθελα να μη χάσω τις ρυθμίσεις μου.

η beta (τουλάχιστον μέχρι τώρα) τρέχει άψογα.

====

the hamster's is out there

http://hamster.tuxhost.gr/

Κάπου έχει δίκιο ο alfisti :O !!

Αν πάντως συνεχίζεις να θέλεις να βασανίζεσαι ?? 8)

Είσαι πολύ κοντά !!
Αρκεί να προσθέσεις στο fstab τη γραμμή:

/dev/sdc6	/home	ext3	defaults,noatime	0	2

αφού πριν αδειάσεις όλα τα περιεχόμενα του /home (και τα hidden - τα ΠΑΝΤΑ)

Επίσης πρέπει να αφαιρέσεις τη γραμμή (ή να της βάλεις ένα καγκελάκι στην αρχή):

/dev/sdc6 /media/sdc6 vfat defaults 0 0 

Reboot, κι είσαι έτοιμος !!

Όσον αφορά τις απορίες για fstab ρίξε μια ματιά εδώ:
http://www.linuxinsider.gr/forum/fstab

Τώρα γιατί δεν δούλεψε η mv δεν έχω ιδέα :?

Τελικά ίσως ακολουθήσω τη συμβουλή του alfisti. Εκεί δημιουργείς την κατάτμηση /home μαζι με τις άλλες δύο και κάνεις εγκατάσταση και όλα κανονικά έτσι;
Στη περίπτωσή μας εδώ με τα "βάσανα", κάτι δεν πάει καλά στο fstab. Δοκίμασα να πρoσθέσω τη γράμμη. Και έτσι όπως την έδωσες και με /home/username αλλά και τις δυο φορές το ίδιο πρόβλημα. Μου λέει στην εκκίνηση ότι δεν έχω δικαιώματα στο home!! Οπότε επαναφέρω το fstab στην αρχική του μορφή κάνω restore το home και όλα εντάξει. Tώρα που το ξαναβλέπω τα αρχεία αυτή τη φορά στον sdc6 έχουν δικαιώματα root (ξανάκανα τα πάντα απ'την αρχή), ενώ την προηγούμενη φορά είχαν δικαιώματα user.

Κατά την εγκατάσταση μιας διανομής κάποια στιγμή σε ρωτάει πως θέλεις να φτιάξει ττις κατατμήσεις (αυτόματα ή χειροκίνητα).
Εσύ θα διαλέξεις χειροκίνητα και στις επιλογές που σου δίνει μετά επιλέγεις πχ:
- Θέλω το sdc5 να γίνει mount sto / . Επίσης φόρμαρέ το (για το / είναι υποχρεωτικό)
- To sdc1 να χρησιμοποιηθεί ως swap
- To sdc6 ως home αλλά μην το φορμάρεις
Και πάλι πρέπει τα αρχεία που βρίσκονται στο sdc6 να έχουν τα permissions (το ίδιο id, uid gid) με τον λογαριασμό χρήστη που θα δημιουργήσεις κατά την εγκατάσταση της διανομής. Αυτό είναι κάτι που χρησιμοποιείται κατά κόρον όταν αντικαθιστούμε τη διανομή μας και θέλουμε όλα τα αρχεία και οι ρυθμίσεις μας να μείνουν όπως ακριβώς τα είχαμε. Επίσης δίνεται η δυνατότητα 2 ή περισσότερες εγκατεστημένες διανομές να χρησιμοποιούν το ίδιο home !!!

Για την τρέχουσα κατάσταση υπάρχει η εξής (απλή) λύση:
1. Κάνεις ένα backup (απλό copy) το τωρινό home σου, σε κάποια κατάτμηση (πχ σ'έναν εξωτερικό σκληρό) που δεν θα την πειράξεις κατά τη νέα εγκατάσταση (προσοχή να αντιγράψεις και τα hidden). Μην ανησυχείς για τα permissions.
2. Κατά την εγκατάσταση της νέας διανομής επιλέγεις χειροκίνητο partitioning κι έπειτα το sdc6 να γίνει home και να φορμαριστεί.
3. Όταν πια βρίσκεσαι στο περιβάλον της νεοεγκατεστημένης διανομής (κάνεις login ως απλός user). Αντιγράφεις όλα τα αρχεία από εκεί που τα έκανες backup στο νέο /home (το οποίο είναι και το sdc6) κι επιλέγεις replace όταν σε ρωτάει. Έτσι θ'αποκτήσουν τα permissions που πρέπει. Άσε που θα κάνεις τα πάντα με όμορφα παραθυράκια (θα'ρθει και η περίοδος που θα γουστάρεις κονσόλα :-)).

soc2u]Tώρα που το ξαναβλέπω τα αρχεία αυτή τη φορά στον sdc6 έχουν δικαιώματα root (ξανάκανα τα πάντα απ'την αρχή), ενώ την προηγούμενη φορά είχαν δικαιώματα user

Κάτι μου λέει ότι έκανες copy ή move και δεν χρησιμοποίησες το rsync με επιλογές που διατηρούν τα permissions

ρίξε και μια ματιά στον πανέμορφο οδηγό εγκατάστασης (με screenshots κλπ) του hardy heron που έφτιαξε ο alfisti:
http://www.linuxinsider.gr/forum/ubuntu-804-hardy-heron-%CE%95%CE%B3%CE%BA%CE%B1%CF%84%CE%AC%CF%83%CF%84%CE%B1%CF%83%CE%B7

Επιτέλους... είχα αρχίσει να ανησυχώ και κυρίως είχα κολλήσει.

ΘΑ δω και τον οδηγό εγκατάστασης του alfisti και γενικώς προετοιμάζομαι για μια καθαρή εγκατάσταση Hardy heron έτσι 'οπως την θέλω, αυτό όμως μετά το Πάσχα και με την τελική έκδοση της διανομής.

Για τα permissions του home , δεν θυμάμαι πως έγινε ίσως να ήταν moove αλλά συνήθως χρησιμοποιώ rsync και σε γραφικό, Grsync.

Αυτά προς το παρών και Εύχομαι Καλό Πάσχα και καλή Ανάσταση.

Καλή μερα και Χρόνια Πολλά,
Έκανα καθαρή εγκατάσταση Hardy heron με home σε διαφορετική κατάτμηση σύμφωνα με τις συμβουλές του luckyb και απόλαυσα μια ευχάριστη έκπληξη!! Όλα καλά (δίκαιο είχε ο alfisti)...Ε! Όχι και όλα αλλά γι αυτά θα βρεθούμε σε άλλο θέμα.