Как установить linux из под linux

Обновлено: 03.07.2024

Этот документ описывает bootstrapping process, нужный для того, чтобы установить Arch Linux из уже работающего хоста Linux. После bootstrapping, установка продолжается так, как описано в руководстве по установке Arch Linux.

Установка Arch Linux из-под другого Linux полезна для:

Цель процедуры начальной загрузки в том, чтобы настроить окружение, из которого можно будет запустить arch-install-scripts (содержит такие скрипты как pacstrap и arch-root ). Установить arch-install-scripts нужно на самой хост-системе или настройкой chroot основанного на Arch Linux.

Если хост работает под Arch Linux, сразу установите arch-install-scripts .

Примечание: Этот гайд расчитан на то, что имеющийся хост может запускать программы архитектуры нового Arch Linux. В случае с x86_64 хостом, можно даже использовать i686-pacman при сборке 32-битного окружения chroot. Смотрите Arch64 - установка встроенной 32-битной системы [archived page] .

Contents

Arch Linux-based chroot

Идея состоит в том, чтобы как бы запустить Arch Linux внутри уже имеющейся системы. Настоящая установка, которая будет содержаться внутри chroot, будет затем запущена из этой Arch системы. Есть два способа настроить и войти в chroot, они представлены ниже.

Примечание: Хост-система должна использовать Linux 2.6.32 или новее. Примечание: Используйте только один из двух способов, и не забудьте дочитать эту статью до конца, чтобы закончить установку.

Создаём chroot

Способ 1: Использование Bootstrap образа (рекомендуется)

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

Примечание: Если ваша хост-система — x86_64, а образ boostrap — i686, то также подправьте /tmp/root.i686/etc/pacman.conf , ясно указав Architecture = i686 , чтобы pacman качал пакеты под архитектуру i686.

Войдём в chroot

  • Если установлен bash 4 или новее, то:
  • Иначе:

Способ 2: Используя образ LiveCD

Можно смонтировать корневой образ последнего установочного диска Arch Linux и затем заchroot'ить туда. Плюс этого способа в том, что у вас будет сразу рабочий Arch Linux installation прямо внутри хост-системы без надобности в его настройки.

Примечание: Перед тем как продолжить, удостоверьтесь, что у вас последняя версия squashfs на хост-системе. Иначе будут ошибки типа: FATAL ERROR aborting: uncompress_inode_table: failed to read block .
  • Корневой образ можно скачать с одного из зеркал в папке arch/x86_64/ либо arch/i686/, смотря какую архитектуру хотите. Образ имеет формат squashfs, который является read-only, поэтому нам надо распаковать его и смонтировать корневой образ (root-image.fs).
  • Чтобы распаковать корневой образ, надо
  • Теперь смонтируем его с помощью опции loop
  • Перед тем как chrooting to it, нужно смонтировать некоторые виртуальные системные разделы, а затем скопировать resolv.conf для интернета.
  • Теперь всё готово, чтобы to chroot в только что установленное окружение Arch

Используем наше chroot окружение

Начальная настройка хранилища ключей pacman

Установка

Хост Debian

На хостах Debian pacstrap выводит следующую ошибку:

Хост Fedora

На хостах Fedora и Live USB, если у вас не получается сгенерировать ваш fstab с помощью genfstab , то удалите из fstab одинаковые записи и везде опции seclabel (это опция специфична для Fedora и поэтому не даст вам загрузиться).

Настройка системы

С этого момента просто следуйте согласно разделам начиная с «Монтирование разделов» из руководства по установке Arch Linux.

Замена уже существующей системы без LiveCD

650МБ, например, переформатировав существующий swap-раздел (после окончания установки, можете обратно создать swap). Если не можете столько освободить, выясните точно, какие пакеты группы base вам понадобятся для того, чтобы get a system с работающим интернетом and running in the temporary partition. То есть надо будет ясно указать каждый пакет для pacstrap. И ещё надо указать -c, чтобы пакеты скачивались на хост-систему, дабы избежать недостатка свободного места.

