4Debian.Info - Портал русскогоязычного сообщества Debian Карта сайта Контакты

Меню

Репозитории Debian

Скачать Debian

Установка Debian - Видео



Авторизация:

Новые статьи

Статьи в RSS

Новые комментарии

Новые уроки

Уроки в RSS


Вернутся к списку статей

Ставим Debian через debootstrap из другой Linux-системы

считаю такой способ установки самым адекватным, т.к. он при всей своей простоте имеет большую гибкость, свежеустановленная система имеет самые новые версии пакетов, а всё, что нужно для полноценной работы системы можно установить до первой загрузки в неё. Под катом я приведу некоторый набор скриптов.


Во-первых, вам понадобится рабочая Linux-система, из которой мы будем устанавливать новую систему. Подойдет любой дистрибутив, как и установленный, так и запущенный с LiveCD.

Шаг нулевой: Подготовка жесткого диска
Для начала нужно разметить диск, как ваша душа пожелает. Хороших инструкций в интернете много, я обычно использую графическую утилиту GParted. Настоятельно советую выделить /home в отдельный раздел, при переустановке/смене дистрибутива это позволит избежать геморроя с переносом данных.

Примонтируйте все разделы в какую-нибудь директорию (к примеру, /mnt/debian/). Далее даже вне скриптов вместо /mnt/debian я буду использовать $TARGET.

bash:
  1. ## Предположим, что /dev/sda1 - root, а /dev/sda2 - home
  2.  
  3. mkdir /mntdebian
  4. mount /dev/sda1 /mnt/debian
  5. mkdir /mnt/debian/home
  6. mount /dev/sda2 /mnt/debian/home


Шаг первый: Формирование базовой системы
Для работы скрипта потребуется рабочий debootstrap, который есть в репозиториях всех deb-based дистрибутивов. Не бойтесь исправлять переменные и комментировать/раскомментировать строчки.

bash:
  1. #!/bin/bash
  2.  
  3. ARCH=i386
  4. #ARCH=amd64 ##установить 64-битную систему из-под 32-битной не выйдет
  5.  
  6. ## пример для debian
  7. OS=debian
  8. DISTRO=wheezy
  9. #DISTRO=stable
  10.  
  11. ## ubuntu
  12. #OS=ubuntu
  13. #DISTRO=oneiric
  14.  
  15. ## место для установки системы
  16. TARGET=/mnt/debian
  17.  
  18. ## в качестве источника можно использовать примонтированный cdrom с системой:
  19. #debootstrap --include=sudo,nano,wget --arch $ARCH $DISTRO $TARGET file:/media/cdrom
  20.  
  21. ## а можно и зеркало в интернете
  22. debootstrap --include=sudo,nano,wget --arch $ARCH $DISTRO $TARGET http://$OS.mirror.vu.lt/$OS/
  23.  
  24. ## строчки ниже трогать не нужно, они монтируют системные директории в новый /
  25. mount -o bind /dev $TARGET/dev
  26. mount -o bind /sys $TARGET/sys


Шаг второй: начальная конфигурация
Настройте файл $TARGET/etc/fstab по шаблону:

bash:
  1. # /etc/fstab: static file system information.
  2. #
  3. # Use 'vol_id --uuid' to print the universally unique identifier for a
  4. # device; this may be used with UUID= as a more robust way to name devices
  5. # that works even if disks are added and removed. See fstab(5).
  6. #
  7. # <file system> <mount point> <type> <options> <dump> <pass>
  8. proc /proc proc defaults 0 0 #обязательно
  9. /dev/sda1 /boot ext2 defaults 0 0
  10. /dev/sda2 / ext4 defaults 0 1
  11. /dev/sda3 /home ext4 defaults 0 0
  12. /dev/sda4 none swap sw 0 0

В рассмотренном выше примере он будет выглядеть так:

bash:
  1. # /etc/fstab: static file system information.
  2. # <file system> <mount point> <type> <options> <dump> <pass>
  3. proc /proc proc defaults 0 0
  4. /dev/sda1 / ext4 defaults 0 1
  5. /dev/sda2 /home ext4 defaults 0 0

