Pull to refresh

Comments 79

за то что все эти операции можно сделать в 2 клика — я люблю макось :)
)) По сути, здесь букв много, а работы, не считая копирования всех файлов, на 15 минут с учетом времени загрузки LiveCD. В принципе, можно копирование сделать с помощью Ghost, True Image, но цель заметки была именно в том чтобы использовать исключительно средства поставляемые с системой. Т.е. только LiveCD. Надеюсь, кому-нибудь этот материал пригодится.
Оформите вывод терминалов в blockquote, а то выглядит как будто это команды. На деле же тут всего штук 5 нужно.

ЗЫ: я б груб ставил потом уже на перенесенный хард просто, ведь для загрузки можно и старый использовать заменив в нем root= (это можно сделать нажав в меню груба «e» для редактирования), он бы сам сгенерировал что надо. Есть еще вариант с dd:
sudo dd if=/dev/hda of=mbr.img bs=512 count=1 — копирует MBR (можно забекапить)
sudo dd if=mbr.img of=/dev/hdb bs=512 count=1 — залить этот MBR на другой хард
тогда вообще ничего менять не нужно, разве что в grub.cfg названия дисков.
Подправил с использованием blockquote.

На счет переноса mbr — Ваш вариант действительно проще, но для меня это был первый опыт работы с grub я его, собственно, и описал.
я делал перенос системы на другой винт без liveCD.
угу, достаточно
rsync -avH --progress -x /откуда /куда
ну я обошелся mc и потом чрутился чтобы граб поставить. Все. Ну и fstab подправить
И папочку Users на отдельный раздел вешает тоже за те же два клика, да?
Ну напишите блин в Линуксе гуй к этой операции, если охота кликов, это же вообще элементарщина
в том же gparted можно копировать партицию, и вставлять в другое место. думаю, что потом её можно расширить. затем установим груб, и вроде всё, не?
А вот за подобные комментарии, я терпеть не могу юзеров MacOS.
И слава Богу!) Кстати, по какой то странной причине, все мои знакомые маководы вполне адекватные никсоиды. А макодрочеры тока в основном владельцы неджейлбрейканных яблокофонов)
за какие за такие? за то что это можно сделать в 2 клика? :))
я такой же пользователь винды и линуха, как и пользователь макоси :)
В линуксе тоже. Сам был в шоке когда GParted скопипастил мне все разделы. Выставил активность и все.
Как в GParted скопировать раздел?
Да, спасибо. Видимо придётся скачивать Live-CD, из-под работающей системы он не хочет копировать раздел.
Именно с CD грузился.
UFO just landed and posted this here
А есть ли в Linux какие-нибудь средства для удобной визуальной разметки диска? Вроде Acronis Partition Expert или как его там?
Gparted — первое что приходит на ум.
Любой Linux переносим легким копированием файлов с сохранением атрибутов, симлинков, устройств и тд и последующим установщиком загрузчика.
Как жаль, что написать подробную воспроизводимую инструкцию про это догадались не вы.
Вот я и описал здесь свой опыт переноса )) Надеюсь, что кому-нибудь понадобится.
и ваш 320-гигабайтный диск становится 80-гигабайтным.
Нет, он, конечно, остаётся 320Гб, но вся таблица разделов идёт к чертям. Потом приходится с этим возиться, проще иногда просто пересоздать разделы заново.
Я всегда так делаю =) Винду так особенно удобно переносить. Потом с помощью партишнмэджика расширить разделы как надо и усё.
Ещё как-то давно фряху с живого сервера переносил на новый сервер с помощью nfs.
Время отключения старого сервера при замене составило 5 минут =)
Хотя можно перенести и с помощью такого изврата:
новый сервер:
— nc -l -p 1234 | dd of=/dev/sdb bs=$((1024*1024))
старый
dd if=/dev/sdb bs=$((1024*1024))| nc 1.2.3.4 1234
— Я так винду с старого компа на ноут переносил…
Мне нужно было создать раздел подкачки + /home вынести в отдельный раздел. Вообще, я очень рад что в комментариях отписались люди, предлагающие альтернативные варианты решения данной задачи. Те кто так же столкнулся с подобной задачей смогут выбрать то решение, которое им подходит. Спасибо.
UFO just landed and posted this here
Есть ли на Хабре программисты, которые осилят эту неподъёмную задачу?
есть, но среди них мало идиотов.
Вы могли бы более полно раскрыть суть вашего комментария? Закончить мысль, так сказать.
В два клика перенести систему можно легко, но только если установка без каких-либо особенностей и сделана по какому-то шаблону — это раз. Два — без внесения этого ГУИ в репозиторий смысла писать нет — никто не найдёт и пользоваться не будет. Три — задача не настолько частая и не настолько сложная, чтобы это автоматизировать, а тестировать подобные программы сложно из-за разной конфигурации машин и дело может затянуться. Можно много причин найти дополнительно, но основная — это почти никому не нужно.
> В два клика перенести систему можно легко, но только если установка без каких-либо особенностей и сделана по какому-то шаблону — это раз.
Хорошо, а если не в два, а с указанием переносимых разделов и их новых размеров?

