Unterschiede zwischen den Revisionen 17 und 18
Revision 17 vom 2014-05-06 14:56:28
Größe: 4789
Kommentar:
Revision 18 vom 2014-09-30 14:22:46
Größe: 4788
Autor: i59F6CFE7
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 85: Zeile 85:
$ apt-get -t jessie --no-install-recommends install grub2 linux-image-486 alsa-base alsa-utils bzip2 gzip htop man nmap less sudo vim iputils-ping net-tools wireless-tools pciutils wget openssh-client ntpdate btrfs-tools dosfstools eject exfat-fuse ntfs-3g xserver-xorg-input-all xorg xserver-xorg-input-wacom xserver-xorg-video-all xkb-data libgl1-mesa-dri akonadi-backend-sqlite kde-l10n-de kde-plasma-desktop kdesudo kdm kwalletmanager libpam-ck-connector policykit-1 policykit-1-gnome polkit-kde-1 virtuoso-minimal gstreamer0.10-plugins-{bad,base,good,ugly} phonon-backend-gstreamer gtk2-engines-oxygen gtk3-engines-oxygen kde-config-gtk-style oxygencursors kde-style-oxygen gwenview kate okular ark synaptic vlc kmix ttf-dejavu chromium chromium-l10n browser-plugin-gnash blender gimp inkscape marble hunspell hunspell-de-de hyphen-de libreoffice libreoffice-l10n-de kdenlive libav-tools recordmydesktop x264 geogebra fuse-posixovl network-manager network-manager-openvpn network-manager-pptp network-manager-vpnc plasma-widget-networkmanagement $ apt-get -t jessie --no-install-recommends install grub2 linux-image-486 alsa-base alsa-utils bzip2 gzip htop man nmap less sudo vim iputils-ping net-tools wireless-tools pciutils wget openssh-client ntpdate btrfs-tools dosfstools eject exfat-fuse ntfs-3g xserver-xorg-input-all xorg xserver-xorg-input-wacom xserver-xorg-video-all xkb-data libgl1-mesa-dri akonadi-backend-sqlite kde-l10n-de kde-plasma-desktop kdesudo kdm kwalletmanager libpam-ck-connector policykit-1 policykit-1-gnome polkit-kde-1 virtuoso-minimal gstreamer1.0-plugins-{bad,base,good,ugly} phonon-backend-gstreamer gtk2-engines-oxygen gtk3-engines-oxygen kde-config-gtk-style oxygencursors kde-style-oxygen gwenview kate okular ark synaptic vlc kmix ttf-dejavu chromium chromium-l10n browser-plugin-gnash blender gimp inkscape marble hunspell hunspell-de-de hyphen-de libreoffice libreoffice-l10n-de kdenlive libav-tools recordmydesktop x264 geogebra fuse-posixovl network-manager network-manager-openvpn network-manager-pptp network-manager-vpnc plasma-widget-networkmanagement

Live Stick Schule

Ein Lehrer vom Heinrich-Herz-Gymnasium möchte seine Schüler im Unterricht gern an Freie Software heranführen. Ansatzpunkte sind dabei besonders Videoschnitt für den Kunstunterricht und ggf. Recherchen im Sprachunterricht (hier Latein, Griechisch) auch mit Hinblick auf Historie (Weltkarten, ...).

Konzept