После того как установили, перезагрузитесь в свою новую систему, затем rsync the entire system to the primary partition. Fix the bootloader configuration before rebooting.

Конкретнее, у меня ubuntu, хочу поставить debian, не знаю как. Ведь установщики винды и линукса разные. Скачала debian, но как его перекинуть на флешку - не знаю. Помогите пожалуйста. Инфу в гугле не нашла.



Я даже растерялся какую ссылку приводить.

dd if=debian.iso of=/dev/sd*, где sd* - флешка

и флешек никаких не надо.


Ведь установщики винды и линукса разные.

это вообще причём?


На виндоуз нужен был unetbootin для образа диска. На линукс нужен также?

Не злитесь вы так.

на данном сайте в вики была статья на сию тему, но я ее найти щас не могу ибо там прибрались нехорошие люди

Deleted ( 19.09.13 01:19:29 )
Последнее исправление: Deleted 19.09.13 01:19:38 (всего исправлений: 1)

Здесь всё современное из коробки :) см. мой пост выше


unetbootin и здесь подойдёт

Консоль ещё не нашла? Открываешь меню (в юнити в верхнем левом углу кнопка такая), там пишешь Terminal. обычно достаточно уже первой буквы или двух.



Спасибо вам большое, мальчики, за ссылки и советы.


Спасибо, весьма наглядно :) Нашла, да. У меня пару дней как убунту стоит. Поэтому ничего нигде не догоняю не знаю.


Из тебя так себе оракул, уже всё было.

у меня ubuntu, хочу поставить debian

Ведь установщики винды и линукса разные

4.2. В убунте есть софтина для записи образов на флешку. Образы дебиана она поддерживает.

Конкретнее, у меня ubuntu, хочу поставить debian, не знаю как.

unetbootin есть и в linux'e (sudo apt-get install unetbootin). Загружаешься с флешки и прямо поверх убунты ставишь. Главное, чтобы разделы форматнулись при установке, чтобы не было каши из разных файлов.

Советую после установки debiana порставить kde - самое дружественное окружение на текущий момент.


Warning, this image abused few times. This image sent to administration to check, For this moment it is better to not view this image. Take away your childs. )

Установка дебиана опасна для детей!


Хорошо, когда девушки Linux осваивают. Честно говоря, грустно что общество пользователей Linux почти полностью состоит из представителей сильного пола. Успехов в изучении сабжа. При установке лучше сразу установить KDE или Gnome. Что-бы работать в привычной для пользователей Windows оконной среде.


Вы такой тугодумный или вам просто придраться хочется? :) Повторяю еще раз. У меня убунту пару дней только. До этого была винда.


Спасибо вам! Хоть кто-то добрый здесь есть. Я бы с радостью освоила, если кто рядом разбирался. А так тяжковато.

При установке лучше сразу установить KDE или Gnome
или Gnome

Что-бы работать в привычной для пользователей Windows оконной среде.

Зачем на 0 делишь, уважаемый?

Нет, не придраться.
Ещё раз тыкаю носиком в свою рекомендацию:

В убунте есть софтина для записи образов на флешку. Образы дебиана она поддерживает.


За рекомендацию спасибо) Мне бы еще эту софтину найти.

все еще проще sudo aptitude install unetbootin


Жил бы я рядом - обязательно бы помог. Я помогаю иногда неопытным, но интересующимся пользователям. Некоторые из них далеки от IT, но используют Linux. К сожалению, я живу в Молдове.

Могу посоветовать первое время стараться ориентироваться на GUI-приложения, и наиболее простые способы решения поставленных задач. На флешку записать образ вам поможет UNetbootin(есть и другие подобные программы, но эта - кросс-платформенная, и довольно простая в обращении). Пример того, как пользоваться данной программой есть на YouTube.