> Два — без внесения этого ГУИ в репозиторий смысла писать нет — никто не найдёт и пользоваться не будет.
Что мешает создать свой репозиторий, и использовать его как один из каналов распространения программы? Ведь расположение репозитории — не главное. Программа может быть в репозитории Canonical, но при этом не быть популярной. Прежде всего необходимо её качественно реализовать

> Три — задача не настолько частая
Появление этой статьи здесь намекает, как и выложенные на других сайтах хаутушки. В Windows для решения этой задачи давно есть как специализированные программные продукты (Acronis Migrate Easy), так и средства резервного копирования или менеджеры разделов, позволяющие решить в том числе проблему переноса системы.

> и не настолько сложная, чтобы это автоматизировать
Не для всех пользователей *buntu, увы.

> тестировать подобные программы сложно из-за разной конфигурации машин и дело может затянуться
Конечно, начальные стадии жизненного цикла любой качественной программы довольно продолжительны по времени.
По первому вопросу: Программа должна делать три вещи: создавать разделы, копировать данные, настраивать grub 1, grub 2, lilo. Всё остальное более-менее просто.
1.создавать разделы — надо учитывать, что уже могут быть разделы, и не уничтожать их, и надо уметь анализировать существующую структуру — а это непросто.
2. копировать данные — надо для разных файловых систем учитывать их особенности. Ну не очень сложно, но для каждой системы надо писать свою процедуру.
3. программы загрузки сильно различаются между собой, и надо не забыть учесть возможность наличия старого загрузчика. Это вообще самый проблемный участок.

Про репозиторий. Как уговорить людей использовать мой репозиторий и откуда они вообще о нём узнают? Проблема решаемая, но есть ли много людей, переносящих систему?

Acronis Migrate Easy — ну так windows и встречается на два порядка чаще линукса, вот для него и не поленились написать программы.

Если пользователь ubuntu не может перенести сам, для него есть простой совет — установить на новый диск ubuntu с нуля и командой cp скопировать /var /usr /home и так далее, самый безболезненный вариант.

Тестирование будет идти вечно, так как разнообразие конфигураций в linux велико и постоянно появляется что-то новое.

Задача несколько проще. Программа не сама создаёт разделы, работая с HDD напрямую, она делает это обрабатывая вывод и отдавая команды fdisk. (3) Поддержка всёх трёх загрузчиков если и нужна, то только для считывания их параметров. На целевой HDD можно для начала всегда ставить GRUB2.
(1) Так же, для начала можно ограничится либо просто выбором «перенести на пустой винт или очистить целевой винт» (тот же Migrate Easy и другие средства переноса Acronis (речь о команде «Копировать диск») именно это и предлагают), позже прикрутить «перенос на пустое место».
(2) С файловыми система задача не так уж сложна, просто требуется усидчивость и наличие обработки исключений типа NTFS. Так же здесь нужно будет сделать проверку на наличие MD-устройств, и, опять же, для начала, отказываться с ними работать. Если уж пользователь сам создал MD-устройство, значит и перенести систему он скорее всего тоже сможет.

