Portál AbcLinuxu, 10. května 2025 01:01

Dotaz: jak přesunout oddíl na nový hdd a připojit jako home

14.12.2010 13:17 kájiš
jak přesunout oddíl na nový hdd a připojit jako home
Přečteno: 2156×
Odpovědět | Admin
Zdravím všechny, moje situace je taková že mám nainstalované Ubuntu Lucid lynx na jednom oddílu na jednom HDD mám nainstalovaný systém jako takový, na jiném HDD mám vytvořený oddíl a připojený jako /HOME vše proběhlo při instalaci. Ted mi ale začínají problémy s tím druhým HDD - špatně se roztáčí, někdy ho bios nenajde, vadné sektory atd.. čili budu reklamovat. Mám k dispozici nový HDD chtěl bych na něm vytvořit oddíl do něj nacpat všechna data ze současného oddílu přípojeného jako HOME a následně tento nový oddíl připojit jako HOME.

Poradíte mi prosím jak to udělat jednoduše a správně.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.12.2010 13:41 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
Odpovědět | | Sbalit | Link | Blokovat | Admin

Přimountovat oba, současný read-only, a zkopírovat pomocí 'cp -a'.

Případně je-li nový oddíl aspoň tak velký jako starý (a chcete použít stejný filesystém), můžete zkopírovat pomocí dd celý obsah zařízení a pak použít odpovídající nástroj pro zvětšení filesystému (resize2fs, resize_reiserfs, xfs_growfs, mount -o remount,resize).

Mimochodem, unixové filesystémy jsou case sensitive, takže /HOME (což píšete) je něco úplně jiného než /home (což máte nejspíš na mysli).

14.12.2010 22:02 kájiš
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
a šlo by to ješte trošku víc rozepsat rekněme pro blbce ;-) oddíl udělám stejný

Mimochodem s /home máte samozřejmě pravdu
14.12.2010 22:41 2X4B-523P | skóre: 38 | blog: Zelezo_vs_Debian
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
můj postup:

1. vytvořit oddíl se souborovým systémem na novém disku

2. zkopírovat data ze starého disku na nový (cd /home/;
                                             find . -depth -print0 | cpio --null --sparse -pvd /cesta/kde/je/disk/pripojen;)

3. upravit /etc/fstab

4. remount nebo reboot
ten příkaz na kopírování je odsud: http://embraceubuntu.com/2006/01/29/move-home-to-its-own-partition/
14.12.2010 22:50 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home