Не беспокойтесь насчёт загрузчика. Загрузчик Debian установит свой(тот же Grub, что и у Ubuntu). Но этого не надо бояться. Так, как специальные скрипты найдут другие ОС на разделах вашего диска, и добавит Ubuntu(а так-же Windows) в меню grub.

Верю, у вас всё получится! И желаю успеха. Поверьте, трудно только в самом начале освоения новой ОС. А потом как будто накапливается какая-то критическая масса навыков и знаний в голове. И внезапно работать в Linux(и других ОС) становится гораздо легче. Вы даже не заметите, как начнёте использовать консоль и свободно читать мануалы.

lucentcode ★★★★★ ( 19.09.13 14:52:00 )
Последнее исправление: lucentcode 19.09.13 14:53:54 (всего исправлений: 1)


Да я прекрасно понимаю, что оконная система ничего общего не имеет с windows. Просто зачастую у пользователей windows формируется стойкое мнение что окна - это windows way. Если ещё и внешне похоже на windows(как KDE4) - то пользователи windows вообще воспринимают систему как какой-то диковинный windows. И очень удивляются, что на нём не работают их любимые приложения.


Спасибо за подробную инструкцию :) Только так я и понимаю. Хорошо что консоль нашла :)

image

Прошло почти три года с публикации последней и единственной статьи на хабре про это дело, и с тех пор некоторые вещи изменились. Хочу сразу сказать, что этот пост — упрощение и объединение двух замечательных вики-страниц написанных моим другом: раз и два. Если те страницы направлены на полное и подробное описание процесса установки, то я постараюсь максимально упростить и ускорить процесс установки, разбив его всего на три шага.

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

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

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

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

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

Настройте файл $TARGET/etc/fstab по шаблону:


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


И файл $TARGET/etc/apt/sources.list. Его можно либо сгенерировать (генераторы для debian, ubuntu), либо воспользоваться шаблонами:

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

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


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

Речь в статье пойдёт об установке Ubuntu из другого Linux без использования ISO-образа. Нужно это прежде всего для создания кастомизированных тестовых окружений. Информации о такой процедуре в интернете достаточно, она легко гуглится, но, как выяснилось, в некоторых моментах существующие инструкции устарели, да, и все они обладают известным фатальным недостатком.

Итак, постановка задачи: есть голая виртуальная машина с выходом в интернет и EFI BIOS, есть некий линукс (в нашем случае это SystemRescue LiveCD), нужно получить установленную Ubuntu. И все действия должны быть легко автоматизированы, что их можно оформить в виде скрипта.

Прежде всего загружаемся в наш SysRCD. Работать мы будем по SSH, и чтобы он заработал, нужно установить пароль root и разрешить SSH в iptables (изначально в SysRCD запрещены любые входящие соединения):

И подключаемся по SSH:

Теперь нужно подготовить разделы на жёстком диске. Так как система у нас EFI, то таблица разделов будет GPT, нужен EFI FAT-раздел, а сама система будет находится на ext4-разделе. EFI-раздел может очень небольшим - буквально 10 МБ, но для стабильной работы обновлений системы лучше делать его хотя бы 32 МБ. И важное замечание! Во всех инструкциях написано, что раздел должен быть в формате FAT32, но на практике VirtualBox отказывается работать с маленьким EFI-разделом в таком формате (ну, или mkfs.vfat неправильно форматирует маленькие FAT32 разделы - тут нужны эксперименты)! Плюс, есть нюансы с размером диска, размером кластера и совместимостью с EFI биосами. Поэтому форматировать будем в FAT16. Разбивать будем при помощи parted.
Для того, чтобы пометить раздел как служебный EFI в parted ему нужно выставить флаг "esp".

Теперь форматируем вновь созданные разделы. Ещё раз обращаю внимание, что EFI-раздел форматируем в FAT16, иначе могут проблемы с VirtualBox.