> Про репозиторий. Как уговорить людей использовать мой репозиторий и откуда они вообще о нём узнают?
Выложите статью о своей программе здесь, да на ubuntuforums.org/ с forum.ubuntu.ru/
На одном из форумов тему о программе, может быть, закрепят на первое время. В общем, это не самая большая проблема.

> Проблема решаемая, но есть ли много людей, переносящих систему?
Во-первых, да, что подтверждается существованием большого количества инструкция на эту эту тему, как я уже писал, во-вторых, потому Windows и более распространена на домашних десктопах, что там для решения проблем даже самых малых групп (не этот случай, тут группу не то, чтобы сильно велика, но и не настолько мало) пользователей ОС Windows скорее всего найдётся соответствующая утилита.

> Acronis Migrate Easy — ну так windows и встречается на два порядка чаще линукса,
Рассуждения в стиле "… не нужно" ситуацию не изменят.

Кстати, один из вариантов, чтобы не множить сущее без необходимости, попробовать программу реализовать как компонент одного из популярных менеджеров разделов для Linux. Ну или хотя бы как компонент YaST2, для начала.

> Если пользователь ubuntu не может перенести сам, для него есть простой совет — установить на новый диск ubuntu с нуля и командой cp скопировать /var /usr /home и так далее, самый безболезненный вариант.
Ага, в Windows программа для решения вопроса переноса настроек подобным способом называется «Мастер переноса файлов и параметров». Удивительно, но даже для решения задачи таким образом существует утилита с дружелюбным интерфейсом. Это тоже намекает.
>Задача несколько проще. Программа не сама создаёт
>разделы, работая с HDD напрямую, она делает это
>обрабатывая вывод и отдавая команды fdisk. (3)
>Поддержка всёх трёх загрузчиков если и нужна, то
>только для считывания их параметров. На целевой HDD
>можно для начала всегда ставить GRUB2.

Работа с MBR всегда очень ответственна, как создавать разделы не так важно, важно какие разделы создавать. И тут ждут засады.

Проблема именно в разнообразии дистрибутивов. Чтобы не нарушать их политики, надо все учитывать. Вот Вы предлагаете ставить GRUB2. А если его нет, что делать?

Я не спорю, для многих программа нужна. Но тестировать очень сложно такие программы. Либо надо кучу условностей принять, таких как «перенести на пустой винт» — а для таких случаев инструкция будет очень простая и вполне можно написать простенький скрипт вместо GUI. Кстати, всё равно надо писать скрипт для переноса, чтобы можно было удалённо его запустить — GUI X-сессия не выдержит долгой работы при копировании диска.
Я предлагаю разобраться для начала с *buntu 9.10 :D (ведь именно о ней статья)
Посмотрите на задачу с этой точки зрения.
Такие программы нельзя писать под конкретную версию, это не windows. Например, мне сейчас надо переносить debian etch и lenny — а вот ubuntu у меня как не было так и нет. И у многих программистов нет.