Řekněme, že jako /home máte /dev/sdb1 a na novém disku chcete použít /dev/sdc1. První varianta:

  mount -o remount,ro /home
  mkdir /mnt/tmp
  # zvolit podle typu filesystému:
  # mke2fs -j -m 0 /dev/sdc1
  # mkreiserfs /dev/sdc1
  # mkfs.xfs /dev/sdc1
  # jfs_mkfs /dev/sdc1
  # mke2fs -t ext4 -m 0 /dev/sdc1
  mount /dev/sdc1 /mnt/tmp
  cp -a /home/* /mnt/tmp/
  umount /mnt/tmp
(Tady předpokládáme, že v kořeni /home nejsou skryté soubory nebo adresáře.) Druhá varianta:
  if [ `cat /sys/block/sdb/sdb1/size` -gt `cat /sys/block/sdc/sdc1/size` ]; then
    echo "stop!!!" >&2
  else
    dd if=/dev/sdb1 of=/dev/sdc1
    ## podle typu filesystému:
    ## ext3/ext4:
    # resize2fs /dev/sdc1
    ## reiserfs:
    # resize_reiserfs /dev/sdc1
    ## XFS:
    # mkdir /mnt/tmp
    # mount /dev/sdc1 /mnt/tmp
    # xfs_growfs /mnt/tmp
    # umount /mnt/tmp
    ## JFS:
    # mkdir /mnt/tmp
    # mount /dev/sdc1 /mnt/tmp
    # mount -o remount,resize /mnt/tmp
    # umount /mnt/tmp
  fi

Jen ve vlastním zájmu nic z toho nezkoušejte, dokud nebudete vědět, co konkrétně jednotlivé příkazy dělají, a nerozmyslíte si, jestli je to opravdu přesně to, co chcete.

15.12.2010 13:01 kájiš
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
Jestli to tedy dobře chápu:

současná situace je taková:
/home je /dev/sdb2 
typ Ext3

na novém disku použiju:
/dev/sdc
typ Ext3

protože v kořenu /home jsou skryté adresáře použiju tedy variantu č 2 ?

a bude to tedy:
if [ `cat /sys/block/sdb/sdb2/size` -gt `cat /sys/block/sdc/sdc/size` ]; then
    echo "stop!!!" >&2
  else
    dd if=/dev/sdb2 of=/dev/sdc
    
   resize2fs /dev/sdc1
    
  fi
15.12.2010 14:47 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home

Dělat filesystém přímo na disku je sice možné, ale moc místa tím neušetříte a tu a tam bude něco prskat, že na /dev/sdc není platná tabulka rozdělení. Takže bych spíš ohnul hřbet, udělal tam jeden oddíl přes celý disk a filesystém vytvořil na něm. Ale to, co píšete, bude fungovat taky.

Kvůli skrytým adresářům v kořeni /home (sice nechápu, kde se tam vzaly, ale to je vaše věc) nemusíte nutně používat druhou variantu, jen je potřeba zkopírovat i ty (wildcard je nevezme), takže je buď můžete explicitně vyjmenovat nebo zkusit /home/.* (ale nejsem si stoprocentně jistý, jak to naloží s . a ..).

15.12.2010 19:25 aceman | skóre: 27
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
Ak chceme aby bash shell ponukal aj nazvy zacinajuce bodkou, je mozne pouzit prikaz "shopt -s dotglob". V dalsich prikazoch by potom /home/* malo vybrat naozaj vsetky subory/adresare.
15.12.2010 14:04 Xerces
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj, normálně to zkopíruj z jednoho disku na druhej v mc (Midnight Commender). Starej disk potom odmountuj a místo toho přimountuj (oprav si /etc/fstab a restartuj) do /home ten nově zkopírovanej. Jak připojit nový disk už psali kolegové přede mnou. Mým příspěvkem jsem chtěl pouze říct, že to lze i trochu pohodlněji než přes cp. Jo a kopíruj to jako root pochopitelně, kvůli právům.
16.12.2010 15:21 2X4B-523P | skóre: 38 | blog: Zelezo_vs_Debian
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
tomu mc ještě v kopírovacím dialogu nastavit aby zachovalo atributy a nesledovalo symlinky (třeba wine mi dělá symlink na / :-) )
16.12.2010 21:52 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
A není opravdu jednodušší

cp -a source target

?
16.12.2010 23:56 2X4B-523P | skóre: 38 | blog: Zelezo_vs_Debian
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
je, to bylo k tomu mc, já posledně měnil identické disky a udělal jdem to přes cat /dev/sdb > /dev/sdc :-D
17.12.2010 11:16 stewe
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
wau :D to fakt funguje ? :DD
17.12.2010 14:15 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
Vzhledem k tomu, že dnes už stejně geometrie nikoho nezajímá, bych věřil že ano. Problém ovšem může být v tom, že ani "stejné" disky nemusejí být ve skutečnosti úplně stejné. Měl jsem v ruce dva současně koupené disky od stejného výrobce se stejným modelovým označením a nepříliš odlišným sériovým číslem, jejichž velikost (coby zařízení) se mírně lišila.
17.12.2010 11:36 Xerces
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
Toť otázka na kterou si musí zodpovědět tazatel :-) Jinak dobrá poznámka s těmi symlinky a atributy. Já to tam mám default a nenapadlo mě na to upozornit. Výhodou mc je progress bar, který tak rádi někteří uživatelé sledují :-)
17.12.2010 14:12 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
OK, tak 'cp -va', ať máte co sledovat. :-)
Jendа avatar 17.12.2010 17:23 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
Výhodou mc je progress bar, který tak rádi někteří uživatelé sledují :-)
Taky může dát df -H a uvidí, kolik už má nakopírováno.

A kdyby chtěl kopírovat ne catem, ale přes dd, tak tomu se zase dá poslat SIGUSR1.
17.12.2010 21:11 Ash | skóre: 53
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
Zato když chcete kopírování na chvíli zastavit... :D
17.12.2010 23:26 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
Právě ten progress bar u větších stromů se spoustou malých souborů proces kopírování docela zdržuje, obzvláště pokud by šlo o vzdálené ssh. Navíc to zatěžuje Xka, pokud to běží v nějakém xtermu. Na kopírování větších stromů se mc nehodí.
18.12.2010 18:15 kájiš
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
Odpovědět | | Sbalit | Link | Blokovat | Admin
Takže zkusil jsem to takhle:
sudo su
mount -o remount,ro /home
mkdir /mnt/tmp
mke2fs -t ext3 -m 0 /dev/sdc
mount /dev/sdc /mnt/tmp
shopt -s dotglob
cp -a /home/* /mnt/tmp/

a při korírování to vždacky hodilo chyby pro některé soubory a nezkopírovalo to všechno a navíc se to zaseklo takže jsem se nikam nedobral.

Kvůli skrytým adresářům v kořeni /home (sice nechápu, kde se tam vzaly, ale to je vaše věc)
adresář se jmenuje .ecryptfs

zkusil jsem teda mc přeskákal jsem spoustu chybových hlašení jako
 no such file, nelze provést stat Permission denied,
apod. a pak hromadu červených okýnek kde jde přečíst jen nahoře Chyba a dole přeskočit/zrušit mezi tím moc písmenek a čísel dohromady.Takže tudy asi taky cesta nevede.

18.12.2010 18:56 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
Tudy cesta opravdu nevede. Nejdříve nabootuješ do grafického rozhraní pod nějakým uživatelem, pak jeho domácí adresář, do kterého spoustu softů pořád něco zapisuje, přemontuješ jen pro čtení a začneš kopírovat. To se pak nediv, že ti mezitím naskáče spoustu okýnek, že se něco nepodařilo.

1. nastav heslo pro roota (sudo passwd)

2. nabootuj do nouzového (recovery) režimu a v konzoli se přihlas na roota. V tomto režimu (tzv. single, úroveň 1) neběží žádné softy, které by potřebovaly přistupovat do /home.

3. Teď teprve proveď výše uvedené příkazy (bez sudo, již jsi root).

Jestli ty příkazy nechceš opisovat, ulož si je třeba do skriptu a spusť rovnou ten. Zase se tím něco naučíš.
Jendа avatar 18.12.2010 19:07 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: jak přesunout oddíl na nový hdd a připojit jako home
a při korírování to vždacky hodilo chyby pro některé soubory
Možná by bylo dobré sem ty chyby uvést a případně říct, u jakého souboru nastaly (tipuji to na .gvfs).
no such file
To je divný, skutečně na ten oddíl žádná aplikace nehrabe? Tohle by totiž vypadalo jako že ti něco maže soubory pod rukama.
Permission denied
Kopíroval jsi předpokládám jako root.
adresář se jmenuje .ecryptfs
Šifrovaný domovský adresář by pak měl být během kopírování odpojený, aby se kopírovala pouze ta zašifrovaná data a ne to rozšifrované.

Já bych to kdyžtak místo zkopírování zkusil rsyncnout rsync -avhP --numeric-ids --delete /home/* /mnt/tmp/, když to necháš doběhnout a pak to spustíš znovu, zobrazí to jenom změněné a problémové soubory.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.