И файл $TARGET/etc/apt/sources.list. Его можно либо сгенерировать, либо воспользоваться шаблоном:
bash:
  1. deb http://http.debian.net/debian $DISTRO main contrib non-free
  2. # deb-src http://http.debian.net/debian $DISTRO main
  3.  
  4. deb http://security.debian.org $DISTRO/updates main contrib non-free
  5. # deb-src http://security.debian.org $DISTRO/updates main
  6.  
  7. deb http://http.debian.net/debian-backports $DISTRO-backports main non-free
  8. # deb-src http://http.debian.net/debian-backports $DISTRO-backports main
  9.  
  10. deb http://http.debian.net/debian $DISTRO-proposed-updates main contrib non-free
  11. # deb-src http://http.debian.net/debian $DISTRO-proposed-updates main

Шаг третий: всё остальное
Для этого нужно запустить следующий скрипт в chroot. При условии, что имя скрипта — postinst.sh и лежит он в $TARGET/, запускать его нужно так:

bash:
  1. env LANG=C env HOME=/root chroot $TARGET /bin/bash /postinst.sh

Сам скрипт:

bash:
  1. #!/bin/bash
  2.  
  3. ## обновление индекса репозитария
  4. apt-get update
  5.  
  6. ## настройка часовых поясов
  7. dpkg-reconfigure tzdata
  8.  
  9. ## монтирование файловых систем
  10. mount -t proc /proc /proc
  11. mount -a
  12.  
  13. ## участие в опросе популярности пакетов
  14. apt-get -y install popularity-contest
  15.  
  16. ## русский язык в консоли, русская локаль
  17. ## при настройке console-cyrillic лучше выбрать, как шрифт, UniCyr, а на последний вопрос ответить «Да»
  18.  
  19. apt-get -y install locales console-cyrillic
  20. dpkg-reconfigure locales
  21. dpkg-reconfigure console-cyrillic
  22.  
  23. ## установка hostname, обязательный шаг
  24. HOST='mysuperpc'
  25.  
  26. echo "$HOST" > /etc/hostname
  27. echo -e "\n127.0.0.1 localhost $HOST" >> /etc/hosts
  28.  
  29. ## добавление пользователя, добавление его в sudo
  30. USER='mynotsuperuser'
  31.  
  32. echo 'Добавление пользователя'
  33.  
  34. adduser $USER
  35. usermod -a -G sudo $USER
  36.  
  37. ## установка пароля root
  38.  
  39. echo 'Установка пароля root'
  40. passwd
  41.  
  42. ## установка ядра и загрузчика
  43. ARCH=i686 #варианты: i386, i486, i686, amd64
  44.  
  45. ## Debian:
  46. apt-get -y install linux-base linux-image-$ARCH linux-headers grub
  47.  
  48. ## Ubuntu:
  49. # apt-get -y install linux-image-generic linux-headers-generic
  50.  
  51. ## уставновка большинства прошивок
  52. apt-get -y install firmware-linux firmware-ralink firmware-realtek
  53.  
  54. ## установка рабочей среды
  55.  
  56. ## Debian:
  57. apt-get -y install xorg kde-full #KDE
  58. #apt-get -y install xorg kde # <= Lenny
  59. #apt-get -y install xorg gnome
  60. #apt-get -y install xorg xfce lxdm #XFCE
  61. #apt-get -y install xorg lxde lxdm #LXDE
  62.  
  63. ## Debian, аудиосистема
  64. apt-get -y install pulseaudio
  65. apt-get -y install alsa-base alsa-tools alsa-utils alsa-oss
  66.  
  67. ## Ubuntu:
  68. #apt-get -y install xorg kubuntu-desktop #KDE
  69. #apt-get -y install xorg ubuntu-desktop #Unity
  70. #apt-get -y install xorg gnome-shell gnome-themes-standard gnome-tweak-tool #Gnome3
  71. #apt-get -y install xorg xubuntu-desktop #XFCE
  72. #apt-get -y install xorg lubuntu-desktop #LXDE



Если нужно поставить что-нибудь еще вручную до перезагрузки, то всегда можно войти в chroot-окружение командой:

bash:
  1. env LANG=C env HOME=/root chroot $TARGET /bin/bash

Вот и всё. Полный набор скриптов для полуавтоматической установки выложен на github, так что не стесняйтесь оформлять предложения и улучшения в виде pull-request'ов.
4Debian.Info

Комментарии: Ставим Debian через debootstrap из другой Linux-системы

Только авторизованные пользователи могут оставлять комментарии!

Авторизация или Быстрая регистрация



Яндекс.Метрика
4Debian.Info
При полной или частичной перепечатке текстов статей и публикаций гиперссылка на www.4debian.info обязательна. | "4Debian.Info" | © 2018