STATUS updates ======TODO====== * the formular plugin is giving me errors, need to figure this out (email assignment form) * update grade not-z scripts to handle/be aware of winter terms * update system page for (new)www * redo DSLAB tweedledee/tweedledum with squeeze rebuilt tweedledee, tweedledum on the way * rebuild DSLAB www, irc, auth as squeeze VMs * load balance/replicate www/wiki content between LAIR and DSLAB * adapt LAIR irc and lab46 to use self-contained kernels (how to do this?) * update system page for db * migrate nfs1/nfs2 system page to current wiki * update nfs1/nfs2 to squeeze * flake* multiseat page ======URLs====== Some links of interest: * [[http://www.llvm.org/|LLVM]] * [[http://www.reocities.com/harpin_floh/glglobe_page.html|GLglobe]] * [[http://www.heavens-above.com/|Heavens Above]] * http://wiki.debian.org/kristian_jerpetjoen * http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html * http://myproxylists.com/nix-brute-force * [[haas/docs/plan9|My Plan9 Documentation page]] * [[haas/system/sokraits_halfadder.offbyone.lan|The Sokraits/Halfadder System Documentation page]] * http://www.egghelp.org/commands/channels.htm * http://stackoverflow.com/questions/470617/get-current-date-and-time-in-php * http://www.rjsystems.nl/en/2100.php * [[http://bitsavers.trailing-edge.com/pdf/|BitSavers]] * [[http://mir.aculo.us/2010/06/04/making-an-ipad-html5-app-making-it-really-fast/|Time Zone HTML5 app]] * http://toic.org/2009/01/18/reverse-ssh-port-forwarding/ * Divergent Thinking * http://en.wikipedia.org/wiki/Divergent_thinking * http://faculty.washington.edu/ezent/imdt.htm * https://help.ubuntu.com/community/Installation/QemuEmulator * Socket Programming * http://www.linuxhowtos.org/C_C++/socket.htm * http://www.few.vu.nl/~jms/socket-info.html * http://www.lowtek.com/sockets/ * http://www.tenouk.com/Module40.html * http://www.tenouk.com/Module42.html * http://www.tenouk.com/Module43a.html * ALIX * http://markshroyer.com/guides/router/ * http://markshroyer.com/2010/12/openbsd-alix-via-ubuntu/ * http://www.martinmellor.com/freebies/pinouts/IDE44_2_5_pinout.htm (IDE 44-pin pin-out) * BeagleBoard * http://elinux.org/BeagleBoardDebian * Xen * http://www.tumfatig.net/20110125/running-openbsd-on-xen/ (OpenBSD HVM) * https://wiki.debian.org/Xen * http://www.mydigitallife.info/fix-gmail-imap-invalid-credentials-or-web-login-requires-failure-error/ * http://manoharvanga.com/hackme/ * http://chneukirchen.github.com/sabotage/ * http://www.linusakesson.net/programming/pipelogic/index.php * Free Data Structures eBook: http://dotnetslackers.com/Community/files/folders/data-structures-and-algorithms/entry30283.aspx * Polyphasic Sleep and Napping * http://priceonomics.com/the-nasa-studies-on-napping/ * http://www.opinionspost.com/longevity-greek-island-way/ * http://io9.com/the-science-behind-power-naps-and-why-theyre-so-damne-1401366016 * Brain Hacks * http://www.cracked.com/article_20166_5-brain-hacks-that-give-you-mind-blowing-powers.html?wa_user1=4&wa_user2=Science&wa_user3=article&wa_user4=recommended * BASH sockets * http://hacktux.com/bash/socket * http://terminallinux.org/p/69/ * Debian Jessie daily builds (June 25th): http://d-i.debian.org/daily-images/amd64/20140625-00:18/netboot/gtk/debian-installer/amd64/ * NFSv4: https://help.ubuntu.com/community/NFSv4Howto * Nettle/libhogweed crypto: http://www.lysator.liu.se/~nisse/nettle/nettle.html#Example * Debian RAMdisks: http://reboot.pro/topic/14547-linux-load-your-root-partition-to-ram-and-boot-it/ * Zeo * https://forum.quantifiedself.com/showthread.php?tid=1421 * http://www.cpaptalk.com/viewtopic/t98659/New-Zeo-Sleep-Monitor-for-Bedside-Units.html * https://github.com/zeoeng/zeo-android-api * http://eric-blue.com/2013/06/09/life-beyond-zeo/ ======Other Days====== ======August 9th, 2014====== =====tune2fs to make Xen ext4 domU work with writeback===== Simple fix, but otherwise aggravating to the uninitiated. Because I have heavily tweaked the mount options, den-create-image apparently doesn't know to set a particular filesystem option on creation, so we need to take care of it manually. Basically, run on the VM server, on the domU disk image file: sokraits:/xen/images# tune2fs -o journal_data_writeback ./my_vm.disk Bam! Done. Good to go. Useful URL: http://www.linuxquestions.org/questions/linux-general-1/data%3Dwriteback-in-fstab-mounts-root-partition-as-read-only-916031/ =====RAMdisk fun===== I discovered a new method for pulling off a RAMdisk-based system: * http://reboot.pro/topic/14547-linux-load-your-root-partition-to-ram-and-boot-it/ debirf. =====LDAP redo===== Looks like I may have to spend some quality time on LDAP; in the meantime, here are some potentially useful links: * http://www.zytrax.com/books/ldap/ch14/#slapadd * http://www.rjsystems.nl/en/2100-d6-openldap-consumer.php * http://bacedifo.blogspot.com/2013/07/openldap-ldap-backend-as-proxy.html * https://help.ubuntu.com/12.04/serverguide/openldap-server.html#ldap-backup * https://help.ubuntu.com/community/OpenLDAPServer#Populating_the_Directory ======August 13, 2014====== =====RAMdisk fun===== I finally took the plunge and explored configuring various systems on boot to copy from the boot drive into a tmpfs ramdisk. Turns out it was incredibly easy. Followed the instructions located here: * http://reboot.pro/topic/14547-linux-load-your-root-partition-to-ram-and-boot-it/ And have successfully switched over sokraits, halfadder, data1, and data2 to this configuration. ====rsync preservation of ramdisk data==== As a further step, I have already looked into and implemented a solution using rsync to copy changed data back to the boot drive every so often (currently every 4 hours) from a cron job. crontab logic (on all converted systems) is as follows: 12 */4 * * * (mkdir -p /tmp/sda1; mount /dev/sda1 /tmp/sda1; rsync -av --one-file-system / /tmp/sda1/; umount /tmp/sda1) Very impressed, and pleased (this has been a long-standing feature I've wanted to see implemented). =====HA-ish NFS===== URL: https://help.ubuntu.com/community/HighlyAvailableNFS Also rigged up the following symlinks on data1/data2: * /etc/exports -> /export/lib/exports * /var/lib/nfs -> /export/lib/nfs So we're a step closer to high availability. The /etc/rc.local files on both systems appears as follows: #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. #/sbin/drbdadm up lair_data #/sbin/drbdadm primary lair_data #/sbin/ifconfig eth0:1 inet 10.80.1.3 netmask 255.255.255.0 up #/sbin/ifconfig eth1:1 inet 10.80.2.3 netmask 255.255.255.0 up #/etc/init.d/nfs-kernel-server stop #/etc/init.d/nfs-common stop #/bin/mount -t ext4 /dev/drbd0 /export #/etc/init.d/nfs-common start #/etc/init.d/nfs-kernel-server start exit 0 The big remaining TODO on data1/data2 is to rig up the repository web server so mirror can be back online for both LAIR-local packages, and also to serve apt-mirror copies of the debian repository (need to start resyncing that too). ======August 17th, 2014====== =====kernel update grub issue===== I discovered a potential snag with my RAMdisk operations: kernel updates. Specifically, they try to update grub, and update-grub is none too pleased with the root device not being the hard drive. So, I hacked up a manual work around (hopefully grub is smart enough to "just work"-- note that any significant kernel changes will require more editing of the grub config, as the entries will not be going in automatically anymore): In **/etc/kernel/postinst.d/zz-update-grub**, I simply add the following line near the top (before any real processing takes place): exit 0 Simple and effective. Then, to clear up any package update errors, I just run **dpkg -a --configure** and they iron themselves out. The other trick is I re-generate the RAMdisk initrd: halfadder:~# cd /usr/share/initramfs-tools/scripts halfadder:/usr/share/initramfs-tools/scripts# cp -f local.ramdisk local halfadder:/usr/share/initramfs-tools/scripts# mkinitramfs -o /boot/initrd.img-ramboot halfadder:/usr/share/initramfs-tools/scripts# cp -f local.bak local halfadder:/usr/share/initramfs-tools/scripts# Again, if it is just a minor version bump (this case was 3.14.13 to 3.14.15, which doesn't impact the current kernel/initrd file naming), it will hopefully "just work"... if it is a more significant update (3.14 to 3.15, for example), we will have to edit the grub config and add pertinent entries. =====nullmailer package now in jessie===== To by delight, someone has ported nullmailer to jessie! So I can now resume collecting cron job outputs from all my systems. ======August 26th, 2014====== =====semester bootstrap===== Once again I found myself rediscovering the process of starting a new semester. Following will be an attempt at documenting the necessary steps: * Before gn is kicked over to the new semester, remove old LDAP group associations: **ldaptool flush | ldapmodify -x -W -D "cn=admin,dc=lair,dc=bits"** * Next, after you've verified the class lists are correct, generate the new user list: **genuserlist** (this functionality might be incorporated into **gn**). * Copy the **~/bin/tmp/newuser.list** file over to lab46db and run the **newuserbatch** script (needed a few updates since the NFS upgrade). * Populate LDAP groups: **ldaptool populate | ldapmodify -x -W -D "cn=admin,dc=lair,dc=bits"** * Create Opii: **mkopus** (on www) * Create Portfolios: **mkportfolio** (on www) * Create custom wiki sidebar: **gn sidebar** (on www) At this point we should be all set. ======August 28th, 2014====== =====Sokraits/Halfadder DRBD===== Seems I had the node-to-node authentication wrong, which was preventing the establishment of communications. I commented it out and things lit up just fine. =====sokraits/Xen 4.4===== A recent **aptitude upgrade** brought in Xen 4.4... among other things, 'xm' has been disabled, and although I could re-enable it, 'xl' is purportedly the future, so I am going to take the opportunity and start using that. So far, the only file of note I have changed (and I'm actually not even sure it was necessary), was **/etc/default/xen**, which I have as follows: sokraits:~# cat /etc/default/xen # Configuration for Xen system # ---------------------------- # There exists several tool stacks to configure a Xen system. # … # Attention: You need to reboot after changing this! TOOLSTACK=xl I also added (again, is it necessary? It claims to be the default) the following to **/etc/xen/xl.conf**: device_model_version="qemu-xen" ====qemu-system-x86-64==== I did have to install **qemu-system-x86-64** in order to get VMs up and running on the Xen 4.4 server. Without it, I was experiencing: libxl: error: libxl_dm.c:1233:libxl__spawn_local_dm: device model /usr/lib/xen-4.4/bin/qemu-dm is not executable: No such file or directory libxl: error: libxl_dm.c:1371:device_model_spawn_outcome: (null): spawn failed (rc=-3) libxl: error: libxl_create.c:1186:domcreate_devmodel_started: device model did not start: -3 I found this link to be marginally helpful in solving the issue: * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733865 ======August 29th, 2014====== =====certs for client web access on lab46===== Some students were experiencing issues when dealing with secure http (https), some messages were claiming some lack of certificates. After some checking, it seemed I was indeed lacking some common certs. I installed the **ca-certificates** package and this seemed to resolve the issue. I also installed openssl on lab46. =====aptitude auto-remount of /tmp for no exec===== Seems a config change I made a while back is actually working... lab46:/etc/apt/apt.conf.d# cat 73_tmp DPkg::Pre-Invoke {"mount -o remount,exec /tmp";}; DPkg::Post-Invoke {"mount -o remount /tmp";}; lab46:/etc/apt/apt.conf.d# ^ [[haas/status/status_201407|Previous Month]] | ^ [[:haas:status|Current Month]] | ^ [[haas/status/status_201409|Next Month]] |