Відповіді:
Завантажити
Завантажте ISO-сервер Ubuntu з цього місця . У вас є можливість перейти на 32-бітну або 64-бітну версію. Назва файлу для серверного видання буде схожим на таке:
ubuntu-13.10-server-i386.iso
ubuntu-13.10-server-amd64.iso
Я припускаю 13.10 64-розрядну версію в наступних інструкціях, тому налаштуйте команди на завантаження, яке ви зробили. Зберігайте копію завантаження, щоб ви могли створити кілька нових версій з оригінального завантаження, якщо вам потрібно буде покращити проект. Я також припускаю, що ми використовуємо ~/Downloads/
для виконання всієї своєї роботи.
Початкові налаштування
Це створить 2 каталоги "iso" та "isoNew" всередині вашої каталог завантажень, встановить ISO та скопіює вміст з "iso" на "isoNew", щоб розпочати новий проект.
Помістіть це у текстовий файл, збережіть його, зробіть його виконуваним та виконайте:
# Ubuntu custom server
# rinzwind askubuntu.com
# topic: http://askubuntu.com/questions/409607/how-to-create-a-customized-ubuntu-server-iso/409651#409651
cd ~/Downloads/
mkdir -p iso newIso
sudo mount -o loop ./ubuntu-13.10-server-amd64.iso ./iso
sudo cp -r ./iso/* ./newIso/
sudo cp -r ./iso/.disk/ ./newIso/
sudo umount ./iso/
cd ~/Downloads/newIso/
mount: block device /discworld/Downloads/ubuntu-13.10-server-amd64.iso is write-protected, mounting read-only
Приклади зображень про те, як це буде виглядати:
Виконання:
Результат:
Додавання опції меню завантаження
Параметри меню для інсталятора зберігаються в isolinux/txt.cfg
і ви можете створювати нові параметри між default install
і label install
.
Це створить нову опцію під назвою "Встановити користувальницький сервер Ubuntu" і додасть файл kickstart (файл kickstart використовується для зміни параметрів; пояснено нижче):
label myownoption
menu label ^Install Custom Ubuntu Server
kernel /install/vmlinuz
append file=/cdrom/preseed/ubuntu-custom.seed initrd=/install/initrd.gz quiet ks=cdrom:/preseed/ks-custom.cfg --
myownoption
це лише мітка, яку ви можете використовувати для визначення свого варіанту.default install
на default myownoption
.Приклад:
та редагування файлу (я використовував nano, але якщо є, використовуйте gedit, vim чи інший редактор). Ось моє доповнення до цього файлу, де я використовував "lampserver" як мітку, і моє насіння також буде названо "lampserver".
Kickstart (графічно налаштування файлу конфігурації)
Метод установки Red Hat Kickstart використовується в основному (але не виключно) операційною системою Red Hat Enterprise Linux для автоматичного виконання без нагляду встановлення та налаштування операційної системи.
Документація про попередню підготовку / старт для Ubuntu . Ubuntu має обмежену підтримку для швидкого запуску (та попередньої підготовки); одна з пропущених речей - це графічний інтерфейс для попередньої підготовки. Kickstart робить є варіанти для цього (див зображення) , але вони , здається , не працювати на Ubuntu. Це можна зробити вручну (див. Попереднє подання нижче).
Установка та запуск стартового кроку:
sudo apt-get install system-config-kickstart
ksconfig
** УВАГА **
kickstart помилка в Ubuntu 13.10, і при запуску він виходить з помилки. Ось виправлення . Помістіть патч у коментарі до текстового файлу, збережіть його (я назвав його "патчем") і виконайте його:
Після цього ksconfig
запрацював і він запустить редактор конфігурації, який дозволяє вам маніпулювати безліччю варіантів.
Дивіться Red Hat Linux 7.2: Офіційний посібник з налаштування Red Hat Linux для опису всіх параметрів, які ви можете встановити.
Після завершення збережіть зміни у ks.cfg
файлі та скопіюйте його в ISO, який ми змінюємо:
sudo cp ks.cfg ~/Downloads/newIso/preseed/ks-custom.cfg
ks-custom.cfg
у ~/Downloads/newIso/preseed/
.Приклад, де я вставив свої облікові дані. Я почав це з sudo ksconfig
командного рядка.
І зберегти його до проекту:
Попередня підготовка (налаштування файлу конфігурації вручну)
Попередня подача надає спосіб встановити відповіді на запитання, задані під час встановлення, без необхідності вводити відповіді вручну під час роботи інсталяції. Це дає можливість повністю автоматизувати більшість типів установки та навіть пропонує деякі функції, недоступні під час звичайних установок.
Скопіюйте попередньо попередню установку для звичайної установки на власну мітку:
sudo cp newIso/preseed/ubuntu-server.seed newIso/preseed/ubuntu-myownoption.seed
myownoption
що ти використовував.Тепер про зміну налаштувань. За допомогою debconf-get-selections
програми debconf-utils
ви можете дослідити, які параметри можна використовувати для конкретного програмного забезпечення.
Приклад налаштування:
І додавання лампи-сервера для встановлення з tasksel:
Якщо ви хочете додати пакети "openssh" та "build-істотно", ви можете включити це у насіннєвий файл:
d-i pkgsel/include string openssh-server build-essential
Приклад для openssh:
debconf-get-selections | grep openssh
openssh-server ssh/vulnerable_host_keys note
openssh-server ssh/use_old_init_script boolean true
openssh-server ssh/encrypted_host_key_but_no_keygen note
openssh-server ssh/disable_cr_auth boolean false
Ви можете додати ці параметри до custom-iso/preseed/ubuntu-myownoption.seed
.
В кінці попередньо встановленого файлу ви можете додати такі пакунки (випадкові приклади):
% пакети openssh-сервер mysql-сервер apache2
Автономна установка
У випадку, якщо ви додасте пакети, а таких НЕ в ISO, інсталятор завантажить їх із сховища. Якщо у вас немає активного підключення до Інтернету, це буде проблематично, тому вам потрібно буде додати всі ці пакети (та залежності) до свого проекту та записати їх на DVD. На щастя, у звичайного сервера ISO є багато місця, але будьте обережні: CD та / або DVD мають обмежений розмір.
Завантажте всі необхідні пакети DEB і зберігайте їх ~/Downloads/
. Ці два каталоги потрібні для нового ISO:
mkdir -p ~/Downloads/newIso/dists/stable/extras/binary-i386
mkdir -p ~/Downloads/newIso/pool/extras/
sudo cp ~/Downloads/*.deb newIso/pool/extras/
І це оновить наш проект новими пакетами:
cd ~/Downloads/newIso
sudo apt-ftparchive packages ./pool/extras/ > dists/stable/extras/binary-i386/Packages
sudo gzip -c ./dists/stable/extras/binary-i386/Packages | tee ./dists/stable/extras/binary-i386/Packages.gz > /dev/null
cd ~/Downloads/
Створіть ISO
cd ~/Downloads/
sudo md5sum `find ! -name “md5sum.txt” ! -path “./isolinux/*” -follow -type f` > md5sum.txt
sudo mkisofs -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -z -iso-level 4 -c isolinux/isolinux.cat -o ./ubuntu-13.10-myowninstall-amd64.iso -joliet-long newIso/
Результат:
А тепер ви можете спробувати його, фактично записуючи та встановлюючи. Я б радив використовувати як віртуальну машину, оскільки це буде швидше для тестування початкового створеного ISO (інакше ви продовжуєте перезавантаження).
І після встановлення VirtualBox я отримую таке меню:
Полювання на клопів
Під час встановлення виникло 1 проблема: за замовчуванням не було вибрано.
Шадін. З вашого файлу насіння в коментарі
### Package Selection
tasksel tasksel/first multiselect Custom-Ubuntu-Server
d-i pkgsel/include string openssh-server build-essential
%packages openssh-server postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 libpq-dev postgresql-server-dev-9.1 pgadmin3
певно, має бути таким:
### Package Selection
tasksel tasksel/first multiselect lamp-server
d-i pkgsel/include string openssh-server build-essential postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 libpq-dev postgresql-server-dev-9.1 pgadmin3
Викопайте рядок із завданням, який ви не хочете, щоб сервер LAMP (тобто Apache, Mysql, Php)