VM-Installation von openSUSE

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Mit einem Befehl lassen sich die beiden Ausgaben von openSUSE in einer VM installieren.

Anschließend an unseren ADMIN-Tipp zur Installation von VMs mit einem einzigen Befehl wollen wir die Installation einer damals übergangenen Distribution nachholen: openSUSE. Eine Zeit lang waren Suse-Distributionen vor allem in Deutschland überaus populär, aber die Wirren um der Besitzverhältnisse der Firma haben den Ruf der alteingesessenen Linux-Produkt nicht unbedingt gefördert. Zudem wurde die Entwicklung der openSUSE-Distribution mehrfach umstrukturiert, was zu noch mehr Verwirrung unter den Suse-Anhängern geführt hat. 

Derzeit gibt es die beiden openSUSE-Distributionen Tumbleweed und Leap. Zwar gibt es noch zwei klassische openSUSE-Versionen 13.1 und 13.2, die noch bis Ende 2016 respektive Anfang 2017 Support erhalten, aber die Zukunft gehört den beiden vorher genannten Distributionen. Leap basiert auf dem Code von Suse Linux Enterprise Server 12.1, also einer aktuellen Enterprise-Distribution, für die Suse noch bis 2024 Support leisten will. Tumbleweed ist dagegen ein sogenanntes Rolling Release, in das stets die neueste Versionen der enthaltenen Softwarepakete einfließen. Mit einem automatischen Build-Prozess werden diese Pakete regelmäßig neu übersetzt und mit einem öffentlichen Qualitätssicherungsprozess namens OpenQA getestet.

Interessant sind die openSUSE-Distributionen beispielsweise deshalb, weil sie auf Btrfs als Dateisystem für die Systempartition setzen. Dazu bietet Suse noch das Tool Snapper, das dabei hilft, die Snapshots mit Btrfs anzufertigen und zu verwalten.

Bei der automatisierten Installation hat Suse einen eigenen Mechanismus entwickelt, der auf dem Management-Tools YaST beziehungsweise dessen Nachfolger YaST2 basiert. Für die Installation mit Autoyast müssen Administratoren eine Datei in einem XML-Format schreiben, die die Systemkonfiguration enthält. Eine solche Datei lässt sich wie eine Kickstart- oder Preseed-Datei dem Libvirt-Installer übergeben.

Für Leap sieht der Aufruf wie folgt aus:

virt-install -n s2 -r 1024 --cpu=host --disk path=/var/lib/libvirt/images/s2.qcow2,format=qcow2,bus=virtio,size=10 -w network=internal,model=virtio --nographics --location=http://download.opensuse.org/distribution/leap/42.1/repo/oss -x "autoyast=file:////autoyast.xml textmode=1 console=ttyS0,115200n8" --initrd-inject=autoyast.xml

Bei der Installation von Tumbleweed ändert sich nur die URL zu den Installationsdateien:

virt-install -n s2 -r 1024 --cpu=host --disk path=/var/lib/libvirt/images/s2.qcow2,format=qcow2,bus=virtio,size=10 -w network=internal,model=virtio --nographics --location=http://download.opensuse.org/tumbleweed/repo/oss -x "autoyast=file:////autoyast.xml textmode=1 console=ttyS0,115200n8" --initrd-inject=autoyast.xml

Die folgende Autoyast-Datei lässt sich in beiden Fällen verwenden. Über die Installation hinaus installiert das File auch einen SSH Public Key im Root-Account und startet den SSH-Server:

<?xml version="1.0"?>
<!DOCTYPE profile>
<profile
  xmlns="http://www.suse.com/1.0/yast2ns"
  xmlns:config="http://www.suse.com/1.0/configns">
<general>
  <mode>
    <confirm config:type="boolean">false</confirm>
    <second_stage config:type="boolean">false</second_stage>
  </mode>
</general>
  <partitioning  config:type="list">
    <drive>
      <device>/dev/vda</device>
      <partitions config:type="list">
        <partition>
          <filesystem config:type="symbol">btrfs</filesystem>
          <size>10G</size>
          <mount>/</mount>
        </partition>
      </partitions>
    </drive>
  </partitioning>
<users config:type="list">
     <user>
       <encrypted config:type="boolean">false</encrypted>
       <uid>0</uid>
       <gid>0</gid>
       <user_password>password</user_password>
       <username>root</username>
    <forename/>
    <surname/>
     </user>
 </users>
<software>
  <packages config:type="list">
    <package>zypper</package>
  </packages>
  <do_online_update config:type="boolean">true</do_online_update>
</software>
<services-manager>
  <default_target>multi-user</default_target>
  <services>
    <enable config:type="list">
      <service>sshd</service>
    </enable>
  </services>
</services-manager>
  <scripts>
    <chroot-scripts config:type="list">
        <script>
        <chrooted config:type="boolean">true</chrooted>
        <filename>ssh.sh</filename>
        <source>
        <![CDATA[
        #!/bin/sh
        umask 077
        mkdir /root/.ssh
        echo "ssh-dss AAAAB3NzaC1kc3MAAACBAPKD0JbHFAiTgBGigIhUAampaBf6Szzqo43zxjzjCQFrbKYXLYbah7+DfpnQnNyvzkQ1KDXPKrfIHuDuHEF153xhQr62gqIoMRlbxtKbi+iQ/O7orqjrtFCEc57rGayJmWXa/qCoNy97KWlyFOSnjPNcZtsJvlZnLF3hxf+U10rvAAAAFQCoJbNCpHlvdM9nw1y+Pl3pcRaQAADFHDFDSFLFKLJLHDFFDSFLKJHDFLDSF14UdRDMvEVzhkefsUodqnEQG81cmUk3veY4Uhv3r28pgdbtrKis7p8kMZBLq4Pdd9DFRyZkcG+dff1PBgcoXi1ni0JGTR+aooyNoxmaPpKTp2vxKGRPirafQAAAIEA7bUbZzMTlol8ZoDNht2wVWk2EG/9k/L6EZyrSe39SrO5Tf7MDuqB0wLtlae2q+upWka3Ba39HsjtG7BeErJsZT9jTfRbiBKR8JAFQni5T+kVVpZl3ihEXA5kdfYp2xfvoRXSP8Uq0aDzwudwaxFgprObn8N9V7XEHHUOBR7a+Bw= of@itanet.de" >> /root/.ssh/authorized_keys
        systemctl enable sshd
exit 0
]]>
        </source>
      </script>
  </chroot-scripts>
  </scripts>
</profile>

Zum einfacheren Kopieren ist das Autoyast-File auch als Github-Gist hinterlegt.

04.04.2016

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

OpenSSL

Als Protokoll ist SSL/TLS täglich im Einsatz. Mozilla und Google haben kürzlich erklärt, dass mehr als 50 Prozent der HTTP-Verbindungen verschlüsselt aufgebaut werden. Googles Chrome soll ab 2017 sogar vor unverschlüsselten Verbindungen warnen, wenn Sie dort sensible Daten eingeben können. In unserem Security-Tipp werfen wir einen Blick hinter die Kulissen von OpenSSL und zeigen dessen vielfältige Möglichkeiten auf. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Linux-Distro

Welche Linux-Distribution setzen Sie vorwiegend auf dem Server ein?

  • Arch Linux
  • CentOS
  • Debian
  • Fedora
  • openSUSE
  • Oracle Linux
  • Red Hat Enterprise Linux
  • SUSE Linux Enterprise Server
  • Ubuntu
  • andere Linux-Distribution
  • FreeBSD
  • OpenBSD

Google+

Ausgabe /2017

Microsite