Most of the following commands request root permissions. Use the sudo command or become root to run them.
A great source of help: https://help.ubuntu.com/community/UbuntuLTSP
#create /etc/apt/apt.conf if it does not exist and add following line
Acquire::http { Proxy "http://192.168.28.2:3142"; } |
apt-get update
#edit:
127.0.0.1 localhost 127.0.1.1 server.bluelight.av server |
#edit:
server |
/etc/init.d/hostname restart
hostname -f
#if not successful reboot...
apt-get install ltsp-server-standalone |
#edit:
# The chroot architecture. ARCH=i386 FAT_CLIENT_DESKTOPS="ubuntu-desktop" # Space separated list of programs to install. # The java plugin installation contained in ubuntu-restricted-extras # needs some special care, so let's use it as an example. LATE_PACKAGES=" ubuntu-restricted-extras nfs-client emacs ssh vlc audacious " # This is needed to answer "yes" to the Java EULA. # We'll create that file in the next step. DEBCONF_SEEDS="/etc/ltsp/debconf.seeds" # This uses the server apt cache to speed up downloading. # This locks the servers dpkg, so you can't use apt on # the server while building the chroot. MOUNT_PACKAGE_DIR="/var/cache/apt/archives/" |
#edit:
# Do you agree with the DLJ license terms? sun-java6-bin shared/accepted-sun-dlj-v1-1 boolean true sun-java6-jre shared/accepted-sun-dlj-v1-1 boolean true # In order to install this package, you must accept the license terms, the # "TrueType core fonts for the Web EULA ". Not accepting will cancel the # installation. Do you accept the EULA license terms? ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula boolean true |
ltsp-build-client |
#Various options can be set for the Fat Client. They can be set in the /var/lib/tftpboot/ltsp/i386/lts.conf file.
#Here is a list of the options that can be used: http://manpages.ubuntu.com/manpages/precise/man5/lts.conf.5.html
#You don't need to build the client or update the image after changing an option
#You can use the fat chroot also to run thin clients, not only fat ones. This way you can have a mix of powerful and not powerful clients, that they will become "fat" or "thin" based upon their RAM (consider fat chroot a "superset" of a thin one, so thin boot uses only a small but common part of it). The parameter that affects the RAM threshold is:
FAT_RAM_THRESHOLD |
that defaults to 300 (MB). So if you want your client boot as FAT ones only if they have more than 800MB edit lts.conf and put:
FAT_RAM_THRESHOLD=800 |
Another interesting feature is have a server's directory available to all the fat clients. For instance, to have the fat clients mount as their own /srv the /srv of the server add this parameter:
LOCAL_APPS_EXTRAMOUNTS=/srv |
Some other options can be set (example of lts.conf file in Deepanam School)
[default] LOCAL_APPS_EXTRAMOUNTS=/home/share,/home/media_no_backup USE_LOCAL_SWAP=True LDM_DIRECTX=True CUPS_SERVER=192.168.10.1 LDM_SESSION="gnome-session --session=ubuntu-2d" |
# Local-loop auto lo iface lo inet loopback # Local interface auto eth0 iface eth0 inet static address 192.168.10.1 netmask 255.255.255.0 broadcast 192.168.10.255 # Internet interface auto eth1 iface eth1 inet static address 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 |
cp /etc/ltsp/dhcpd.conf{,-origin}
# # Default LTSP dhcpd.conf config file. # #authoritative; subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.2 192.168.2.250; option domain-name "bluelight.av"; option domain-name-servers 192.168.10.1; option broadcast-address 192.168.10.255; option routers 192.168.10.1; # next-server 192.168.10.1; # get-lease-hostnames true; option subnet-mask 255.255.255.0; option root-path "/opt/ltsp/i386"; if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" { filename "/ltsp/i386/pxelinux.0"; } else { filename "/ltsp/i386/nbi.img"; } } |
sudo /etc/init.d/networking restart
sudo /etc/init.d/isc-dhcp-server restart
#If problems kill NetworkManager or even uninstall it as it interferes with the dhcp config.
killall NetworkManager |
Follow the server installation from this guide: http://wiki.bluelightav.org/display/BLUE/LDAP+Authentication+-+Ubuntu+12.04
apt-get install nfs-kernel-server
#edit and add the following
/home 192.168.10.0/24(rw,sync,no_subtree_check) |
#edit & set:
NEED_SVCGSSD=no # no is default |
#edit & set:
NEED_IDMAPD=yes NEED_GSSD=no # no is default |
#edit:
[General] Verbosity = 0 Pipefs-Directory = /var/lib/nfs/rpc_pipefs Domain = bluelight.av [Mapping] Nobody-User = nobody Nobody-Group = nogroup |
#edit & add the following at the end of the file
lightdm;*;*;Al0000-2400;plugdev,fuse,scanner,video,audio,lpadmin,cdrom,dip |
#edit:
[bl-ldap] nss_group=group: files ldap nss_passwd=passwd: files ldap nss_shadow=shadow: files ldap nss_netgroup=netgroup: nis pam_account=account sufficient pam_ldap.so account required pam_unix.so pam_auth=auth sufficient pam_ldap.so auth required pam_unix.so nullok_secure use_first_pass pam_password=password sufficient pam_ldap.so password required pam_unix.so nullok obscure min=4 max=8 md5 pam_session=session required pam_unix.so session required pam_mkhomedir.so skel=/etc/skel/ session optional pam_ldap.so session optional pam_foreground.so |
auth-client-config -S > /etc/auth-client-config/profile.d/original
auth-client-config -p bl-ldap -a
#edit & add before "@include common-auth":
auth optional pam_group.so |
The Basic Installation is done
#The Fat Client doesn't need to be configured for ldap and NFS as it uses the parameters of the server for logging and nscd ot mount the associated folder.
ltsp-chroot -c -p |
#Like adding software, removing some, changing some configs...
exit
ltsp-update-kernels
ltsp-update-image
The changing of the password in Unity (http://wiki.bluelightav.org/display/BLUE/How+to+change+the+password+of+an+LDAP+user+with+Unity+in+Ubuntu+12.04) is not available on the Fat Client.
Edit /var/lib/tftpboot/ltsp/i386/lts.conf and add the following replacing the mac, password and username according to your needs. You can replace the mac address by the IP.
[00:1c:c0:de:1e:d6] LDM_AUTOLOGIN = True LDM_USERNAME = public LDM_PASSWORD = public |
Extract the valid image with:
mkdir /mnt/img mount -o loop /opt/ltsp/images/i386.img /mnt/img/ mv /opt/ltsp/i386{,-old} mkdir /opt/ltsp/i386 rsync -avz /mnt/img/* /opt/ltsp/i386/ |
The LDM themes images are located in /opt/ltsp/i386/usr/share/ldm/themes/
LDM_THEME = newthemedirectoryname (no need of the full path)
https://help.ubuntu.com/community/UbuntuLTSP/ltsp-pnp
This is due to a bug in LTSP
ltsp-chroot -m update-rc.d -f halt remove update-rc.d halt stop 90 0 . exit |