Полезные команды FreeBSD

18871

Полезные команды FreeBSD

Проверить соответствие установленного ПО с деревом портов (на предмет новых версий)

Системный администратор

[root@nas ~]# pkg_version -vL=
en-freebsd-doc-20090913             <   needs updating (port has 20100519)
ghostscript8-nox11-8.71_1           <   needs updating (port has 8.71_2)
sane-backends-1.0.20_6              <   needs updating (port has 1.0.21)

Узнать из какой директории портов ставилась программа

[root@nas ~]# pkg_info -o rtorrent-0.8.6_1
Information for rtorrent-0.8.6_1:


Origin:
net-p2p/rtorrent

Провести аудит установленного ПО

[root@nas ~]# portaudit -Fda
auditfile.tbz                                 100% of   61 kB   42 kBps
New database installed.
Database created: Thu May 27 19:55:00 NOVST 2010
0 problem(s) in your installed packages found.

Cменить шелл у пользователя

1. Смотрим доступные

[root@nas ~]# cat /etc/shells 
# $FreeBSD: src/etc/shells,v 1.5.36.1.2.1 2009/10/25 01:10:29 kensmith Exp $
#
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.


/bin/sh
/bin/csh
/bin/tcsh
/usr/local/bin/bash
/usr/local/bin/rbash

2. Меняем

[root@nas ~]# chsh -s csh pascal
chsh: user information updated

Посмотреть rc переменные скриптов автозапуска

[root@ca-blade-8-BSD ~]# /usr/local/etc/rc.d/rsyncd rcvar
# rsyncd
$rsyncd_enable=YES

Посмотреть сетевые соединения

[root@dio-archive ~]# sockstat -4 | grep 873 
root     rsync      6120  4  tcp4   *:873                 *:*

Посмотреть активность жестких дисков

# gstat

dT: 1.007s  w: 1.000s
 L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name
    0      0      0      0    0.0      0      0    0.0    0.0| acd0
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1a
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1b
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1c
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1d
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1e
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1f
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1g

Отслеживать параметры системы в реальном времени

# vmstat -w 3
 procs      memory      page                   disk   faults         cpu
 r b w     avm    fre   flt  re  pi  po    fr  sr mf0   in   sy   cs us sy id
 0 1 0    607M   184M   132   0   0   0   131   1   0   65 1236  771  0  0 100
 0 1 0    617M   180M  1518   0   0   0  1178   0   1   57 1893  725  1  0 98
 0 1 0    617M   180M     3   0   0   0     7   0   2   67  817  804  0  0 100
 1 1 0    617M   180M   118   0   0   0   108   0  97  104 5892  900  0  0 100
 0 1 0    617M   180M     1   0   0   0     6   0   1   52  498  614  0  0 100

Мониторинг загрузки сетевых интерфейсов

# systat -ifstat



              /0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
     Load Average


      Interface           Traffic               Peak                Total
            lo0  in      2.469 KB/s          2.469 KB/s            1.280 GB
                 out     2.469 KB/s          2.469 KB/s            1.280 GB


            em0  in     31.014 KB/s         48.655 KB/s            3.831 GB
                 out    20.426 KB/s         32.246 KB/s            2.314 GB

Определение занятого\свободного места на разделах

# df -h
Filesystem       Size    Used   Avail Capacity  Mounted on
/dev/mfid0s1a    9.7G    246M    8.7G     3%    /
devfs            1.0K    1.0K      0B   100%    /dev
/dev/mfid0s1d    4.8G     13M    4.4G     0%    /tmp
/dev/mfid0s1f    145G     96G     38G    72%    /usr
/dev/mfid0s1e     39G    1.5G     34G     4%    /var
/dev/mfid0s1g    129G     39G     80G    33%    /smb
#cd  = Сменить директорию (#cd /user/music)
#cd ~   = Переход в домашний каталог (так же как и просто #cd) 
#cd   ~otheruser = Переход в домашний каталог другого пользователя
#cd   - (минус) = Вернуться в предидущую директорию
#pwd =   Посмотреть текущее местонахождение
#ls = Покажет содержимое   директории
#cat = Показывает содержимое файла
#echo =   Предназначенна для вывода параматров и перенаправление ввода/вывода
#head   = Посмотреть первые несколько строк файла (#head -n 10 - показать   первые 10 строк файла)
#tail = Посмотреть последние несколько   строк файла (#tail -n 10 - показать последние 10 строк файла)
 #df   -h = Инфо по дисковому пространству.
#last reboot =   Покажет историю перезагрузок.
#dmesg = Покажет сообщения ядра   полученные после перезагрузки.
#mkdir = Создает директорию
#mkdir   -p = Создает сразу несколько директорий (например   /root/newf1/newf2/newf3/newf4)
#rmdir = Удаляет директорию   (удаляет только пустую директорию)
#rm     =  Удаляет один   файл
#rm -r = Удаляет директорию и все содержимое (папки,   файлы)
#touch = Создает пустой файл. Если файл существует, то   тогда комманда touch меняет дату модификации файла.
#chown =   Сменить владельца и поменять права доступа на директорию. (#chown   username foldername)
#chown -R username foldername =   Сменить владельца на директорию и все её поддиректоии и файлы
#chgrp   = Изменить группу
#chmod = Изменяет права доступа для   файла/директории
    #chmod ugo +-= rwx (u-user; g-group; o-other)   (+allow; -deny; =add) (r-read; w-write; x-execute)
#chmod u+rwx   test.cf   = Разрешить пользователю "читать", "изменять" и   "выполнять" файл test.cf

Для работы с pkg_info при использовании ключа x нет необходимости указывать версию по, например:

%pkg_info -xo apache
Information for apache-2.2.15_9:


Origin:
www/apache22


%pkg_info -xD apache
Information for apache-2.2.15_9:


Install notice:
To run apache www server from startup, add apache22_enable="YES"
in your /etc/rc.conf. Extra options can be found in startup script.


Your hostname must be resolvable using at least 1 mechanism in
/etc/nsswitch typically DNS or /etc/hosts or apache might
have issues starting depending on the modules you are using.

Проверяем наличие библиотек в зависимостях определенного бинарника

$  ldd `which bash`
/usr/local/bin/bash:
        libncurses.so.7 => /lib/libncurses.so.7 (0x28101000)
        libintl.so.8 => /usr/local/lib/libintl.so.8 (0x28144000)
        libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x2814d000)
        libc.so.7 => /lib/libc.so.7 (0x28242000)
$ csh
% ldd `which bash`
/usr/local/bin/bash:
        libncurses.so.7 => /lib/libncurses.so.7 (0x28101000)
        libintl.so.8 => /usr/local/lib/libintl.so.8 (0x28144000)
        libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x2814d000)
        libc.so.7 => /lib/libc.so.7 (0x28242000)
%bash
[ooorc@ns ~]$ ldd `which bash`
/usr/local/bin/bash:
        libncurses.so.7 => /lib/libncurses.so.7 (0x28101000)
        libintl.so.8 => /usr/local/lib/libintl.so.8 (0x28144000)
        libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x2814d000)
        libc.so.7 => /lib/libc.so.7 (0x28242000)