FreeBSD

FreeBSD is an advanced computer operating system used to power modern servers, desktops, and embedded platforms. http://www.freebsd.org

VirtualBox installation

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

Amazon AMI

Info severity logging

syslogd_enable="YES"

*.info /var/log/syslog

Example program

   1 #!/usr/bin/python
   2 import threading
   3 import time
   4 import os
   5 import syslog
   6 import datetime
   7 import sys 
   8 import signal
   9 
  10 def termHandler(signal,frame):
  11     print('Signal term caught')
  12     sys.exit(0)
  13     
  14 if __name__=="__main__":
  15     f=open('/var/run/beat.pid','wa')
  16     f.write('%d'%(os.getpid()))
  17     f.close()
  18     signal.signal(signal.SIGTERM,termHandler)    
  19     
  20     while True:
  21         syslog.syslog(syslog.LOG_INFO, "Beat %s"%(datetime.datetime.now()) )
  22         time.sleep(5)

Custom service

/home/vitor/beat.py

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

# PROVIDE: beat

. /etc/rc.subr

name=beat
rcvar=beat_enable
command="/usr/local/bin/python2"
command_args="/home/vitor/${name}.py &"

load_rc_config $name

run_rc_command "$1"

Give user permission to use su -

FreeBSD (last edited 2016-09-06 14:00:28 by localhost)