= FreeBSD = FreeBSD is an advanced computer operating system used to power modern servers, desktops, and embedded platforms. http://www.freebsd.org * wget http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-amd64-dvd1.iso == VirtualBox installation == * Start VirtualBox * New * Name FreeBSD_10_3 * Choose type BSD * version FreeBSD 64 bit * RAM 512 MB * Create virtual disk dynamic VDI with Fixed size 8 GB * Create * Start VM * Choose ISO FreeBSD-10.3-RELEASE-amd64-dvd1.iso * Start * option 1 multi boot * Install * keymap portuguese iso-8859-1 accent keys * continue with pt.iso.acc.kbd keymap * hostname: freebsd * Distribution select: all * Partitioning: auto * Partition: entire disk * Partition scheme: GPT guid partition table * Partition editor, finish, commit * root password: ******** * Network config: em0 * configure ipv4: yes * use dhcp: yes * configure ipv6: no * search: * ipv4 dns1: 8.8.8.8 * ipv4 dns2: 8.8.4.4 * is cmos clock set to utc: yes * region: europe * country: portugal mainland * services: sshd dumpdev * add users? yes * username: vitor * several enters * add other account: no * exit, apply config and exit installer * manual configuration? no * reboot * release ISO * login as root {{{ df -h traceroute www.sapo.pt pkg install wget # install package management tool ? yes proceed with action: yes pkg info cc --version # https://www.freebsd.org/doc/handbook/pkgng-intro.html pkg search jdk pkg install openjdk8-8.92.14_3 #203 MB # add lines to fstab ... java -version pkg search python pkg install python27-2.7.12 # 67MB python2.7 --version pkg install mongodb-2.6.12 #203MB pkg install rabbitmq-3.6.2 # 157MB df -h # avail 3.2 GB pkg install bash pkg install xorg startx pkg install windowmaker-0.95.7_2 # 262MB echo "exec /usr/local/bin/wmaker" > ~/.xinitrc startx }}} == Get and burn ISO == * wget http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-amd64-dvd1.iso * modprobe sg # for cdrecord * cdrecord -scanbus #identify the device DVDRAM LG GP08NU6B * cdrecord -dev=6,0,0 -pad -data FreeBSD-10.3-RELEASE-amd64-dvd1.iso * # eject the DVD after burning * eject * cd / * mount /dev/sr0 /mnt/cdrom #check DVD * cd /mnt/cdrom/packages/FreeBSD:10:amd64/All * ls * ls -lah | wc -l # 1070 packages python gnome3 kde, qt, mysql, firefox, subversion, xorg, perl, gsl * cd / * umount /mnt/cdrom == Amazon AMI == * https://aws.amazon.com/marketplace/pp/B00KSS55FY/ == Info severity logging == * add to /etc/rc.conf {{{ syslogd_enable="YES" }}} * touch /var/log/syslog * Add to /etc/syslog.conf {{{ *.info /var/log/syslog }}} Example program {{{#!highlight python #!/usr/bin/python import threading import time import os import syslog import datetime import sys import signal def termHandler(signal,frame): print('Signal term caught') sys.exit(0) if __name__=="__main__": f=open('/var/run/beat.pid','wa') f.write('%d'%(os.getpid())) f.close() signal.signal(signal.SIGTERM,termHandler) while True: syslog.syslog(syslog.LOG_INFO, "Beat %s"%(datetime.datetime.now()) ) time.sleep(5) }}} == Custom service == /home/vitor/beat.py {{{ #!/usr/bin/python import threading import time import os import syslog import datetime import sys import signal def termHandler(signal,frame): print('Signal term caught') sys.exit(0) if __name__=="__main__": f=open('/var/run/beat.pid','wa') f.write('%d'%(os.getpid())) f.close() signal.signal(signal.SIGTERM,termHandler) while True: syslog.syslog(syslog.LOG_INFO, "Beat %s"%(datetime.datetime.now()) ) time.sleep(5) }}} In /etc/rc.conf {{{ beat_enable="YES" }}} /etc/rc.d/beat {{{ }}}