FreeBSD

от ILuxWiki

Направо към: навигация, търсене


"Microsoft, where do you wanna go today?"
"Linux, where do you wanna go tomorow?"
"FreeBSD, are you guys coming or what?"

Съдържание

Официална страница на проекта


Upgrade от една версия на друга

FreeBSD включиха една много полезна програма в base - freebsd-update, с нейна помощ се правят освен binary updates на base системана, но може да преминавате от един RELEASE на друг. Това става много лесно:

 freebsd-update -r 8.2-RELEASE upgrade

Единствената досада е, че се прави анализ на промените и всички файлове в etc/ дават конфликти заради version тага от CVS-а. Тва лесно може да се избегне с изпълняването на тази команда в etc

 find . -type f -exec /usr/bin/perl -p -i -e s/\# \$FreeBSD:.*Exp \$\n//g {} ;

Работа/Инсталиране на допълнителни пакети

Търсене на пакет

  • търсене в името на пакета
 cd /usr/ports/
 make search name=apache
  • търсене по ключова дума
 cd /usr/ports/
 make search key=apache


Инсталиране на пакет

 pkg_add -r apache
 portinstall apache

Embeded системи

Полезни документи и друга информация


Полезни страници

Разни

запазване / възстановяване на file permissions

запазване на permissions

 cd /etc/
 mtree -c > etc.mtree

въстановяване на permissions:

 mtree -f etc.mtree -U

увеличаване лимита на паметта(стандартно е 512M)

echo 'kern.maxdsiz="1024M"' >> /boot/loader.conf
kern.maxdsiz="1073741824"
kern.dfldsiz="891289600"


настройки на boot.ini - NT bool loader за да стартира и freebsd

 [boot loader]
 timeout=10
 default=C:\fbsd.boot
 [operating systems]
 C:\fedora.boot="Fedora Core 3"
 C:\fbsd.boot="FreeBSD 5.3"
 C:\obsd.boot="OpenBSD 3.6"
 multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect


при инсталация на xcolorsel

*******************************************************************
If you want Xaw3d to replace the default Athena Widget Set
so most X applications will get a 3-D look, do this (as root):

cd /usr/X11R6/lib
mv libXaw.so.8 libXaw2d.so.8
ln -s libXaw3d.so.8 libXaw.so.8
*******************************************************************

Кърнъл debug:

# Debug Options
makeoptions     DEBUG=-g
options         DDB
options         KDB
options         BREAK_TO_DEBUGGER
options         INVARIANT_SUPPORT
options         INVARIANTS
options         WITNESS
options         WITNESS_KDB
options         WITNESS_SKIPSPIN

... and the following to the rc.conf ...

dumpdev="/dev/amrd0s1h"
dumpdir="/var/crash"

компилиране на binary пакети /usr/ports/packages

cd /usr/ports
mkdir packages
make search name=pkgname
cd /usr/ports/category/pkgname
make package-recursive NO_INSTALL=YES

Router Performance

bsd# cat /boot/loader.conf

 kern.ipc.nmbclusters="262144"
 vm.kmem_size="536870912"
 vm.kmem_size_max="536870912"
 sysctl -w kern.random.sys.harvest.interrupt=0
 sysctl -w kern.random.sys.harvest.ethernet=0
 kern.polling.enable=1
 kern.ipc.nmbcluster=32768
 kern.ipc.maxsockbufs=2097152
 kern.ipc.somaxconn=8192
 kern.maxfiles=65536
 kern.maxfilesperproc=32768
 net.inet.tcp.delayed_ack=0
 net.inet.tcp.sendspace=65535
 net.inet.udp.recvspace=65535
 net.inet.udp.maxdgram=57344
 net.local.stream.recvspace=65535
 net.local.stream.sendspace=65535

Fileserver performance

 sysctl -w kern.ipc.nmbclusters=1024
 sysctl -w kern.ipc.maxsockets=1024

Клониране / копиране на дискове

Има няколко начина за клониране на дисковете, най-работещия разбира се е използването на [dd], може да използваме cp или rsync. FreeBSD предлага и още един метод с dump / restore

 dump -L -0 -f- $fs | (cd /mnt/$fs && restore -r -v -f-);
 #!/bin/sh
 # todor.dragnev at gmail.com aka t0d0r
 # this script mirror entire disk from root fs to /mnt fs
 # in /mnt must mount all new partitions
 
 for fs in / /var /tmp /usr; do 
   dump -L -0 -f- $fs | (cd /mnt$fs && restore -r -v -f-);
 done

Създаване на пакет от вече инсталирани програми

Това е интересен способ, на който попаднах съвсем случайно и все още не мога приема късното му научаване..., но както се казва "човек се учи докато е жив"

Ситуация Инсталира сте nmap, на една машина искате да инсталирате същия пакет на друга, но не ви се компилира всично отново, ето решението:

 mkdir /tmp/nmap
 cd /tmp/nmap
 pkg_create -R -b nmap\*


 */tmp/nmap# ls
 lua-5.1.4.tbz         pcre-7.9.tbz
 nmap-5.21.tbz         pkg-config-0.23_1.tbz

Това ще създаде всички необходими пакети, остава само да ги копирате там където ви трябват и да ги инсталирате с pkg_add

Лични инструменти