Разворачивать базовую систему будет при помощи debootstrap. Но у нас не DEB-система и эта утилита отсутствует. Скачаем её из репозитория Debian и распакуем содержимое DEB-файла прямо в корень нашей системы. У нас LiveCD и такой грязный хак вполне приемлем. DEB-файлы это архивы типа AR, содержащие архивы типа "tar.gz".

Ставить будем Ubuntu 20.04 "Focal" - имя релиза указывается при вызове deboostrap. там же указывается репозиторий, откуда будут скачаны файлы.

Для разворачивания системы, нам естественно, нужно сначала примонтировать её корень в какую-то папку. Не мудрствуя лукаво используем для этого папку "/tmp/".

Теперь нам нужно настроить список репозиториев, откуда будут браться устанавливаемые и обновляемые пакеты. Список находится в файле /etc/apt/sources.list

Теперь настраиваем chroot-окружение и входим в нашу новую систему:

Первым делом настраиваем поддерживаемые локали. Обратите внимание, что добавляется CP866 (на самом деле она "IBM866"), которая до сих пор бывает актуальной при работе со windows-legacy данными.

Список поддерживаемых кодировок хранится в /etc/locale.gen Ещё раз обращаю внимание, что CP866/IBM866 по умолчанию там по какой-то причине нет, хотя в системе она есть.

Обновляем список пакетов и сразу ставим mc, aptitude, чтобы жить стало легче.

EFI раздел будет примонтирован в /boot/efi. Монтируем и настраиваем /etc/fstab.

Настраиваем часовой пояс. То же самое можно выполнить вызовом "dpkg-reconfigure tzdata". Но нам же нужно, чтобы это можно было заскриптовать. Просмотреть список часовых поясов можно вызовом "timedatectl list-timezones".

Указываем, что аппаратные часы у нас хранят время в UTC. Обратите внимание, что "0" означает время в UTC.

Ставим ядро, дополнительные модули и заголовки ядра. Ядро ставим самое свежее из доступных и заточенное под виртуализацию:

Ставим поддержку консоли, сети, GRUB, SSH и всякие мелкие утилиты:

Это так же можно сделать в интерактивном режиме выполнив:
dpkg-reconfigure console-common
dpkg-reconfigure console-data
dpkg-reconfigure keyboard-configuration

Ставим GRUB на EFI-раздел:

Если нужно, то правим настройки GRUB в файле /etc/default/grub и обновляем конфигурацию GRUB вызовом:

Обновляем образ ядра, чтобы подхватились настройки консоли:

Задаём пароль root и разрешаем авторизацию root в SSH по паролю. Это нужно для того, чтобы можно было подключиться первый раз и залить SSH-ключи.
Для этого в файле настроек SSH-сервера /etc/ssh/sshd_config нужно добавить строку:
PermitRootLogin yes
Позже авторизацию root по паролю нужно не забыть запретить.

Задаём настройки сетевых подключений. У нас netplan и networkd. Не забываем прописывать актуальные значения MAC-адресов адаптеров. На первом адаптере ставим статический адрес, а на второй работает DHCP (это NET-подключение к интернет). Обратите внимание, что IPv6 отключается указанием "link-local: [ ]" в настройках подключения.

Создаём пользователя и добавляем его в административные группы:

Всё! Можно перегружаться и при загрузке с жёсткого диска загрузится уже наша свежеустановленная система.

Если это виртуальная машина VirtualBox, то после перезагрузки нужно ещё желательно поставить дополнения, подключаем "Guest Additions CD Image" и выполняем из-под нашей новой системы:

На этом всё. Дальше нужно подключиться по SSH и залить SSH ключи пользователей. После чего удалить настройку "PermitRootLogin yes" из /etc/ssh/sshd_config.

Если кому-то интересно, то вот такой образ Ubuntu 20.04 занимает 2.2 ГБ дискового пространства.

Читайте также: