Odpowiedzi:
Pobieranie
Pobierz ISO serwera Ubuntu z tej lokalizacji . Możesz wybrać wersję 32-bitową lub 64-bitową. Nazwa pliku dla edycji serwera będzie wyglądać podobnie do tego:
ubuntu-13.10-server-i386.iso
ubuntu-13.10-server-amd64.iso
Przyjmę wersję 64.10 bitową 13.10 w poniższych instrukcjach, więc dostosuj polecenia do pobranego pliku. Zachowaj kopię swojego pliku do pobrania, aby móc utworzyć wiele nowych wersji z oryginalnego pliku do pobrania na wypadek konieczności ulepszenia projektu. Zakładam również, że ~/Downloads/
wykonujemy całą naszą pracę.
Początkowe ustawienia
Spowoduje to utworzenie 2 katalogów „iso” i „isoNew” w katalogu Pobrane, podłączenie ISO i skopiowanie zawartości z „iso” do „isoNew”, aby rozpocząć nowy projekt.
Umieść to w pliku tekstowym, zapisz go, uruchom i uruchom:
# 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
Przykładowe obrazy, jak to będzie wyglądać:
Wykonywanie:
Wynik:
Dodanie opcji menu rozruchu
Opcje menu dla instalatora są zapisane isolinux/txt.cfg
i możesz tworzyć nowe opcje pomiędzy default install
i label install
.
Spowoduje to utworzenie nowej opcji o nazwie „Zainstaluj niestandardowy serwer Ubuntu” i doda plik kickstart (plik kickstart służy do zmiany opcji; wyjaśniono poniżej):
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
to tylko etykieta, której możesz użyć do zidentyfikowania swojej opcji.default install
się default myownoption
.Przykład:
i edycja pliku (użyłem nano, ale jeśli jest dostępny, użyj gedit, vim lub innego edytora). Oto mój dodatek do tego pliku, w którym użyłem „lampserver” jako etykiety, a moje ziarno będzie również nazywać się „lampserver”.
Kickstart (graficzne konfigurowanie pliku konfiguracyjnego)
Metoda instalacji Red Hat Kickstart jest używana przede wszystkim (ale nie wyłącznie) przez system operacyjny Red Hat Enterprise Linux do automatycznego wykonywania instalacji nienadzorowanej i konfiguracji systemu operacyjnego.
Dokumentacja dotycząca wstępnego siewu / kickstart dla Ubuntu . Ubuntu ma ograniczone wsparcie dla kickstartu (i preseeding); jedną z brakujących rzeczy jest graficzny interfejs do wstępnego siewu. Kickstart ma do tego opcje (patrz zdjęcia), ale wydaje się, że nie działają one w Ubuntu. Możesz to zrobić ręcznie (patrz: Uprawa poniżej).
Instalacja i uruchomienie kickstart:
sudo apt-get install system-config-kickstart
ksconfig
** OSTRZEŻENIE **
kickstart jest błędny w Ubuntu 13.10, a podczas uruchamiania się nie udaje. Oto poprawka . Umieść łatkę w komentarzu w pliku tekstowym, zapisz ją (nazwałem ją „łatką”) i zatwierdź:
Po tym ksconfig
zadziała i uruchomi się edytor konfiguracji, który pozwala manipulować wieloma opcjami.
Zobacz Red Hat Linux 7.2: Oficjalny przewodnik dostosowywania Red Hat Linux, aby uzyskać opis wszystkich opcji, które możesz ustawić.
Po zakończeniu zapisz zmiany w ks.cfg
pliku i skopiuj go do zmienianego ISO:
sudo cp ks.cfg ~/Downloads/newIso/preseed/ks-custom.cfg
ks-custom.cfg
w ~/Downloads/newIso/preseed/
.Przykład, w którym podałem swoje dane uwierzytelniające. Zacząłem sudo ksconfig
od wiersza poleceń.
I zapisując go do projektu:
Przedsiewne (ręczne konfigurowanie pliku konfiguracyjnego)
Preseeding zapewnia sposób ustawiania odpowiedzi na pytania zadawane podczas procesu instalacji, bez konieczności ręcznego wprowadzania odpowiedzi podczas instalacji. Umożliwia to pełną automatyzację większości typów instalacji, a nawet oferuje niektóre funkcje niedostępne podczas normalnych instalacji.
Skopiuj wstępne ustawienia normalnej instalacji na własną etykietę:
sudo cp newIso/preseed/ubuntu-server.seed newIso/preseed/ubuntu-myownoption.seed
myownoption
to, czego użyłeś.Teraz do zmiany ustawień. Za debconf-get-selections
pomocą debconf-utils
możesz sprawdzić, jakich parametrów możesz użyć z konkretnym oprogramowaniem.
Przykład konfiguracji:
I dodanie lampy-serwera do zainstalowania z tasksel:
Jeśli chcesz dodać pakiety „openssh” i „build-essential”, możesz dołączyć to do pliku źródłowego:
d-i pkgsel/include string openssh-server build-essential
Przykład dla 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
Możesz dodać te opcje do custom-iso/preseed/ubuntu-myownoption.seed
.
Na końcu wstępnie przygotowanego pliku możesz dodać pakiety (losowe przykłady) w następujący sposób:
% pakietów openssh-server mysql-server apache2
Instalacja offline
W przypadku dodania pakietów, których NIE ma w ISO, instalator pobierze je z repozytorium. Jeśli nie masz aktywnego połączenia z Internetem, będzie to stanowić problem, więc musisz dodać wszystkie te pakiety (i zależności) do swojego projektu i nagrać je na dysk DVD. Na szczęście normalne ISO serwera ma dużo miejsca, ale uwaga: płyty CD i / lub DVD mają ograniczony rozmiar.
Pobierz wszystkie potrzebne pakiety DEB i przechowuj je ~/Downloads/
. Te dwa katalogi są potrzebne w nowym ISO:
mkdir -p ~/Downloads/newIso/dists/stable/extras/binary-i386
mkdir -p ~/Downloads/newIso/pool/extras/
sudo cp ~/Downloads/*.deb newIso/pool/extras/
A to zaktualizuje nasz projekt o nowe pakiety:
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/
Utwórz 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/
Wynik:
A teraz możesz go wypróbować, wypalając i instalując. Radziłbym używać go jako maszyny wirtualnej, ponieważ będzie ona szybsza do testowania początkowo utworzonego ISO (w przeciwnym razie będziesz się ponownie uruchamiał).
Po zainstalowaniu VirtualBox otrzymuję następujące menu:
Polowanie na robale
Wystąpiły 1 problemy podczas instalacji: domyślnie nie wybrano.
Shadin Z pliku źródłowego w komentarzu
### 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
prawdopodobnie musi być tak:
### 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
Porzuć swój wiersz zadań, nie chcesz serwera LAMP (np. Apache, Mysql, Php)