[debian-edu-commits] [Debian Wiki] Update of "DebianEdu/HowTo/FaiInstallDebianEdu" by RonnyAasen

Debian Wiki debian-www at lists.debian.org
Tue Jan 12 20:09:20 UTC 2016


Dear wiki user,

You have subscribed to a wiki page "Debian Wiki" for change notification.

The page "DebianEdu/HowTo/FaiInstallDebianEdu" has been deleted by RonnyAasen:

https://wiki.debian.org/DebianEdu/HowTo/FaiInstallDebianEdu?action=diff&rev1=18&rev2=19

Comment:
Obsolete, and wrong.

- <<TableOfContents(3)>>
  
- FAI (Fully Automatic Installation) Is a large scale deployment solution, basicaly it boots from dhcp+pxe+tftp mounts a nfs root, from where the installation runs. You can use it to install Workstations and servers  in your network. This guide tries to explain installation of fai into a Debian Edu network,  and example config to install an Thin Client server and Workstations
- 
- Information sources
-    * Main page http://wiki.fai-project.org/index.php/Main_Page
-    * Quick start guide http://fai-project.org/fai-guide/ar01s02.html
-    * partition tool with lvm support [optional] http://wiki.fai-project.org/index.php/Setup-storage
-    * https://lists.uni-koeln.de/pipermail/linux-fai/2004-August/002307.html
- 
- Package sources
-  * deb http://layer-acht.org/debian etch fai
- 
- == Scope ==
- 
- This page describes how to install a Debian Edu workstation or thin-client-server with FAI.
- 
- = Installation =
-  1. install main server, or if you wish a dedicated barebone profile
-  1. configure network sources, update, upgrade
-     make sure you include `deb http://layer-acht.org/debian etch fai`
-  1. Make sure you cache debian packages to improve speed You can either install a deb proxy server, or tune squid
-       * [optionally] installing and configuring appprox,apt-proxy
-       * [optionally] tune squid    
-       * [optionally] install a local debian mirror
-  1. [optionally] to avoid warning grab holgers key 
-     * gpg --keyserver keyring.debian.org --recv 5072D036AC583520 && gpg --armor --export 5072D036AC583520 | apt-key add -
-  1. make sure you have enough space for /srv (my /srv is 365M at the moment, so create a logical volume with 400MB and mount  it as /srv)
-  1. aptitude install fai-doc fai-server syslinux perl-tk libproc-daemon-perl 
-  1. verify that you got fai pacakges from holgers repo and not the ones in etch. it should be version 3.2.1, the rest of this text depends on it. 
-  1. edit the following in these files. leave the rest at the default. 
-     * in /etc/fai/fai.conf
-       * LOGUSER=fai
-     * in /etc/fai/make-fai-nfsroot.conf
-       * FAI_DEBOOTSTRAP="etch http://tjener:9999/debian" /!\ example shows a approx server, replace with whatever suites you
-       * FAI_ROOTPW=<SOMETHING>
-     * in /etc/fai/NFSROOT 
-       * in the first PACKAGES install part add `debian-edu-archive-keyring`. if you use setup_harddisks_2 also add `libparse-recdescent-perl parted lvm2`
-     * in /etc/fai/apt/sources.list use sane sources, consider copying the ones from the faiserver, (Yes you'll need holgers repo here too)
-  1. run `fai-setup -v`
- 
- = Configuration =
- == Server ==
-  1. add a service called faiserver
-     * bind config, add a CNAME from faiserver to tjener (or staticxx if you have a dedicated) update serial and reload bind. 
-  1. Adjust the dhcp configuration
-     * edit /etc/dhcp3/dhcp.conf add all your ltspserver hosts (as normally, or as a separate group) You will need.
-       * add use-host-decl-names on; 
-       * add server-name faiserver;
-       * add next-server faiserver;
-       * add filename "fai/pxelinux.0";
-  1. edit /etc/inetd.conf  /!\ this will break a combined server. so use a main-server or a barebone server.
-     * point tftp server to /srv/tftp
-     * /etc/init.d/openbsd-inetd restart
-  1. use lwat and add all ltspservers you want to install into the ltsp-server-hosts group
- == fai ==
- Everything here are examples, People knowing how to use FAI will cry at the spagetti. And It will most likely not work for your case. you should write your own configurations. 
- 
- The FAI configspace that is necessary for these things is now avilable from svn - see  http://svn.debian.org/wsvn/debian-edu/trunk/src/fai-configspace
- 
- 
- === Class needed ===
- 
- /srv/fai/config/class/50-host-classes
- {{{
- #! /bin/bash
- 
- # assign classes hosts
- 
- # use a list of classes for our demo machine
- case $HOSTNAME in
-     ltspserver*)
-         echo "FAIBASE DHCPC EDU-COMMON EDU-NETWORKED EDUCONFIG XORG KDE EDU-WORKSTATION EDU-LTSP-SERVER" ;;
-     *)
-         echo "" ;;
- esac
- 
- (ifclass I386 || ifclass AMD64) && echo GRUB
- exit 0
- }}}
- 
- === Files needed ===
- 
- /srv/fai/config/files/etc/debian-edu/config/EDU-LTSP-SERVER
- {{{
- NONINTERACTIVE="true"
- PROFILE="Thin-Client-Server"
- LANGCODE="nn_NO:nn:no_NO:no:nb_NO:nb:da:sv:en_GB:en"
- LOCALE="nn_NO"
- }}}
- 
- /srv/fai/config/files/etc/default/update-hostname/EDUCONFIG
- {{{
- ENABLED="true"
- }}}
- 
- /srv/fai/config/files/etc/network/interfaces/EDU-LTSP-SERVER
- {{{
- # The loopback interface
- auto lo
- iface lo inet loopback
- 
- 
- auto eth0
- iface eth0 inet dhcp
- 
- auto eth1
- iface eth1 inet static
-     address 192.168.0.254
-     netmask 255.255.255.0
-     broadcast 192.168.0.255
- }}}
- 
- /srv/fai/config/files/usr/share/ltsp/plugins/ltsp-build-client/Debian/015-sources-list/
- EDUCONFIG
- {{{
- #This provides the --copy-sourceslist argument to ltsp-client-builder
- #Grab this file from the unstable ltsp source package. it's not part of the ltsp-server in etch. but needed if you want to run ltsp-client-builder from a network repo
- }}}
- === Hooks needed ===
- /srv/fai/config/hooks/# cat instsoft.EDUCONFIG  /!\ must be executable
- {{{
- #! /bin/bash
- #copy files from files area
- fcopy -iM  /etc/default/update-hostname
- fcopy -iM etc/debian-edu/config
- 
- #get the tasks in early
- $ROOTCMD apt-get -y install debian-edu-archive-keyring debian-edu-config education-tasks
- $ROOTCMD apt-get -y install debian-edu-install
- }}}
- 
- === Script needed ===
- /srv/fai/config/scripts/EDUCONFIG/10-update-hostname
- {{{
- #! /bin/bash
- error=0 ; trap "error=$((error|1))" ERR
- fcopy -iM /etc/default/update-hostname
- $ROOTCMD /etc/init.d/update-hostname restart
- exit $error
- }}}
- 
- /srv/fai/config/scripts/LAST/90-d-e-cfrun
- {{{
- #! /bin/bash
- error=0 ; trap "error=$((error|1))" ERR
- $ROOTCMD cfengine-debian-edu -Dinstallation
- exit $error
- }}}
- 
- /srv/fai/config/scripts/EDU-LTSP-SERVER/10-ltsp-client-builder
- {{{
- #! /bin/bash
- error=0 ; trap "error=$((error|1))" ERR
- fcopy -iM /usr/share/ltsp/plugins/ltsp-build-client/Debian/015-sources-list
- $ROOTCMD ltsp-build-client --mirror http://www:9999/debian --security-mirror http://www:9999/security  --copy-sourceslist --accept-unsigned-packages --dist etch --debconf-seeds /usr/lib/debian-edu-install/defaults.ltsp-chroot --late-packages sitesummary-client,debian-edu-artwork,debian-edu-artwork-usplash,debian-edu-archive-keyring,ltspfsd
- 
- exit $error
- }}}
- 
- /srv/fai/config/scripts/LAST/90-update-initramfs
- {{{
- #! /bin/bash
- error=0 ; trap "error=$((error|1))" ERR
- $ROOTCMD update-initramfs -k all -u
- exit $error
- }}}
- 
- 
- === Package lists needed ===
- /!\ A better aproch would be to use the taskinst and install our task,  but i can not make it work reliably recomendations are not installed. So i list every package needed. This probably includes noise so it needs cleaning.
- 
- /srv/fai/config/package_config/EDU-WORKSTATION
- {{{
- PACKAGES aptitude
- kde kdm alsa-base alsa-utils aspell-he avahi-daemon bzip2 culmus cupsys-bsd cupsys-client debian-edu-artwork dhcdbd dhcp3-client dvgrab
- education-astronomy education-chemistry education-electronics education-geography education-graphics education-language education-logic-games education-mathematics education-misc education-music education-physics
- fam ffmpeg gcompris gij-4.1 gimp gimp-data-extras gimp-print gnome-themes gnucap gnuchess gnupg-agent gnupg2 gperiodic
- gsfonts-x11 hspell iamerican ibrazilian ibritish icatalan iceweasel
- iceweasel-l10n-en-gb iceweasel-l10n-nb-no iceweasel-l10n-nn-no ingerman inkscape inorwegian java-gcj-compat k3b k3b-i18n
- kaffeine kaffeine-mozilla kalzium kbruch keduca kgeography khangman kino klatin klettres kmplot kooka kseg ksokoban kstars
- ktouch ktuberling kverbos kvoctrain libfribidi0 libnss-mdns myspell-en-gb
- myspell-en-us myspell-nb myspell-nn ocrad openoffice.org openoffice.org-l10n-nb openoffice.org-l10n-nn
- rdesktop sane sane-utils scim-anthy scim-canna scim-prime scim-skk scim-tables-ja scim-uim
- scribus stopmotion ttf-freefont ttf-mgopen ttf-vlgothic tuxpaint tuxpaint-config unifont unzip vgrabbj xfonts-75dpi-transcoded xfs xorg zip
- abakus artsbuilder atlantik atlantikdesigner auctex autoconf avahi-autoipd avahi-discover celestia cupsys-driver-gimpprint cvs dbdesigner ddd dia drgenius drgeo earth3d education-desktop ekiga firefox-locale-nb firefox-locale-nn flashplugin-nonfree foomatic-gui g++ gaim gcc gcompris-sound-en gdb geg gettext ghostview gnupg-doc gnuplot gstreamer0.10-alsa gstreamer0.10-audiosink gstreamer0.10-ffmpeg gstreamer0.10-fluendo-mp3 gstreamer0.10-plugins-base gtablix gtk2-engines-gtk-qt gv icedove
- icedove-locale-nb  icedove-locale-nn
- k3dsurf kalgebra kasteroids katomic kbabel kbackgammon kbattleship kbear kblackbox kbounce kchart kdissert kdnssd kernel-package keuklid kformula kfouleggs kgeo kgoldrunner kgraph kig kivio kjumpingcube klearnspelling klickety klogic kmahjongg kmidi kmines kmultiply knorskverbs kolf kolourpaint konqueror-plugin-gnash konquest koshell kpaint kpat kpercentage kpoker kppp kreversi ksame kshisen ksirtet ksmiletris ksnake kspaceduel ktron kugar kuser kworldclock lacheck libaudiofile0 libc-dev libdvdcss2 libncurses5-dev libogg0 libvorbis0 libvorbis0a libxml1 lightspeed lyx make mdns-scan monopd mozilla-plugin-gnash mozilla-plugin-vlc mozilla-thunderbird-locale-nn mplayer mutt myspell-de-at myspell-de-ch myspell-fr-gut ncftp netpbm noteedit ogle-gui openoffice.org-filter-binfilter openoffice.org-filter-mobiledev openoffice.org-help-en openoffice.org-help-nb openoffice.org-help-nn
- openoffice.org-hyphenation openoffice.org-l10n-common openoffice.org-l10n-en-us openoffice.org-style-crystal openoffice.org-style-default openoffice.org-style-industrial openoffice.org-thesaurus-en-us qcad qliss3d quanta rsibreak screen serpentine smbclient sodipodi solfege sql-ledger subversion swfdec-mozilla tablix2 tetex-bin tetex-brev tetex-doc tetex-extra texmacs timidity-patches totem totem-mozilla ttf-malayalam-fonts tuxmath ucblogo vlc wget wine wine-doc wine-utils xfonts-100dpi-transcoded xfonts-base-transcoded xine xine-dvdnav xine-ui xmms-arts xmms-cdread xmmsarts xpdf xpdf-japanese xplanet yacas zlib1g
- }}}
- 
- /srv/fai/config/package_config/EDU-LTSP-SERVER
- {{{
- PACKAGES aptitude
- atftpd dhcp3-server iptables ltspfs nbd-server rdiff-backup tftp xfs syslinux
- ltsp-server openssh-server
- }}}
- 
- /srv/fai/config/package_config/EDU-COMMON
- {{{
- PACKAGES aptitude
- apt-listchanges bc bind9-host cfengine2 cpufrequtils dash debconf-utils debian-archive-keyring
- debian-edu-archive-keyring debian-edu-artwork-usplash debsecan dmidecode eject etherwake
- ethtool finger gdebi hdparm hwinfo iftop iproute iputils-arping less libpam-foreground
- libpam-ssh libwww-perl localization-config lsscsi lvm2 man-db manpages mdetect mii-diag
- mtools ncftp nictools-pci nmap nscd nullidentd openssh-client openssh-server pciutils
- popularity-contest procinfo procmail psmisc read-edid reportbug resolvconf rsync scsiadd
- ssh strace sudo sysfsutils tcpdump tcptraceroute traceroute udev wget xdebconfigurator
- }}}
- 
- /srv/fai/config/package_config/EDU-NETWORKED
- {{{
- PACKAGES aptitude
- autofs-ldap cupsys education-common foomatic-db-engine foomatic-db-gutenprint
- foomatic-filters-ppds hpijs hpijs-ppds hplip ijsgutenprint ldap-utils libnss-ldap
- libpam-ldap munin-node nfs-common ng-utils ntp pnm2ppa rwho rwhod sitesummary-client
- cupsomatic-ppd gq krb5-user libldap2-tls libpam-mount
- }}}
- 
- /srv/fai/config/package_config/EDU-DESKTOP-KDE
- {{{
- PACKAGES aptitude
- amarok ark digikam gwenview gwenview-i18n kaddressbook kaddressbook-plugins kamera kcalc kcharselect kde-i18n-nb kde-i18n-nn kdebase kdegraphics-kfile-plugins kdemultimedia-kio-plugins kdenetwork-kfile-plugins kdepasswd kdepim-kio-plugins kdeutils kdewallpapers kdf kdict kdm kfloppy kghostview kiosktool kipi-plugins kmail kmix knotes konq-plugins konqueror konsole korganizer kpilot kscreensaver ksirc ksmserver ksnapshot kwin menu menu-xdg
- kate-plugins kcron kde kde-i18n-no kde-i18n-nony kdeaddons-kfile-plugins kdeedu kdepim-kfile-plugins kedit kfilereplace kfind kiconedit kmid kmidi knode kpaint kpm kpresenter krecord krita kruler kscd kschoolmenu kspread kuser kview kword
- }}}                   
- = Installing a fai client =
-  1. fai-chboot -FIv ltpserver[nn], and boot the machine. 
- 
- == Default boot ==
- to set the default to boot from local harddrive use `fai-chboot -o default`
- 
- = lvm =
- LVM is not supported in the current fai packages, youll need to use svn versions, this is a moving target and your milage may vary 
- basicaly checkout using `svn co svn://svn.debian.org/fai/people/michael/features/setup_harddisks_2 hd2` put it into /srv/fai/nfsroot/usr/local. You must also make sure you install lvm2 package into your target.
- 
- Read more at http://wiki.fai-project.org/index.php/Setup-storage
- 
- == Files needed for lvm ==
- /srv/fai/config/hooks/partition.EDUCONFIG.source
- {{{#!plain
- #!/bin/sh
- #clean drives, BAD BAD HAX wipe the drive before lvm is loaded. 
- dd if=/dev/zero of=/dev/sda2 bs=1k count=1
- dd if=/dev/zero of=/dev/sda1 bs=1k count=1
- dd if=/dev/zero of=/dev/sda bs=1k count=1
- hdparm -z /dev/sda
- 
- modprobe dm_mod
- 
- #run setup_harddisks_2
- cd /usr/local/hd2/implementation/
- debug=1 ./shdd2 -X
- 
- # skip the original parititioning
- . $LOGDIR/disk_var.sh
- skiptask partition
- }}}
- 
- Example partition file for lvm /srv/fai/config/disk_config/EDUCONFIG 
- {{{
- disk_config disk1 bootable:1
- primary  /boot          250             ext3    defaults
- primary  -              0-               -      -
- 
- # config the LVM
- disk_config lvm
- 
- vg              vg_system               sda2
- 
- vg_system-root  /                       1548        ext3        defaults        -O dir_index,resize_inode
- vg_system-usr   /usr                    4000        ext3        defaults        -O dir_index,resize_inode
- vg_system-var   /var                    1000         ext3       defaults        -O dir_index,resize_inode
- vg_system-opt   /opt                    3596         ext3       defaults        -O dir_index,resize_inode
- vg_system-var+opt+ltsp+swapfiles /var/opt/ltsp/swapfiles 3000 ext3  defaults    -O dir_index,resize_inode
- vg_system-swap  swap                    48         swap  -
- }}}
- 
- = Confirmation =
- These people have followed these instructions successfully:
- 
- ## please enter your name here!
- || Name || Date || Remark ||
- ||      ||      ||        ||
- 



More information about the debian-edu-commits mailing list