MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Revision 13 as of 2016-09-06 14:04:14
  • FreeBSD

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: <empty>

  • 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

   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

   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)

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 -

  • pw user mod userxyz -G wheel
  • su -
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01