Установка Ubuntu Linux с винчестера. Скрипт

    image
    Никогда не любил устанавливать Ubuntu с Live-CD/DVD. Иногда может быть диск поцарапан и установка прерывается на самом интересном месте, музыку не послушаешь, фильмы не посмотришь. Я устанавливаю Ubuntu из iso-образа со своего жесткого диска на другой винчестер или раздел. Читая раньше в инете статьи, как ставить с жесткого диска, я просто слепо следовал инструкциям, копируя и выполняя команды. Бывали проблемы с загрузчиком grub, приходилось дополнительно искать в интернете решения, как исправить эти ошибки. Затем, чтобы не мучаться, я сделал свой скрипт установки.

    Задача: Нужно, используя уже установленную Ubuntu, установить систему на другой винчестер.

    Решение:
    Для начала раздел, куда будет ставиться Ubuntu, отформатируйте в Редакторе разделов (gparted) и установите на разделе атрибут «boot», иначе после установки компьютер скажет INSERT SYSTEM DISK или что то в этом роде.
    image

    Запомните его путь (например /dev/sda1). Разархивированный архив со скриптами и всеми файлами надо положить в папку /home/setup. Это важно! Иначе скрипт не выполнится. Если не нравится местоположение скрипта, просмотрите скрипт и исправьте пути на свои. Разобраться в нем не сложно.

    Первый файл setup.sh Его содержание:

    1. #!/bin/bash
    2. disk=/dev/sdb3 #раздел на который будет ставиться убунта
    3. version=jaunty #версия убунты.
    4. arch=i386 #архитектура
    5. path=/home/slimer/distr/ubuntu-9.04-alternate-i386.iso #путь до вашего образа Ubuntu
    6. pathstp=/home/setup #измените путь на тот, куда вы разахивировали архив.
    7. #это все переменные, изменяйте их значение в зависимости от раздела и версии убунты. в целом скрипт будет работать.
    8.  
    9. mkdir /newubuntu #создание папки для монтирования новой системы
    10. mount $disk /newubuntu #монтирование раздела куда будет ставиться Ubuntu
    11. apt-get install debootstrap -y #установка debootstrap'а, если у кого он не установлен...
    12. mkdir /mnt/cd #создание папки для монтирования образа Ubuntu
    13. mount -o loop $path /mnt/cd/ #<b>монтирование образа ubuntu</b>
    14. debootstrap --arch $arch $version /newubuntu file:/mnt/cd #Идет установка базовой системы убунту на новый винчестер
    15. cp /etc/fstab /newubuntu/etc/fstab #копируется ваш fstab в новую систему
    16. cp /etc/hostname /newubuntu/etc/hostname #копируется ваш hostname в новую систему
    17. cp /etc/hosts /newubuntu/etc/hosts #копируется ваш hosts в новую систему
    18. cp $pathstp/sourcescd /newubuntu/etc/apt/sources.list #источники пакетов из образа
    19. cp $pathstp/sources.list /newubuntu/etc/sources.inet #на будущее копируется источники из интернета
    20. cp $pathstp/sudoers /newubuntu/etc/sudoers #файл sudoers копируется в вашу новую систему
    21. mkdir /newubuntu/home/distr/
    22. cp $pathstp/chrootsetup.sh /newubuntu/home/distr/ #копирование второй части установки внутрь новой системы
    23. cp $path /newubuntu/home/distr #пригодится нам еще образ
    24. mount -o bind /dev /newubuntu/dev #необходимо для установки GRUB
    25. mount -o bind /proc /newubuntu/proc #необходимо для вообще работы новой системы
    26. LANGchroot /newubuntu /home/distr/chrootsetup.sh #переход к выполнению скрипта уже в новой системе


    * This source code was highlighted with Source Code Highlighter.


    Второй файл chrootsetup.sh

    1. #!/bin/bash
    2. user=slimer #имя будущего юзера
    3. disk=/dev/sdb3 #раздел на который будет ставиться убунту.
    4. obraz=ubuntu-9.04-alternate-i386.iso
    5.  
    6. mount -t sysfs sysfs /sys #монтирование sysfs
    7. dpkg-reconfigure console-setup #настройка языка в консоли и всего прочего
    8. mkdir /mnt/cd #создание папки для монтирования образа
    9. mount -o loop /home/distr/$obraz /mnt/cd #монтирование образа
    10. apt-get update #получение пакетов из образа
    11. apt-get install ubuntu-standard grub linux-image linux-image-generic linux-headers-generic build-essential ssh samba -y #установка важных и нужных пакетов
    12. apt-get install ubuntu-desktop gnome-user-guide-ru language-pack-gnome-ru language-pack-ru -y #установка gnome
    13. #apt-get install xubuntu-desktop -y #у кого образ xubuntu раскоментируйте эту строчку и закомментируйте предыдущюю
    14. #apt-get install kubuntu-desktop -y #у кого образ kubuntu раскоментируйте эту строчку и закомментируйте 2 предыдущих
    15. cp /proc/mounts /etc/mtab #необходимо для grub
    16. grub-install --recheck $disk #установка grub
    17. echo "Добавление Юзера. Сейчас вам будет предложено ввести пароль и свои данные"
    18. adduser $user #создание пользователя
    19. addgroup --system admin #создание группы
    20. adduser $user admin #добавление юзера в группу админ
    21. cp /etc/apt/sources.inet /etc/apt/sources.list #Замена источников с диска на источники с интернета
    22. apt-get update
    23. #apt-get purge ekiga evolution evolution-common evolution-data-server pidgin pidgin-data transmission-common rhythmbox totem totem-common -y #удаляю всякую чепуху ненужную. можете закомментировать.
    24. apt-get dist-upgrade -y


    * This source code was highlighted with Source Code Highlighter.


    Содержание /home/setup/sourcescd должно быть примерно таким:

    deb file:///mnt/cd/ jaunty restricted universe main multiverse stable unstable


    Идем дальше. После того как установилось, редактируем файл fstab, который находится в /newubuntu/etc/. В одной вкладке терминала пишем:
    ls -l /dev/disk/by-uuid


    Через редактор разделов легко разобраться что есть что и подправить под свои нужды fstab, желательно по UUID, а то эти все /dev/sdxx не очень надежны и не постоянны. После того, как закончили, выполняем команду:
    sudo LANGchroot /newubuntu /bin/bash
    sudo update-grub


    Создается файл menu.lst. По усмотрению, можете поправить /etc/hosts, hostname…

    Вроде бы все. Скрипт примитивный. Если где ошибся — исправляйте!
    Повторю еще раз: ПРОСМОТРИТЕ СКРИПТ И ИСПРАВЬТЕ МОИ ПУТИ НА СВОИ.

    Не забудьте присвоить скриптам атрибут исполнения:
    chmod +x setup.sh
    chmod +x chrootsetup.sh



    И все =) Запустите файл setup.sh из папки /home/setup/ и откиньтесь на спинку кресла идите пить чай или смотреть фильм, но не забудьте присматривать за выполнением скрипта. Пока он выполняется, будут выдаваться кое-какие вопросы. Например пароль, язык.

    Удачи!

    Для вашего удобства выкладываю все скрипты в одном архиве.
    Скачать можно по любой из ссылок: 1, 2, 3
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 45

      +1
      Большое спасибо за статью, очень полезная для меня лично информация
        +2
        Призываю добавить ТСу возможностей, чтобы он мог перенести в Убунтарий. Статейка полезная, нечего ей пылиться в личном блоге. :)
          0
          Всячески поддерживаю. Я ручаюсь за него, он очень адекватный человек. А главное, любознательный и любит экспериментировать с Linux :)
          0
          Добавил. Надеюсь, теперь будет больше постов в теме убунтарий.
            +2
            Спасибо всем большое! Перенес в тематический блог
              +1
              Только под сомнением правильность файла sourcescd) я писал на память строчку

              deb file:///mnt/cd/ jaunty restricted universe main multiverse stable unstable

              у меня скрипт исправлен под личное зеркало репозитория)) Раньше работал с образом, теперь подправил на личный репозиторий)) а скрипт заточенный под работу с образом удалил =( поэтому писал на память) сильно не пинайте))
              • НЛО прилетело и опубликовало эту надпись здесь
                • НЛО прилетело и опубликовало эту надпись здесь
                    +2
                    Дико извиняюсь)) исправил, теперь скрипты разные) в архивах все в порядке. в статью закралась ошибка. исправил) теперь все в порядке))
                  +1
                  для Ubuntu Ultimate Edition эта инструкция подойдёт?
                    +1
                    думаю да. Если есть образ, то 99% что подойдет. Скрипт ведь ставит сначала саму базу Linux. А потом вы уже ставите свои пакеты, такие как граф. оболочка gnome и другие. Я уверен что подойдет.
                      0
                      так мне желательно чтобы оно установило сразу всё что есть в Ultimat edition, т.е пакеты, такие как граф. оболочка gnome и другие, а не чтобы я устанавливал всё «ручками»...(
                      • НЛО прилетело и опубликовало эту надпись здесь
                          +1
                          графическая оболочка будет. Если конечно в репозитории образа есть пакет ubuntu-desktop. А какие тебе надо другие пакеты тебе придется скрипт самому дополнить. Сами слова в скрипт не добавятся
                      +1
                      Есть рабочая и удобная альтернатива — ставить через виртуальную машину, например, kvm.
                      Если нужно ставить на какой-то раздел из /dev/sdb, то что-то вроде

                      sudo kvm -m 512 -cdrom ubuntu-9.04-alternate-i386.iso /dev/sdb

                      А потом во время установки выбрать нужный раздел.
                        0
                        Естественно, нужно понимать, что при этом делаешь, и чем может быть опасна такая установка.
                        +1
                        Исправил куча ошибок)) извините, в спешке писал) Осталось архивы перезалить) Удобнее всего конечно скачать архив со всем нужным, разархивировать в /home/setup/ и запустить setup.sh. напишу когда перезалью архивы)) А статья уже исправлена полностью) все должно работать)
                          +2
                          Я одно время ставил Ubuntu из iso-образа под Windows машиной на отдельный раздел. Дисковод не нашел, пришлось ставить прямо из iso. Если кому-то нужно, могу описать как это делал я.
                          +1
                          ВСЕ! Все ошибки исправлены, архивы перезалиты. Теперь должно все работать =)
                            0
                            Отдельно надо бы понять смысл. Когда я использовал в своей работе Windows, то постоянно хранил развернутый каталог с этой ОС, и из него и ставил. Но Linux у меня стоит уже 3 года (обновляется с релиза на релиз, причем часто с большими косяками: )) ), и смысла в его установке для себя не вижу.

                            Если же ставить на другую машину, то чем возиться с перетыканием жестких дисков, правильнее и удобнее взять USB Flash накопитель.
                              0
                              Вот недавно в нашей локальной сети у одного человека пропала сеть (физически). Я пришел настраивать и, мягко сказано, обомлел! У него, обычного юзера, который винду с трудом может настроить, не ставит антивирусы, сидит «вконтакте» и играет в «линейку» и «ВОВку», стоит Ubuntu! Когда я спросил: «Как?!!111адинадин», он ответил, что ему установил Slimer. И товарищу нравится Линукс! «А что, все же работает, что мне надо. И вирусов нет».
                              Мало того, он так несколько человек пересадил. Теперь, когда где-то читаю, что Линукс остается системой для «серваков» и для обычных пользователей она кривая, то просто смеюсь :0)
                                0
                                Не понял я из этой эскапады одного — а при чем тут мой комментарий, серваки и линейка?
                                  +1
                                  Просто случайно вам ответил, извините.
                                0
                                Уже давно ставлю Ubuntu с USB-накопителя. ИМХО — одно из самых удобных решений. Диски дейстительно часто бывают поцарапаны, особенно перезаписываемые…
                                +2
                                > Если где ошибся — исправляйте!

                                Надеюсь, не обидитесь. Критика только конструктивная.

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

                                Ну и еще несколько замечаний:

                                > Разархивированный архив со скриптами и всеми файлами надо положить в папку /home/setup. Это важно! Иначе скрипт не выполнится.

                                Это неправильно. Для решения этой проблемы нужно ввести еще одну переменную.

                                > disk=/dev/sdb3 #раздел на который будет ставиться убунта
                                > version=jaunty #версия убунты.
                                > arch=i386 #архитектура
                                > path=/home/slimer/distr/ubuntu-9.04-alternate-i386.iso #путь до вашего образа

                                Переменные лучше кавычить двойными кавычками. Во избежание.

                                А вообще инициатива хорошая. Давайте зачетку.
                                  +1
                                  спасибо за идею)) что то не дошло)) сейчас статью подправлю)) А архив не буду трогать)
                                    +1
                                    англоязычный вариант скрипта это как? Комментарии в скрипте перевести на английский что ли? или вообще в скрипте комментарии убрать?
                                      0
                                      По-моему, в англоязычном варианте подразумевается, что все, что сейчас есть на русском, должно быть на английском :).
                                        +1
                                        ооо)) дану) я переводить терпеть не могу) а т.к. у нас сайт русский, то и пользователи должны знать русский)) не вижу смысла переводить)
                                    +3
                                    Гентушники подозрительно наблюдают.
                                      0
                                      вообще лично я ставлю бубунту с флехи). правда если целевой комп совсем рухлядь то с флехи он скорее всего ен загрузится.
                                        0
                                        Все это возможно и нужно, но только если нет под рукой USB Flash.
                                        Как по мне работать с флешкой куда более просто и менее хлопотно…
                                          –1
                                          Может я не понял, в чём соль, но загрузиться с CD?DVD и выбрать пункт «установка с жёсткого диска» --> «образ лежит там» в ubuntu нельзя? Fedora я именно так устанавливал, а ubuntu с cd, как-то не заморачивался изучением установочного меню.
                                            0
                                            Бинго! А что если привода попросту нет? Автор изложил причины своих предпочтений, между прочим
                                            –2
                                            и нет юсби? для флешки? не, ну извращатся можно до посинения, вот только надо ли?
                                              +3
                                              Ну вот, Slimer изобрёл Gentoo :) Примерно так её и ставят с boot cd.
                                                0
                                                Я в последнее время ставлю Sabayon. Намного удобнее долгой возни с инсталляцией нативний генты.
                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                  0
                                                  А если я хочу raid и lvm? =)
                                                  а почему бы просто не скопировать систему с одного винта на другой и поправить загрузчик?
                                                  или если хочется «установить с диска» взять любой {server, alternate, DVD} и загрузившись в текстовом режиме поставить уровень важности debconf в low и указать инсталлеру какую ISO-шку хочется использовать для установки…
                                                    0
                                                    на счет копировать тупо это ненадежно, так могут владельцы и права поменяться, потом замучаешься менять права и владельцев, может где то что то не запуститься… да ну…

                                                    Для меня это не удобно. у меня вообще привод не знай где валяется, это во-первых, а во-вторых, в моем варианте можно заниматься обычными делами за компьютером, т.е. смотреть фильмы, слушать музыку, играть (если конечно комп мощный), в интернете сидеть… Мне мой способ нравится.
                                                      0
                                                      тоже не помню когда последний раз ставил линукс CD-ROM (дома его нет :)))
                                                      обычно делаю флешку с Alternate-диска средствами убунты и ставлю пакеты
                                                      сразу с репозитория яндекса или корбины (канал до 100Мбит/сек )
                                                      0
                                                      а что такое raid и lvm еще не знаю. не сталкивался и мне оно пока не нужно. Пусть каждый ставит себе систему кому как удобно. Я просто выложил свой вариант, и не добиваюсь чтобы его все использовали.
                                                      0
                                                      Потребовалось установить убунту на рабочий комп из уже установленной убунты (не мешая жене работать за компом). Установка производилась путем подключения к компу с ноута черех FreeNX.

                                                      Итак, лежа на диване с ноутом, подключившись по FreeNX к компу, делаем следующее:
                                                      1) Скачиваем ubuntu-9.10-alternate-i386.iso
                                                      2) sudo apt-get install kvm
                                                      3) sudo kvm -m 512 -cdrom ubuntu-9.10-alternate-i386.iso /dev/sdb (где /dev/sdb — второй винт, на который нужно установить ОС)
                                                      4) далее происходит установка, загрузчик установиться на /dev/sdb.
                                                      5) теперь можно в VMWarePlayer создать пустую виртуальную машину, добавить к ней физический диск /dev/sdb и запустить нашу новую убунту.
                                                      6) Для комфортной работы через VMWare можно установить WMVare Tools.
                                                      7) Теперь можно настроить эту свеженькую убунту, доустановить (а может и удалить ненужные) пакеты.
                                                      8) Добавить в загрузчик на /dev/sda нашу новую убунту.

                                                      Теперь можно перезагружать рабочит комп, выбрать в новую ОС и жать Enter.

                                                      PS: таким образом, у нас есть как-бы 2 диска для системы. В sda — текущая рабочая система. Выходит новая версия дистрибутива, ставим её на sdb, настраиваем. Тем временем комп управляется системой с sda. Потом останется самое трудное, скопировать образ с sdb на sda. И у нас новенькая система на sda. А копию системы sdb можно использовать для экспериментов и ждать новой версии убунты, затем повторить действия.

                                                      ЗЫ: раздел /home у меня находиться на sdc.

                                                      Мне показалось, что такой метод наиболее удобен в использовании…

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

                                                      Самое читаемое