Писать под конкретную версию — нет, однако «разобраться для начала с *buntu 9.10» — таки да. Если программа будет гладко работать с *buntu 9.10, продолжить тестированием и исправлением проблем при работе с *buntu 9.04 и 10.4. После них логично было бы разобраться с Debian, да. В общем, моя мысль должна быть теперь полностью ясна, я полагаю. Или требуется полный roadmap пока что не существующей программы расписать?
Я не спорю, что программа полезна и будет востребована. Но чтобы с ней справился человек, далёкий от компьютеров, она должна быть крайне надёжна. А это сложно обеспечить, не имея собственного интереса и не имея внятного плана монетаризации. Тем более что тот же акронис рано или поздно всё это сделает за 400 рублей.
Акронис сделает это за 400 рублей не раньше, чем появится Acronis True Image Home for Linux, а пока что даже Acronis True Image for Linux Workstation не видно.
Обычная «проблема» униксов. :)
Те, кто не могут такое написать, обычно очень хотят всю это чепуху с бантиками и свистелками.
А те, кто может, не в состоянии понять нафига на такую банальную задачу (три-пять строчек в командной строке) тратить время и силы, чтобы получить никому не нужный гуй, работать с которым будет существенно сложнее и дольше, чем руками.
Персонажи манги Ubuntu, сетевые тролли и авторы всяческих руководств «Linux для чайников» всё ещё смеют писать, что «не бойтесь, командная строка в Linux не нужна! Это всё древние мифы!» или что-нибудь в этом роде. 99% пользователей не хотят разбираться с командной строкой, не смотря на то, насколько это просто или сложно, и на то, как быстро решилась бы их проблема, если бы они вбили несколько команд. Это факт. Какой из этого следует вывод, я думаю, очевидно.
Очевидный вывод — пусть платят тем кто может, или покупают программу, которая может. Почему надо учитывать их интересы и делать им что-то бесплатно? В конце концов, линукс действительно несложно переставить с нуля и перенести свою /home/ubuntuuser, это в windows перестановка системы грозит недельным простоем.
> Очевидный вывод — пусть платят тем кто может, или покупают программу, которая может.
Есть такая программа? Всюду есть соответствующие специалисты?

> Почему надо учитывать их интересы и делать им что-то бесплатно?
А почему вообще люди, например, выкладывают исходных код их программ? Почему они обязаны учитывать интересы других и отдавать им результат своих трудов бесплатно?

> В конце концов, линукс действительно несложно переставить с нуля и перенести свою /home/ubuntuuser
А тем, у кого медленный Интернет не сложно будет сутки качать заново все апдейты и софт. Да, настолько медленный интернет всё ещё есть в России.
Насколько я понимаю, сейчас акронис работает с линуксовыми разделами и с пустым диском должен справиться.

Бесплатно что-то делать никто не обязан, Вы ошибаетесь. Нормальный подход — сделать что-то для себя и выложить для всех не жалко, но это не значит что надо делать то что тебе лично не нужно.

Насчёт медленного интернета. Проблемная часть — это переразбивка диска и установка загрузчика так, чтобы ничего не порушить. Скопировать файлы со старой системы на новую — тривиальная задача и справиться с ней может любой. Дело только за официальным FAQ. Если его не — значит задача не такая простая как Вы думаете.
> Насколько я понимаю, сейчас акронис работает с линуксовыми разделами и с пустым диском должен справиться.
Относительно *buntu 9.10: поддержку ext4 в ABR10 должны были выпустить с осенним апдейтом, но и сейчас, при том, что завтра февраль, её всё ещё не зарелизили. И это в ABR10, который стоит от двадцати тысяч рублей. Когда это появится в ATIH — ещё не известно, но явно не скоро.
И, да, Акронис не исправит конфиги.

> Бесплатно что-то делать никто не обязан, Вы ошибаетесь.
Если я ничего не путаю, в этой ветке речь шла про бантики и их целесообразность. Вы предложили платить за программы (с бантиками) или специалистам, которые смогут перенести систему. Однако, дело в том, что соответствующих программ я пока что не вижу, а специалисты есть не везде. По этим пунктам возражений нет?
>Однако, дело в том, что соответствующих программ я
>пока что не вижу, а специалисты есть не везде. По
>этим пунктам возражений нет?

Если программ нет, специалистов нет, зачем пользователь поставил себе линукс? Что, если Вася Пупкин поставил Ubuntu, все программисты мира должны броситься ему на помощь и клеить бантики на любую задачу? А если он QNX поставит? Что-то Вы путаете. Осмысленная постановка вопроса — «Странно, что никто не сделал программу для переноса, вроде нужная, ну и бог с ней», а не «Быстро все делать».
> Если программ нет, специалистов нет,
Ok, с этим разобрались. Почему нужны бантики и свистелки тоже разобрались.

