Pull to refresh

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

Reading time 5 min
Views 24K
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
Tags:
Hubs:
+56
Comments 45
Comments Comments 45

Articles