Начинать надо с FreeBSD Handbook
Проект по переводу документации FreeBSD www.freebsd.org.ua



systat -ifstat 10
iftop


smartctl -A /dev/da3
233 Unknown_Attribute   0x0032  096  096  000   Old_age   Always -  0
   233-й показывает, сколько процентов диска осталась в живых (not bad block)

  9 Power_On_Hours      0x0032  100  100  000   Old_age   Always - 24534
   9-й показывает, сколько часов диск был включен

при среднем темпе записи на диск 0.8 Mb/сек ~ 70 Gb/день,
300Gb диск будет иметь около 100 оверврайтов за год

Предположительно ячейки выдерживают 3-4 тысячи циклов overwrite


sudo
bash
zip
lsof
wget
nmap
thttpd (лечить)
rar
unrar



net.inet.tcp.recvbuf_auto=1
net.inet.tcp.recvbuf_inc=131072
net.inet.tcp.recvbuf_max=1048576
net.inet.tcp.sendbuf_auto=1
net.inet.tcp.sendbuf_inc=131072
net.inet.tcp.sendbuf_max=1048576
net.inet.tcp.maxtcptw=102400

http://alextutubalin.livejournal.com/305277.html

/etc/sysctl.conf:

net.core.optmem_max=1048576
net.ipv4.udp_rmem_min=81920
net.ipv4.udp_wmem_min=81920
net.core.wmem_max=16777216
net.core.rmem_max=16777216
net.core.wmem_default=16777216
net.core.rmem_default=16777216



/etc/rc.conf :

static_routes="net1 net2"
route_net1="-net 192.168.0.0/24 192.168.0.1"
route_net2="-net 192.168.1.0/24 192.168.1.1"



F1
boot: 0:ad(2f)



 Если обычный ftpd, то

  прописать ему шелл '/bin/date' или '/usr/bin/true' и вписать его в
 '/etc/shells'
 - вписать его в '/etc/ftpchroot'

  Для proftpd вписать в /usr/local/etc/proftpd.conf

DefaultRoot ~
# AllowStoreRestart    on
# AllowRetrieveRestart on
#     DirFakeUser         on ~
#     UseFtpUsers         off
#     MaxClientsPerHost   5



(в процессе установки вс? проходит гладко).

man sysinstall
man newfs



