HOWTO:LinuxInstallationsParty: Unterschied zwischen den Versionen

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 10: Zeile 10:
* nfs-server
* nfs-server


=== Precondition ===
=== Netwerk ===


Die Ethernetschnittstelle des Hauptcomputer heißt in diesem Falle <code>enp9s0</code> und soll eine feste IP bekommen.
Die Ethernetschnittstelle des Hauptcomputer heißt in diesem Falle <code>enp9s0</code> (die WLANschnitstelle <code>wlp3s0</code>) und soll eine feste IP bekommen.


Entweder per GUI oder per
Der Networkmanager kann dies per GUI tun (LAN-Verbindung einrichten -> IPv4 Settings -> Shared to other computers), oder per Terminal
  $ ip a add 10.0.0.1 enp9s0
 
# ip link set up dev enp9s0
  # ip a add 10.0.0.1/24 dev enp9s0
# sysctl net.ipv4.ip_forward=1
# iptables -t nat -A POSTROUTING -o wlp3s0 -j MASQUERADE
# iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i enp9s0 -o wlp3s0 -j ACCEPT
 
Bedenkt, dass der gesamte Traffic nun über euren Rechner geleitet wird. '''Seid dabei verantwortungsvoll'''! Beachtet, dass ihr eventuell eure Firewall noch ausschalten/Freigaben einrichten müsst. [https://wiki.archlinux.org/index.php/Internet_sharing]


=== dnsmasq ===
=== dnsmasq ===
Zeile 35: Zeile 43:
  /var/ftpd 10.0.0.1/24(ro,no_subtree_check)
  /var/ftpd 10.0.0.1/24(ro,no_subtree_check)


  $ sudo systemctl restart nfs-server.service
  # systemctl restart nfs-server.service
 


=== squid/polipo (optional) ===
Optional kann noch ein http cache eingerichtet werden, damit man die Geschwindigkeit beim installieren erhöht, da doch sehr viele gleiche Pakete installiert werden. Polipo ist ein einfacher web-cache-proxy, squid ist die ausgewachsene Variante. [https://wiki.archlinux.org/index.php/Polipo] [https://wiki.archlinux.org/index.php/Squid] Dabei sind die IPtables regeln von oben zu verändern (siehe verlinkte artikel)


=== PXE ===
=== PXE ===
Zeile 78: Zeile 89:
     menu label ^Fedora 22
     menu label ^Fedora 22
     kernel fedora/vmlinuz
     kernel fedora/vmlinuz
     append initrd=fedora/initrd.img inst.stage2=nfs:nfsvers=4:10.0.0.1:/var/ftpd/fedora inst.repo=http://ftp.tuchemnitz.de/pub/linux/fedora/linux/releases/22/Workstation/x86_64/os/
     append initrd=fedora/initrd.img inst.stage2=nfs:nfsvers=4:10.0.0.1:/var/ftpd/fedora <nowiki>inst.repo=http://ftp.tu-chemnitz.de/pub/linux/fedora/linux/releases/22/Workstation/x86_64/os/</nowiki>
   
   
  label Debian
  label Debian
Zeile 95: Zeile 106:
Letzendlich noch ein  
Letzendlich noch ein  


  $ systemctl restart dnsmasq.service
  # systemctl restart dnsmasq.service


und fertig ist die laube
und fertig ist die laube
=== Images ===
Die Networkimages bekommt ihr zumeist aus dem so der distribution extrahiert (guckt nach dem oder pxeboot o.ä.). Bei Fedora existiert eine s.g. <code>.treeinfo</code> [http://ftp.tu-chemnitz.de/pub/linux/fedora/linux/releases/22/Workstation/x86_64/os/.treeinfo.signed], in der die benötigten Dateien samt Pfad stehen. Für Debian existiert ein tar archiv [https://www.debian.org/distrib/netinst#netboot], dort im ordner <code>debian-installer/amd64/</code> die <code>linux</code> (kernel) und <code>initrd.gz</code> (initram) entpacken und fertig (genaueres steht in einer config datei im boot-screens ordner (bei mir die txt.cfg))
Für alle anderen Distros muss man googlen, gerade um die parameter für den kernel rauszufinden etc, aber mit diesen beiden Distros (plus das obige für Debian mint) seid ihr schon gut bedient ;)


=== TODO ===
=== TODO ===
efi32/efi64 bereitstellen (zur zeit ist nur legacy bios möglich) [[https://wiki.ubuntu.com/UEFI/SecureBoot-PXE-IPv6]]
efi32/efi64 bereitstellen (zur zeit ist nur legacy bios möglich) [https://wiki.ubuntu.com/UEFI/SecureBoot-PXE-IPv6]


[[Kategorie:HOWTO]]
[[Kategorie:HOWTO]]

Aktuelle Version vom 13. Oktober 2015, 22:37 Uhr

Das folgende Template kann für eine Linuxinstallationsparty benutzt werden.

Hardware[Bearbeiten]

  • Switch
  • Netzwerkkabel
  • Menschen

Software[Bearbeiten]

  • dnsmasq
  • nfs-server

Netwerk[Bearbeiten]

Die Ethernetschnittstelle des Hauptcomputer heißt in diesem Falle enp9s0 (die WLANschnitstelle wlp3s0) und soll eine feste IP bekommen.

Der Networkmanager kann dies per GUI tun (LAN-Verbindung einrichten -> IPv4 Settings -> Shared to other computers), oder per Terminal

# ip link set up dev enp9s0
# ip a add 10.0.0.1/24 dev enp9s0
# sysctl net.ipv4.ip_forward=1
# iptables -t nat -A POSTROUTING -o wlp3s0 -j MASQUERADE
# iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i enp9s0 -o wlp3s0 -j ACCEPT

Bedenkt, dass der gesamte Traffic nun über euren Rechner geleitet wird. Seid dabei verantwortungsvoll! Beachtet, dass ihr eventuell eure Firewall noch ausschalten/Freigaben einrichten müsst. [1]

dnsmasq[Bearbeiten]

$ cat /etd/dnsmasq.d/lip.conf

interface=enp9s0
bind-interfaces
dhcp-range=10.0.0.50,10.0.0.200,12h
dhcp-boot=/pxelinux.0,0.0.0.0

enable-tftp
tftp-root=/var/ftpd
pxe-service=X86PC, "Boot from network", pxelinux

NFS[Bearbeiten]

$ cat /etc/exports

/var/ftpd 10.0.0.1/24(ro,no_subtree_check)
# systemctl restart nfs-server.service


squid/polipo (optional)[Bearbeiten]

Optional kann noch ein http cache eingerichtet werden, damit man die Geschwindigkeit beim installieren erhöht, da doch sehr viele gleiche Pakete installiert werden. Polipo ist ein einfacher web-cache-proxy, squid ist die ausgewachsene Variante. [2] [3] Dabei sind die IPtables regeln von oben zu verändern (siehe verlinkte artikel)

PXE[Bearbeiten]

Alle Dateien sind unter Datei:Lip Ftpd.tar.gz

unter /var/ftpd müssen die syslinuxconfig dateien liegen.

$ ls -l /var/ftpd/

-rw-r--r-- 1 root root  24604 12. Okt 2014  chain.c32
drwxrwxrwx 4 root root   4096 13. Okt 19:08 debian/
drwxr-xr-x 2 root root   4096 13. Okt 18:58 fedora/
-rw-r--r-- 1 root root 116636 12. Okt 2014  ldlinux.c32
-rw-r--r-- 1 root root 182572 12. Okt 2014  libcom32.c32
-rw-r--r-- 1 root root  23492 12. Okt 2014  libutil.c32
dr-xr-xr-x 9 root root   4096 13. Okt 18:48 mint/
-rw-r--r-- 1 root root  42985 12. Okt 2014  pxelinux.0
drwxr-xr-x 2 root root   4096 13. Okt 19:11 pxelinux.cfg/
-rw-r--r-- 1 root root   1372 12. Okt 2014  reboot.c32
-rw-r--r-- 1 root root  26212 12. Okt 2014  vesamenu.c32

die *.c32 bekommt man aus seiner syslinuxinstallation (einfach per apt/dnf/pacman/... installieren) und dann unter /usr/lib/syslinux/bios/ die dateien kopieren. Mehr werden nicht benötigt, können aber reinpackt werden (schadet nicht).

$ cat /var/ftpd/pxelinux.cfg/default

default vesamenu.c32
prompt 0
timeout 0
menu hshift 7
menu width 61

menu title Linux Installations Party
include pxelinux.cfg/appearance


label -
    menu label Bitte waehle deine Distribution aus
    menu disable

label Fedora
    menu label ^Fedora 22
    kernel fedora/vmlinuz
    append initrd=fedora/initrd.img inst.stage2=nfs:nfsvers=4:10.0.0.1:/var/ftpd/fedora inst.repo=http://ftp.tu-chemnitz.de/pub/linux/fedora/linux/releases/22/Workstation/x86_64/os/

label Debian
    menu label ^Debian Jessie
    kernel debian/vmlinuz
    append initrd=debian/initrd.gz vga=788 quiet

label Mint (Debian)
    menu label ^LMDE2 (aka Mint)
    kernel mint/live/vmlinuz
    append initrd=mint/live/initrd.lz config boot=live netboot=nfs nfsroot=10.0.0.1:/var/ftpd/mint/

Die config kann um weitere Einträge erweitert werden und dient hier nur dem Beispiel. Die Datein werden über nfs geladen, da tftp sehr langsam ist und eine effiziente übertragung nicht möglich ist.

Letzendlich noch ein

# systemctl restart dnsmasq.service

und fertig ist die laube

Images[Bearbeiten]

Die Networkimages bekommt ihr zumeist aus dem so der distribution extrahiert (guckt nach dem oder pxeboot o.ä.). Bei Fedora existiert eine s.g. .treeinfo [4], in der die benötigten Dateien samt Pfad stehen. Für Debian existiert ein tar archiv [5], dort im ordner debian-installer/amd64/ die linux (kernel) und initrd.gz (initram) entpacken und fertig (genaueres steht in einer config datei im boot-screens ordner (bei mir die txt.cfg)) Für alle anderen Distros muss man googlen, gerade um die parameter für den kernel rauszufinden etc, aber mit diesen beiden Distros (plus das obige für Debian mint) seid ihr schon gut bedient ;)

TODO[Bearbeiten]

efi32/efi64 bereitstellen (zur zeit ist nur legacy bios möglich) [6]