> Осмысленная постановка вопроса — «Странно, что никто не сделал программу для переноса, вроде нужная, ну и бог с ней», а не «Быстро все делать».
Возьмём для примера YaST. Как считаете, почему его сделали?
Я так и не понял. Вы начали делать программу или ещё нет? Когда на результаты можно посмотреть?
Вы затрудняетесь ответить, зачем создан YaST? Или, как вы написали в первом вашем сообщении в этой ветке, его создатели — идиоты?

> Вы начали делать программу или ещё нет? Когда на результаты можно посмотреть?
Вы глупо троллите или действительно потеряли нить беседы?
Мне кажется, Вам просто не о чем поговорить. Ложитесь спать, если у Вас ночь, или пойдите погуляйте. В любом случае болтать с Вами мне надоело.
>Если я ничего не путаю, в этой ветке речь шла про бантики и их целесообразность. Вы предложили платить за программы (с бантиками) или специалистам, которые смогут перенести систему. Однако, дело в том, что соответствующих программ я пока что не вижу, а специалисты есть не везде. По этим пунктам возражений нет?
Отчего же… Заплатите и вам напишут соответствующую программу. То, что её до сих пор не написали (не написали ли?) говорит только о том, что не нашлось людей, которым она была бы нужна позарез и/или им было бы не жалко за это заплатить. Ну, и о том, что никому из специалистов небыло интересно её писать.
А с гуём, стало быть, хотят разбираться? Странно. Впрочем, дело не в этом. Хотят — пусть пишут. Не умеют писать — пусть нанимают тех, кто умеет. Не хотят и этого, пусть нанимают админа. Не вижу проблемы.
LiveCD использовать необязательно. Я обычно просто в single загружаюсь, хотя даже без этого копировал и все работало.

LiveCD использую только при клонировании по сети, и использую для этого обычно tar, а не rsync:
ssh source 'cd / && tar cf — /usr /var /etc /boot ...' | (cd / && tar xvfp — )

Проще
tar -c /usr /var /etc /boot… | nc 1.2.3.4 1234
nc -l -p 1234 | tar -x
почему не cp? И почему tar без --sparse?
Не cp потому что по сети.
Про --sparse все время забываю.
но при обрыве связи rsync поможет продолжить, а tar придётся заново начинать.
Я не говорю, что tar лучше. Мне так привычнее (в частности потому, что я им начал пользоваться едва ли не до появления rsync), а вариантов копирования можно придумать массу.

Кроме того, системы обычно приходится клонировать только в локальной сети, где обрыв связи маловероятен.
))) Для архивации я делаю:

cd /
tar cvpzf backup.tgz –exclude=/proc –exclude=/lost+found –exclude=/backup.tgz –exclude=/mnt –exclude=/sys /

Для востановления системы существует много способов… К примеру можно загрузиться с Live CD и разорхивировать на чистый диск всю систему. Но впринципе можно залить файл, на уже работающую систему, в самый корень и просто разорхивировать наш архив, коммандой:

tar xvpzf backup.tgz -C /

mount -o bind / /mnt/fakeroot спасет от множества эксклудов.
dd + утилита для работы с вашей файловой системой, делал из под рабочей системы, потом просто выключил, переткнул харды, и всё.
есть такой live cd дистрибутивчик ghost 4 linux (g4l) sourceforge.net/projects/g4l/ все что он может — скопировать полностью линукс раздел или создать образ, работает отлично и без дополнительных заморочек.
Зачем вы им это показали? Вы представляете, сколько людей теперь сломали свои линуксы, не поняв инструкции?
А в чем, собственно, проблема?
Если использовать LVM, то даже перезагружаться не надо.

fdisk-ком разбиваем новый диск, создаем boot раздел.
При помощи dd переносим /boot раздел, а потом и mbr (446 байт).

Раширяем группу томов на новый диск, pvmove на новый диск.
Удаляем старый диск из группы томов.

Если интерфейс диска позволяет, то старый диск можно так же не перезагружаясь
физически отключить.

И продолжать работать уже с нового.
Почему бы через UUID не замонтировать то?
Sign up to leave a comment.

Articles