/etc/rc.*       - это системные, их - не трогать!
/usr/local/etc/rc.d/*.sh        - вот сюда будут попадать ваши.




      fsck_y_enable="YES"
      в /etc/rc.conf



tcp_wrapper встроен в inetd

man inetd
man 5 hosts_access
man 5 hosts_options

управляется через /etc/hosts.allow



vipw



vi /etc/rc.conf

# hostname  new_hostname
раскомментировать
hostname="new_hostname"




man ndc
ndc reload



Классическая схема для BSD-ядер
http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html
http://freebsd.org.ru/how-to/kernelconfig.html

 cd /usr/src/sys/i386/conf/
 cp GENERIC YOURKERNEL
 /usr/sbin/config YOURKERNEL
 cd ../compile/YOURKERNEL

 make depend && make

# теперь вздрогнул, подумал, и...

 make install




http://www.freebsd.org/cgi/query-pr.cgi?pr=53228


     Intel D865GBFL motherboard (AA Revision C25843-401)
        Integrated LAN with Intel 82562EZ PLC
     2.4C GHz Pentium 4 processor (800MHz, HT)
     FreeBSD 4.8-RELEASE -- GENERIC kernel
        (although, would presumably happen with any kernel with the current
        fxp driver)

     Version info from if_fxp.c:

     * $FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.110.2.28 2003/01/28 11:17:33 sanpei Ex
     p $

     Relevant output from 'pciconf -lv':

     none4@pci1:8:0: class=0x020000 card=0x302f8086 chip=0x10508086 rev=0x01 hdr=0x00
         vendor   = 'Intel Corporation'
         class    = network
         subclass = ethernet


Description

     The fxp driver fails to recognize the integrated Intel 82562EZ LAN on the
     Intel D865GBFL motherboard.  If my diagnosis is correct, this is the result
     of this version of the 82562 chip reporting a new PCI "chip id", as has
     happened before (see kern/39974).


How-To-Repeat

     Install 4.8-RELEASE on a system with an Intel D865GBFL motherboard (the AA
     Revision on the board in question was C25843-401).  During and after
     installation, the kernel (specifically the fxp driver) fails to detect the
     on-board Intel 82562 LAN.


Fix

     Add an entry to the fxp_ident_table array in sys/dev/fxp/if_fxp.c for the
     new PCI chip id and re-build the kernel.  Here's a patch:

     --- if_fxp.c    Wed Jun 11 16:36:59 2003
     +++ if_fxp.c-patched    Wed Jun 11 16:36:30 2003
     @@ -165,6 +165,7 @@
          { 0x103C,          "Intel Pro/100 Ethernet" },
          { 0x103D,          "Intel Pro/100 Ethernet" },
          { 0x103E,          "Intel Pro/100 Ethernet" },
     +    { 0x1050,          "Intel Pro/100 Ethernet" },
          { 0x1059,          "Intel Pro/100 M Mobile Connection" },
          { 0,               NULL },
      };





IDE-диски:

 /dev/ad0 (нумерация с 0)
 /dev/ad1 ...

SCSI-диски:

 /dev/da0 (нумерация с 0)
 /dev/da1 ...

Разделы на диске (они же - слайсы)
Для разметки используется fdisk с дикими ключами

 /dev/ad0s1 (нумерация с 1-го)
 /dev/ad0s2 ...

BSD-subsections внутри раздела
Для разметки используется disklabel с дикими ключами

 /dev/ae0s2е (нумерация от е до h, abcd - служебные подсекции)
 /dev/ae0s2ф ...

Впрочем,   вручную   эти   команды   совершенно  неоперабельны,  вместо  них
используется административный фронтенд /stand/sysinstall


USB-Флоппи-диски (прикидываются SCSI-дисками)

 /dev/de0

IDE-DVD/CDROM

 /dev/acd0c

Типы файловых систем

 ufs
 ufs2 (начиная с 5.1 RELEASE)
 iso9660
 msdos



Конфигуратор

 /stand/sysinstall

Просто конфигур

 /etc/rc.conf



Посмотреть
 sysctl -a|grep ip

Задать в онлайне
 sysctl   net.inet.icmp.icmplim=400

Для постоянной установки записать в  /etc/sysctl.conf

 переменная=значение

net.inet.icmp.icmplim=400
kern.maxfiles=32768

net.inet.ip.portrange.randomized=0
net.inet.ip.portrange.first=49152
net.inet.ip.portrange.last=65535

kern.ipc.somaxconn=4096

Readonly параметры поменять через  /etc/sysctl.conf не удастся.
Их мы записываем в

/boot/loader.conf
kern.ipc.nmbclusters="32768"
kern.ipc.nmbufs="131072"


Часть параметров задается в /usr/src/sys/i386/config/LINT

А можно дописать их в YOURKERNEL

 Например вполне разумно смотрятся
maxusers        512
options         NMBUFS=16384
options         NMBCLUSTERS=32768




 coretemp # поставить
 /sys/modules/coretemp$ sysctl -a | grep temperat

 lmmon из портов.
 consolehm
 healthd


Makefiles для установки пакетов лежат в /usr/ports
Для инсталляции пакета xyz:

  locate xyz | grep /usr/ports # определяем его портовую директорию
  cd /usr/ports/whereitis/xyz  # и переходим в нее
  make install
  если не хотим качать пакет из интернета - заранее кладем его в
  /usr/ports/distfiles


     или же просто

export PACKAGEROOT='ftp://ftp.*ближайшее зеркало*.freebsd.org'
pkg_add -r package_short_name #  (имя папки в портах, как правило)

А еще есть
/usr/ports/sysutils/portupgrade


ДЛя начала его надо просто установить. Для этого
/sbin/sysinstall
  Configuration
    Distribution
       Ports      и устанавливаем их из сети

Потом собираем и ставим cvsup
/usr/ports/net/cvsup-without-gui
make install
man cvsup # и внимательно читаем

Затем создаем файл ~/sup/ports-supfile # что брать и откуда
###########################################################
*default host=cvsup6.ru.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=.
*default release=cvs delete use-rel-suffix compress
*default compress
ports-all
###########################################################

Затем создаем файл ~/sup/refuse # список, чего не брать
doc/da_*
doc/de_*
doc/es_*
doc/el_*
doc/fr_*
doc/it_*
doc/ja_*
doc/nl_*
doc/no_*
doc/pl_*
doc/pt_*
doc/ru_*
doc/sr_*
doc/zh_*
ports/arabic
ports/chinese
ports/french
ports/german
ports/hebrew
ports/hungarian
ports/japanese
ports/korean
ports/polish
ports/portuguese
# ports/russian
ports/ukrainian
ports/vietnamese
# ports/x11
# ports/x11-clocks
# ports/x11-fm
# ports/x11-fonts
# ports/x11-servers
# ports/x11-toolkits
# ports/x11-wm
# ports/x11-themes
##########################################
и наконец

cvsup ~/sup/ports-supfile # что брать и откуда




Одноразовая операция

ifconfig fxp0 alias 1.2.3.4 netmask 0xffffffff  # добавить
ifconfig fxp0 -alias 1.2.3.4                    # убрать

На постоянной основе:
/etc/rc.conf

ifconfig_fxp0_alias0="inet 81.19.6.18 netmask 0xffffffff"
ifconfig_fxp0_alias1="inet 81.19.6.19 netmask 0xffffffff"




 флаг schg -- system immutable

 ls -lo /path/to/file   # посмотреть

 chflags 0 /path/to/file # сбросить




 Подробнее - тут
 http://www.opennet.ru/openforum/vsluhforumID1/68600.html

SCSI  сами  лечат(ремапят)  свои  bad-блоки.  Начиная  с 4.2 из FreeBSD-fsck
убрали софтверный ремапинг. Но.  Аппаратный  авторемапинг  диска  происходит
только при записи данных в бэд-блок.

Можно  "положить"  поверх  bad-блоков  файлики (командой badset) и ничего не
лечить.

Можно провести ремапинг в режиме "почти-readonly"  DOS-утилитой mhdd32

Можно перепрописать диск командой dd

Как сделать предварительный бэкап? Ведь dd нарвавшись на bad-block прерывает
работу.  Нас  спасет  noconv=noerr,sync  (не  останавливаться  при   ошибке,
непрочитанные  блоки  заменять  нулями).  Размер  блока  имеет  смысл делать
кратным блоку fs, чтоб быстрее работало,  или  512  байт  -  чтобы  обнуляло
_только_ битые блоки.

# делаем бэкап
dd if=/dev/da4s1e bs=8k of=/path/file conv=noerror,sync

# "лечим-калечим", возможно, несколько раз
dd if=/dev/random bs=8k of=/dev/da4s1e conv=noerror,sync

# восстанавливаемся с бэкапа
dd if=/path/file bs=1024k of=/dev/da4s1e




With  SCSI drives, the drive should be capable of re-mapping these automati-
cally. However, many drives are shipped with this feature disabled, for some
mysterious reason...

To  enable this, you will need to edit the first device page mode, which can
be done on FreeBSD by giving the command (as root)

    # scsi -f /dev/rsd0c -m 1 -e -P 3


С IDE-шными дисками может пройти такой вариант

fsck -y /dev/ad0s1e
  ** /dev/ad0s1e
  ** Last Mounted on /home/new
  ** Phase 1 - Check Blocks and Sizes
  CANNOT READ: BLK 204513248
  UNEXPECTED SOFT UPDATE INCONSISTENCY

mount -f /dev/ad0s1e /fs
mkdir /fs1/BAD-DIR
badsect /fs1/BAD-DIR 204513248
umount /fs1
fsck -y  /dev/ad0s1e

После  ремонта  битые  сектора  будут лежать в порожденных файлах, с именами
образованными из номеров битых секторов, удалять которые конечно-же не надо.
Фокус  работает  только  если  битые  сектора приходятся на блоки данных или
free-list


mount -f /dev/ad0s1e /fs1
ls -al /fs1/BAD-DIR
-rw-r--r-- 1 root wheel 1428509 Sep 17 2004   204513248



- выписываешь fstab на листок
- выполняешь boot0cfg -v ad0 (смотрим стандартный загрузчик или bootmanager)


boot0cfg -o noupdate -s 1 /dev/ad0

noupdate - не позволять бутменеджеру менять умолчание загрузчика, и помнить слайс 1
-m 3   зачем???

- fdisk -B ad0 (грохаем бутменеджер)
- bsdlabel ad0s1 > save-old.label (сохраняем на всякий случай разбивку)
- bsdlabel -B ad0s1 (прописываем стандартный загрузчик)

если все ok, потом можешь поставить бутменеджер.
попробуй заново прописать стандартный загрузчик:

# bsdlabel -w -B ad0s1

# man bsdlabel (покажет где берется загрузчик ls -la /boot/boot
/boot/boot    Default boot image

# man 8 boot
...
     /boot.config  parameters for the boot blocks (optional)
     /boot/boot1   first stage bootstrap file
     /boot/boot2   second stage bootstrap file
     /boot/loader  third stage bootstrap
     /boot/kernel/kernel
                   default kernel

-------------------------------------------

 поплясал вокруг сервера, побил в бубен и добавил строку в ядро

options      ROOTDEVNAME=\"ufs:ar0s1a\"

все заработало



Популярность: 50, Last-modified: Fri, 30 Jan 2015 18:07:59 GMT