Unterschiede zwischen den Revisionen 1 und 1411 (über 1410 Versionen hinweg)
Revision 1 vom 2014-04-29 13:14:44
Größe: 2421
Autor: i59F6C6CF
Kommentar:
Revision 1411 vom 2014-12-16 17:06:49
Größe: 4757
Kommentar: despam
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 6: Zeile 6:
  * nachträgliche Softwareinstallation möglich
  * Programme
   * Libreoffice
   * KDEnlive
   * Subtitleeditor (Aegisub)
   * Geogebra
  * von Windows auf Daten zugreifen
 * nachträgliche Softwareinstallation möglich
 * Programme
  * Libreoffice
  * KDEnlive 9.6 (+ frei0r Plugins, so dass sie funktionieren z.B. Corners
  * Audacity
  * 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
  * wine
  * K3B
  * VLC
  * youtube-dl
  * unplug (ein Plugin für Mozilla)
  * recordmydesktop
 * daten löschen können ohne papierkorb
 * von Windows auf Daten zugreifen

Zeile 15: Zeile 37:
 * Der Live-Stick hat 2 Partitionen
  1. Root-Filesystem, mit Live-Kompression (BTRFS)
  1. 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)
Zeile 55: Zeile 82:
Softwareinstallation
Zeile 60: Zeile 87:
$ 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 $ 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
Zeile 63: Zeile 92:
/etc/fstab
UUID wird ermittelt durch "btrfs filesystem show /" (innerhalb der chroot)
Zeile 64: Zeile 95:
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
}}}
Zeile 65: Zeile 99:
/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
Zeile 66: Zeile 111:

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/
}}}

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
    • Audacity
    • 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
    • wine
    • K3B
    • VLC
    • youtube-dl
    • 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/