Platformers are public desktops on the platform in the Lag. All the machines (at this moment 5) are running Archlinux with quite of a set of applications and graphical enviroments so people can test customize and play with different software.
LDAP user accounts
We have LDAP server running patat container on Kapsalon. If you have ldap account you can login with your credentials on every machine in Lag and have your home dir mounted. For account ask dreamer or tg.
Setup
- LVM partitioning
- Group: vg0
- Logical Volumes: arch (30GB arch installation), other (30GB for other distros), swap (8GB)
- filesystem: etx4
- add lvm2 hook to /etc/mkinitcpio.conf before creating initramfs.
- note! in case of installing arch on lvm check this when you run into trouble installing grub in chroot [http://unix.stackexchange.com/questions/105389/arch-grub-asking-for-run-lvm-lvmetad-socket-on-a-non-lvm-disk]
- for automount install thunar-volman and gvfs (with optional pkg such as gvfs-smb, gvfs, mtp etc)
Extra information
Default guest homes
Everytime guest logs out, script removes everything in home dir. Everytime the guest account logsin the default predefined settings are loaded form /etc/skel.
Currently predefined:
- firefox - bunch of useful extensions
- xfce - some small customization
If you are interested in customizing installed software and share it with others, upload your changes to kapsalon:/sambal/platform/skel/
Syncing procedure
To keep all the platform desktops in sync we made some lame script. You can find it at kapsalon:/sambal/platform/scripts/update. The script is mounted on each platform and can be found at /usr/local/sbin
USAGE:
echo "Update and remove script for Platforms"
echo " "
echo " -h or --help : Print this help"
echo " -n or --net : Update system from repository"
echo " -l or --local : Update system using local cache"
echo " -r or --remove : Remove package"
--net Uninstalls packages scheduled for removal, and updates the system to the latest software
--local Uninstalls packages scheduled for removal, and updates system using shared pacman cache.
--remove Removes selected package and adds it to removed packages list. Additionally adds the hostname. If all hostnames are present, meaning all the machines removed package, the package is then removed from the list and cache.
pacman.conf keeps only installed and current packages in cache. If you want to install packages from AUR use yaourt! yaourt then puts the package and all dependencies in the same cache repository so that all the other machines can get the software, and stay in sync.
Configuration
NFS
/etc/fstab
# UUID=fab62823-69f9-4fd8-9e80-7d6cfd7aa84e
/dev/mapper/vg0-arch / ext4 rw,relatime,data=ordered 0 1
# UUID=7489369f-d8f2-41d2-80f7-738141fd1fc4
/dev/mapper/vg0-swap none swap defaults 0 0
kapsalon:/sambal/media/upload /media/upload nfs rsize=8192,wsize=8192,timeo=14,intr,auto,x-systemd.automount
kapsalon:/sambal/media/ /media/share nfs rsize=8192,timeo=14,intr,ro,auto,x-systemd.automount
kapsalon:/sambal/platform/skel /mnt/skel nfs rsize=8192,timeo=14,intr,ro,auto,x-systemd.automount
kapsalon:/sambal/platform/pacman/ /var/cache/pacman nfs rsize=8192,wsize=8192,timeo=14,intr,auto,x-systemd.automount
kapsalon:/sambal/platform/scripts/ /mnt/platform-scripts nfs rsize=8192,wsize=8192,timeo=14,intr,ro,auto,x-systemd.automount
LDAP
..
PAM
/etc/security/pam_mount.conf.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
<pam_mount>
<debug enable="0" />
<volume uid="5000-5999" fstype="fuse" ssh="0" path="sshfs#%(USER)@kaas:" mountpoint="~/home/" options="reconnect,nonempty,password_stdin" />
<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty" />
<mntoptions require="nosuid,nodev" />
<logout wait="0" hup="0" term="0" kill="0" />
<mkmountpoint enable="1" remove="true" />
<fusemount>`/usr/bin/mount.fuse %(VOLUME) %(MNTPT) -o %(OPTIONS)`</fusemount>
<fuseumount>`/usr/bin/fusermount -u %(MNTPT)`</fuseumount>
</pam_mount>
Scripts
..
ToDo
- check update scripts
- add smart-monitoring to the desktops
- test different sshfs-configuration (concurrent with shells on kaas)
- re-image and re-deploy to get all platformers 'aligned'
- better documentation (howto, configs, etc.)
- ..