Eksport wirtualnej maszyny z Ubuntu 16.04 jako OVA w VirtualBox-ie
Przejdź do nawigacji
Przejdź do wyszukiwania
W tym artykule przedstawiamy jak w VirtualBox-ie może zostać eksportowana wirtualna maszyna do formatu Open Virtualization Format i zapisana jako plik OVA. W poniższym przykładzie jest to Ubuntu 16.04 LTS z TKmon.
Przygotowanie wirtualnej maszyny
Przed eksportem wirtualnej maszyny należy przeprowadzić następujące kroki:
- Najpierw należy wgrać aktualizacje bezpieczeństwa i jeżeli jest konieczne to restartować system:
sudo apt update
sudo apt dist-upgrade
- Usunąć pliki tymczasowe i ewentualnie stare pakiety jądra:
sudo apt clean
- W razie potrzeby oczyścić historię bash:
rm .bash_history
- W pliku /etc/systemd/system/rc-local.service dopisać na końcu dwa poniższe wiersze, może zostać to przeprowadzane za pośrednictwem następującej komendy:
sudo systemctl edit --full rc-local
[Install]
WantedBy=multi-user.target
- Dostosować plik /etc/rc.local tak, żeby podczas kolejnego uruchomienia systemu zostały wygenerowane nowe klucze SSH i certyfikaty SSL Apache2. Odpowiednia konfiguracja znajduje się poniżej w punkcie /etc/rc.local.
- "Reenable" przez Systemctl skrypt rc-local, tworzony jest symlink do multi-user.target.wants:
sudo systemctl reenable rc-local
Created symlink from /etc/systemd/system/multi-user.target.wants/rc-local.service to /etc/systemd/system/rc-local.service.
- Następnie należy wyłączyć wirtualną maszynę:
sudo shutdown -h now
/etc/rc.local
Plik /etc/rc.local należy edytować i dodać w dolnym obszarze (od wskazówki "start tkfirstboot section") tekst widoczny w poniższym przykładzie:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# start tkfirstboot section
# initialize ssh and keys on first bootup of the TKmon virtual appliance
FLAGFILE=/var/log/tk-firstboot.log
if [ -e $FLAGFILE ]; then
exit 0
else
echo "Executing tk-firstboot ..."
echo "Executing tk-firstboot ..." >> $FLAGFILE
echo " removing ssh keys" >> $FLAGFILE
rm /etc/ssh/*key* >> $FLAGFILE
echo " removing ssl-cert-snakeoil.pem" >> $FLAGFILE
rm /etc/ssl/certs/ssl-cert-snakeoil.pem >> $FLAGFILE
echo " removing ssl-cert-snakeoil.key" >> $FLAGFILE
rm /etc/ssl/private/ssl-cert-snakeoil.key >> $FLAGFILE
echo " running dpkg-reconfigure openssh-server" >> $FLAGFILE
dpkg-reconfigure openssh-server >> $FLAGFILE
echo " running make-ssl-cert generate-default-snakeoil" >> $FLAGFILE
make-ssl-cert generate-default-snakeoil --force-overwrite >> $FLAGFILE
echo " restarting apache2" >> $FLAGFILE
/bin/systemctl restart apache2.service >> $FLAGFILE
fi
touch $FLAGFILE
# end tkfirstboot section
exit 0
Eksport wirtualnej maszyny
Dodatkowe informacje
- Open Virtualization Format (de.wikipedia.org)
Autor: Thomas Niedermeier
Powiązane artykuły
Instalacja Windows XP w VirtualBox
Konfiguracja sieciowa w VirtualBox
Powiększenie dysku VDI z VirtualBoxu w Ubuntu