Никогда не любил устанавливать Ubuntu с Live-CD/DVD. Иногда может быть диск поцарапан и установка прерывается на самом интересном месте, музыку не послушаешь, фильмы не посмотришь. Я устанавливаю Ubuntu из iso-образа со своего жесткого диска на другой винчестер или раздел. Читая раньше в инете статьи, как ставить с жесткого диска, я просто слепо следовал инструкциям, копируя и выполняя команды. Бывали проблемы с загрузчиком grub, приходилось дополнительно искать в интернете решения, как исправить эти ошибки. Затем, чтобы не мучаться, я сделал свой скрипт установки.
Задача: Нужно, используя уже установленную Ubuntu, установить систему на другой винчестер.
Решение:
Для начала раздел, куда будет ставиться Ubuntu, отформатируйте в Редакторе разделов (gparted) и установите на разделе атрибут «boot», иначе после установки компьютер скажет INSERT SYSTEM DISK или что то в этом роде.
Запомните его путь (например /dev/sda1). Разархивированный архив со скриптами и всеми файлами надо положить в папку /home/setup. Это важно! Иначе скрипт не выполнится. Если не нравится местоположение скрипта, просмотрите скрипт и исправьте пути на свои. Разобраться в нем не сложно.
Первый файл setup.sh Его содержание:
#!/bin/bash
disk=/dev/sdb3 #раздел на который будет ставиться убунта
version=jaunty #версия убунты.
arch=i386 #архитектура
path=/home/slimer/distr/ubuntu-9.04-alternate-i386.iso #путь до вашего образа Ubuntu
pathstp=/home/setup #измените путь на тот, куда вы разахивировали архив.
#это все переменные, изменяйте их значение в зависимости от раздела и версии убунты. в целом скрипт будет работать.
mkdir /newubuntu #создание папки для монтирования новой системы
mount $disk /newubuntu #монтирование раздела куда будет ставиться Ubuntu
apt-get install debootstrap -y #установка debootstrap'а, если у кого он не установлен...
mkdir /mnt/cd #создание папки для монтирования образа Ubuntu
mount -o loop $path /mnt/cd/ #монтирование образа ubuntu
debootstrap --arch $arch $version /newubuntu file:/mnt/cd #Идет установка базовой системы убунту на новый винчестер
cp /etc/fstab /newubuntu/etc/fstab #копируется ваш fstab в новую систему
cp /etc/hostname /newubuntu/etc/hostname #копируется ваш hostname в новую систему
cp /etc/hosts /newubuntu/etc/hosts #копируется ваш hosts в новую систему
cp $pathstp/sourcescd /newubuntu/etc/apt/sources.list #источники пакетов из образа
cp $pathstp/sources.list /newubuntu/etc/sources.inet #на будущее копируется источники из интернета
cp $pathstp/sudoers /newubuntu/etc/sudoers #файл sudoers копируется в вашу новую систему
mkdir /newubuntu/home/distr/
cp $pathstp/chrootsetup.sh /newubuntu/home/distr/ #копирование второй части установки внутрь новой системы
cp $path /newubuntu/home/distr #пригодится нам еще образ
mount -o bind /dev /newubuntu/dev #необходимо для установки GRUB
mount -o bind /proc /newubuntu/proc #необходимо для вообще работы новой системы
LANG= chroot /newubuntu /home/distr/chrootsetup.sh #переход к выполнению скрипта уже в новой системе
#!/bin/bashСодержание /home/setup/sourcescd должно быть примерно таким:
user=slimer #имя будущего юзера
disk=/dev/sdb3 #раздел на который будет ставиться убунту.
obraz=ubuntu-9.04-alternate-i386.iso
mount -t sysfs sysfs /sys #монтирование sysfs
dpkg-reconfigure console-setup #настройка языка в консоли и всего прочего
mkdir /mnt/cd #создание папки для монтирования образа
mount -o loop /home/distr/$obraz /mnt/cd #монтирование образа
apt-get update #получение пакетов из образа
apt-get install ubuntu-standard grub linux-image linux-image-generic linux-headers-generic build-essential ssh samba -y #установка важных и нужных пакетов
apt-get install ubuntu-desktop gnome-user-guide-ru language-pack-gnome-ru language-pack-ru -y #установка gnome
#apt-get install xubuntu-desktop -y #у кого образ xubuntu раскоментируйте эту строчку и закомментируйте предыдущюю
apt-get install kubuntu-desktop -y #у кого образ kubuntu раскоментируйте эту строчку и закомментируйте 2 предыдущих
cp /proc/mounts /etc/mtab #необходимо для grub
grub-install --recheck $disk #установка grub
echo "Добавление Юзера. Сейчас вам будет предложено ввести пароль и свои данные"
adduser $user #создание пользователя
addgroup --system admin #создание группы
adduser $user admin #добавление юзера в группу админ
cp /etc/apt/sources.inet /etc/apt/sources.list #Замена источников с диска на источники с интернета
apt-get update
apt-get purge ekiga evolution evolution-common evolution-data-server pidgin pidgin-data transmission-common rhythmbox totem totem-common -y #удаляю всякую чепуху ненужную. можете закомментировать.
apt-get dist-upgrade -y
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 LANG= chroot /newubuntu /bin/bashСоздается файл menu.lst. По усмотрению, можете поправить /etc/hosts, hostname…
sudo update-grub
Вроде бы все. Скрипт примитивный. Если где ошибся — исправляйте!
Повторю еще раз: ПРОСМОТРИТЕ СКРИПТ И ИСПРАВЬТЕ МОИ ПУТИ НА СВОИ.
Не забудьте присвоить скриптам атрибут исполнения:
chmod +x setup.shИ все =) Запустите файл setup.sh из папки /home/setup/ и откиньтесь на спинку кресла идите пить чай или смотреть фильм, но не забудьте присматривать за выполнением скрипта. Пока он выполняется, будут выдаваться кое-какие вопросы. Например пароль, язык.
chmod +x chrootsetup.sh
Удачи!
Комментариев нет:
Отправить комментарий