Anforderungen

  • nachträgliche Softwareinstallation möglich
  • Programme
    • Libreoffice
    • KDEnlive 9.6 (+ frei0r Plugins, so dass sie funktionieren z.B. Corners
    • Audioplugins für Audacity LADSPA Nyquest
    • Subtitleeditor (Aegisub)
    • Geogebra
    • Marble
    • Scribus
    • Synfig Studio
    • Blender
    • Freemind
    • inkscape
      • sozi für inkscape
    • Stellarium
    • GIMP
    • GIMP-GAP
    • LMMS
    • Audacity
    • Rosegarden (gibt es da was Komplettes für Audioproduktion)
    • wine
    • unplug (ein Plugin für Mozilla)
    • recordmydesktop
  • daten löschen können ohne papierkorb
  • von Windows auf Daten zugreifen

Idee

  • Der Live-Stick hat 2 Partitionen
    1. Root-Filesystem, mit Live-Kompression (BTRFS)
    2. Homedirectory als VFAT, darüber ein posixovl mount um die Verwendung als Heimverzeichnis zu erlauben
  • beim Rollout soll Image der Stick-Größe angepasst werden
  • zum Ausrollen der Medien wird ein grafischer Installer geschrieben (zenity)

Protokoll

Partitionierung

$ sudo fdisk /dev/sda
> o
> n
> p
> 1
> 2048
> +4G

> n
> p
> 2
> (default)
> +1G

> w

Dateisysteme einrichten

$ sudo mkfs.btrfs /dev/sda1
$ sudo mkfs.vfat /dev/sda2
$ sudo mount /dev/sda1 /mnt -o compress
$ sudo btrfs subvolume create /mnt/boot
$ sudo btrfs subvolume create /mnt/root

Basissystem fertig machen

$ sudo debootstrap --variant=minbase --arch=i386 jessie /mnt/root http://www.linux-works.de:9999/debian
$ sudo umount /mnt
$ sudo mount /dev/sda1/ /mnt -o compress,subvol=root
$ sudo mount /dev/sda1/ /mnt/boot -o compress,subvol=boot
$ for n in /dev /proc /sys; do sudo mount $n /mnt/$n -o bind; done
$ sudo chroot /mnt /bin/bash

Softwareinstallation

$ apt-mark showmanual |xargs apt-mark auto
$ echo deb http://www.linux-works.de:9999/debian wheezy main >>/etc/apt/sources.list
$ apt-get update
$ apt-get -t jessie --no-install-recommends install grub2 linux-image-486 alsa-base alsa-utils bzip2 gzip htop man nmap less sudo vim iputils-ping net-tools wireless-tools pciutils wget   openssh-client ntpdate btrfs-tools dosfstools eject exfat-fuse ntfs-3g xserver-xorg-input-all xorg xserver-xorg-input-wacom xserver-xorg-video-all xkb-data libgl1-mesa-dri akonadi-backend-sqlite kde-l10n-de kde-plasma-desktop kdesudo kdm kwalletmanager libpam-ck-connector policykit-1 policykit-1-gnome polkit-kde-1 virtuoso-minimal gstreamer1.0-plugins-{bad,base,good,ugly} phonon-backend-gstreamer gtk2-engines-oxygen gtk3-engines-oxygen kde-config-gtk-style oxygencursors kde-style-oxygen gwenview kate okular ark synaptic vlc kmix ttf-dejavu chromium chromium-l10n browser-plugin-gnash blender gimp inkscape marble hunspell hunspell-de-de hyphen-de libreoffice libreoffice-l10n-de kdenlive libav-tools recordmydesktop x264 geogebra fuse-posixovl network-manager network-manager-openvpn network-manager-pptp network-manager-vpnc plasma-widget-networkmanagement
$ apt-get autoremove
$ apt-get clean

/etc/fstab UUID wird ermittelt durch "btrfs filesystem show /" (innerhalb der chroot)

UUID=b4b55c0d-8ba6-4c58-a2ae-5c6bcf467580       /       btrfs   auto,compress,subvol=root       0 0
UUID=b4b55c0d-8ba6-4c58-a2ae-5c6bcf467580       /boot   btrfs   auto,compress,subvol=boot       0 0

/etc/rc.local (nötig um das Heimverzeichnis von der VFAT Partition zu mounten)

ROOTID="$(sed -nr 's:^[\t ]*UUID=(.+)[\t ]/[\t ].*:\1:p' /etc/fstab)"
ROOTDEV="$(stat -c %N /dev/disk/by-uuid/$ROOTID |sed -r "s:^.*'(.+)'$:\1:")"
HOMEDEV="$(echo /dev/disk/by-uuid/$ROOTDEV |sed -r 's:1$:2:')"

mount "$HOMEDEV" /home/user && mount.posixovl /home/user -- -o allow_other
chown user:user /home/user
chmod 750 /home/user

exit 0

Konfiguration

$ ln -sf /proc/mounts /etc/mtab
$ adduser user
$ adduser user sudo
$ sed -r -i 's#^(root|user):[^:]*:#\1:U6aMy0wojraho:#' /etc/shadow
$ echo LiveStick >/etc/hostname
$ dpkg-reconfigure tzdata
$ rm /home/user/.*
$ mount /dev/sda2 /home/user/
$ mount.posixovl /home/user/ -- -o allow_other
$ vi /etc/locale.gen
$ locale-gen
$ echo export LC_ALL=de_DE.UTF-8 >/home/user/.xsessionrc
$ chown user:user -R /home/user/
$ chmod 755 /home/user/.xsessionrc
$ grub-install /dev/sda
$ update-grub2
$ vi /etc/kde4/kdm/kdmrc #autologin...
$ mount /dev/sda1 /mnt/
$ btrfs subvolume snapshot /mnt/root /mnt/root_preboot
$ umount /mnt/