<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Аникин: заметки с тегом Freebsd</title>
<link>https://anikin.pw/tags/Freebsd/</link>
<description>Блог об администрировании Linux, BSD и не только</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.3 (v4134)</generator>

<itunes:subtitle>Блог об администрировании Linux, BSD и не только</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Прозрачный nat нескольких сетей на шлюзе FreeBSD через setfib</title>
<guid isPermaLink="false">105</guid>
<link>https://anikin.pw/all/prozrachny-nat-na-shlyuze-freebsd-cherez-setfib/</link>
<pubDate>Sat, 03 Jul 2021 17:46:27 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/prozrachny-nat-na-shlyuze-freebsd-cherez-setfib/</comments>
<description>
&lt;p&gt;Скрипт создания таблицы с адресами&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;#!/bin/sh

rm /tmp/reestr.txt
rm /tmp/reestrbsd.txt
/usr/local/bin/wget -O - https://reestr.rublacklist.net/api/v2/ips/json|tr ',' '\n'|tr -d '&amp;quot;'|tr -d ']'|tr -d '[' &amp;gt; /tmp/reestr.txt
grep -E -o &amp;quot;([0-9]{1,3}[\.]){3}[0-9]{1,3}&amp;quot; /tmp/reestr.txt &amp;gt; /tmp/reestrbsd.txt

file=&amp;quot;/tmp/reestrbsd.txt&amp;quot;
ipfw table 1 flush
while read line
do
ipfw table 1 add $line
done &amp;lt; $file&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Фаервол:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;#!/bin/sh -

# прописываем роут для setfib 1
setfib 1 route del default
setfib 1 route add default -interface tun1

fwcmd=&amp;quot;/sbin/ipfw&amp;quot;
${fwcmd} -f flush
${fwcmd} -f pipe flush
${fwcmd} nat 1 delete
${fwcmd} nat 2 delete

if_local1=&amp;quot;re0&amp;quot; # локалка
if_inet1=&amp;quot;ng0&amp;quot; # интерфейс интернета
if_rkn=&amp;quot;tun1&amp;quot;  # интерфейс openvpn

       # заруливаем все обращения к ip из таблицы в setfib 1
       ${fwcmd} add setfib 1 ip from any to table\(1\) recv ${if_local1}

       # основной нат
       ${fwcmd} nat 1 config if ${if_inet1} same_ports
       ${fwcmd} add nat 1 ip from any to any via ${if_inet1}

       # нат для ip из таблицы
       ${fwcmd} nat 2 config if ${if_rkn} same_ports
       ${fwcmd} add nat 2 ip from any to any via ${if_rkn}

       ${fwcmd} add allow all from any to any&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>PXE сервер на FreeBSD</title>
<guid isPermaLink="false">95</guid>
<link>https://anikin.pw/all/pxe-server-na-freebsd/</link>
<pubDate>Sun, 01 Sep 2019 18:49:26 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/pxe-server-na-freebsd/</comments>
<description>
&lt;p&gt;В конфиг  dnsmasq добавляем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;dhcp-option-force=66,192.168.0.1   # ip сервера
dhcp-option-force=67,gpxelinux.0   # загрузчик&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Перезапускаем dnsmasq&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;service dnsmasq restart&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Создаем каталог для pxe&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;mkdir /usr/local/pxe
mkdir /usr/local/pxe/pxelinux.cfg&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Устанавливаем tftp&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;pkg install tftp-hpa&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В /etc/inetd.conf добавляем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;tftp  dgram  udp  wait  root  /usr/local/libexec/in.tftpd  in.tftpd -p -s /usr/local/pxe&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вписываем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;echo 'inetd_enable=&amp;quot;YES&amp;quot;' &amp;gt;&amp;gt; /etc/rc.conf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Запускаем inetd&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;/etc/rc.d/inetd start&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Скачиваем и распаковываем syslinux&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;fetch http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.05.tar.gz
tar -xf syslinux-4.05.tar.gz&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Копируем файлы&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;cd syslinux-4.05
cp gpxe/gpxelinux.0 /usr/local/pxe/
cp com32/menu/menu.c32 /usr/local/pxe/
cp com32/menu/vesamenu.c32 /usr/local/pxe/
cp com32/modules/reboot.c32 /usr/local/pxe/
cp com32/modules/chain.c32 /usr/local/pxe/
cp memdisk/memdisk /usr/local/pxe/&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Образы будем грузить по http, т.к tftp очень медленный. Ставим nginx.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;pkg install nginx&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Создаем каталог с образами и симлинк на него в nginx&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;mkdir  /usr/local/pxe/images/
ln -s /usr/local/pxe/images/ /usr/local/www/nginx/images&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вписываем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;echo 'nginx_enable=&amp;quot;YES&amp;quot;' &amp;gt;&amp;gt; /etc/rc.conf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;И стартуем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;service nginx start&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Заливаем наши образы в /usr/local/pxe/images/&lt;/p&gt;
&lt;p&gt;В файле /usr/local/pxe/pxelinux.cfg/default создаем конфиг меню с нашими образами. У меня получился такой&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;ui menu.c32
menu title PXE Boot Menu

label boothdd
  menu label Boot from Hard Drive
  localboot 0
 
label memtest
  menu label memtest
  kernel memdisk
  initrd http://192.168.0.1/images/Memtest86-4.3.7.iso
  append iso raw

label mfsbsd
  menu label mfsbsd
  kernel memdisk
  initrd http://192.168.0.1/images/mfsbsd-12.0-RELEASE-amd64.iso
  append iso raw

label debian-10
  menu label debian-10
  kernel http://192.168.0.1/images/debian10/linux
  append vga=normal initrd=http://192.168.0.1/images/debian10/initrd.gz  --

label rescue
  menu label rescue
  kernel http://192.168.0.1/images/debian10/linux
  append vga=normal initrd=http://192.168.0.1/images/debian10/initrd.gz  rescue/enable=true --&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;linux и initrd.gz для установщика debian можно взять &lt;a href="https://mirror.yandex.ru/debian/dists/buster/main/installer-amd64/current/images/netboot/debian-installer/amd64/"&gt;тут&lt;/a&gt;&lt;br /&gt;
Теперь можно пробовать грузится с PXE, если все сделали правильно то появится меню с выбором загружаемого образа.&lt;/p&gt;
</description>
</item>

<item>
<title>Прозрачный nat нескольких сетей FreeBSD</title>
<guid isPermaLink="false">90</guid>
<link>https://anikin.pw/all/prozrachny-nat-na-shlyuze-freebsd/</link>
<pubDate>Tue, 15 Jan 2019 13:07:12 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/prozrachny-nat-na-shlyuze-freebsd/</comments>
<description>
&lt;p&gt;&lt;b&gt;Этот способ устарел. Лучше делать &lt;a href="https://anikin.pw/all/prozrachny-obhod-blokirovok-na-shlyuze-freebsd-cherez-setfib/"&gt;вот так&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;В первую очередь нужно поднять OpenVPN клиента через который мы будем пускать адреса в обход. В конфиге клиента следует закомментировать диррективу redirect-gateway, чтобы основной траффик у нас шел через провайдера.&lt;br /&gt;
Создаем скрипт который загрузит заблокированные ip в таблицу ipfw&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;#!/bin/sh

rm /root/bin/reestr.txt
/usr/local/bin/wget -O - https://api.reserve-rbl.ru/api/v2/ips/json|tr ',' '\n'|tr -d '&amp;quot;'|tr -d ']'|tr -d '['  &amp;gt; /root/bin/reestr.txt
file=&amp;quot;/root/bin/reestr.txt&amp;quot;

ipfw table 1 flush
while read line
do
ipfw table 1 add $line
done &amp;lt; $file

file=&amp;quot;/root/bin/useriplist&amp;quot; # В этот файл можно вписать свои ip которые тоже нужно пустить через VPN
while read line
do
ipfw table 1 add $line
done &amp;lt; $file&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Запустим natd на порту 8673&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;/sbin/natd -a 10.8.1.6 -p 8673&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Зарулим все ip из таблицы 1 в VPN&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lan=&amp;quot;192.168.0.0/24&amp;quot; #локалка
vpnip=&amp;quot;10.8.1.6&amp;quot; #ip vpn интерфейса
vpngw=&amp;quot;10.8.1.7&amp;quot; #vpn шлюз
ipfw add divert 8673  ip from ${lan},${vpnip} to table\(1\)
ipfw add fwd ${vpngw}  ip from ${vpnip} to table\(1\)
ipfw add divert 8673  ip from table\(1\) to ${vpnip}&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Ошибка при установке фряхи через bsdinstall</title>
<guid isPermaLink="false">70</guid>
<link>https://anikin.pw/all/oshibka-pri-ustanovke-fryahi-cherez-bsdinstall/</link>
<pubDate>Tue, 29 Nov 2016 16:38:57 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/oshibka-pri-ustanovke-fryahi-cherez-bsdinstall/</comments>
<description>
&lt;p&gt;При установке freebsd на сторонний носитель с помощью bsdinstall после разметки диска и скачивания архива получаем ошибку&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;Error while fetching file:///usr/freebsd-dist/MANIFEST&amp;quot; - no such file or directory&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;идем на &lt;a href="ftp://ftp.freebsd.org/pub/FreeBSD/releases/"&gt;ftp://ftp.freebsd.org/pub/FreeBSD/releases/&lt;/a&gt;&lt;br /&gt;
Выбираем платформу, затем версию фряхи, в общем идем по каталогам. И получаем ссылку на файл, например для freebsd 11.0 amd64:&lt;br /&gt;
&lt;a href="ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/11.0-RELEASE/MANIFEST"&gt;ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/11.0-RELEASE/MANIFEST&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Скачиваем файл в /usr/freebsd-dist на текущей системе и снова запускаем bsdinstall.&lt;/p&gt;
</description>
</item>

<item>
<title>Простая установка FTP-сервера на FreeBSD.</title>
<guid isPermaLink="false">52</guid>
<link>https://anikin.pw/all/prostaya-ustanovka-ftp-servera-na-freebsd/</link>
<pubDate>Wed, 11 Mar 2015 14:28:26 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/prostaya-ustanovka-ftp-servera-na-freebsd/</comments>
<description>
&lt;p&gt;На самом деле по умолчанию во freebsd уже установлен ftp-сервер, нам нужно его только сконфигурировать.&lt;br /&gt;
Выполняем для добавления запуска ftp в /etc/rc.conf.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# echo 'ftpd_enable=&amp;quot;YES&amp;quot;' &amp;gt;&amp;gt; /etc/rc.conf
# echo 'ftpd_flags=&amp;quot;-l -l&amp;quot;' &amp;gt;&amp;gt; /etc/rc.conf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Далее смотрим файл /etc/ftpusers, тут указаны пользователи которым запрещён доступ к ftp.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# cat /etc/ftpusers&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;При необходимости редактируем его.&lt;br /&gt;
Затем чтобы разрешить доступ пользователя к каталогу выполним.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# echo 'user /var/www/site.ru' &amp;gt;&amp;gt; /etc/ftpchroot&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Где &lt;i&gt;user&lt;/i&gt; — существующий на сервере пользователь, а  /&lt;i&gt;var/www/site.ru&lt;/i&gt; — его каталог.&lt;br /&gt;
Запускаем ftp-сервер&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# /etc/rc.d/ftpd start&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;И пробуем подключится с логином и паролем user.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Р.S.:&lt;/b&gt; Если у user в качестве shell используется /sbin/nologin, то подключение не произойдет. FTP-клиент сообщит что-то типа:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;access denied&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;а в логах сервера будет:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;ftpd: connection from 10.8.0.1 (10.8.0.1)
ftpd: FTP LOGIN REFUSED FROM 10.8.0.1, user&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Проверить какой shell используется для юзера можно командой:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# pw usershow user&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В этом случае нам нужно создать /sbin/nologin-ftp и прописать его у пользователя вместо /sbin/nologin. Делается это очень просто:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# echo '/sbin/nologin-ftp' &amp;gt;&amp;gt; /etc/shells
# ln -s /usr/sbin/nologin /sbin/nologin-ftp
# pw usermod user -s /sbin/nologin-ftp&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Теперь подключение должно происходить без проблем.&lt;/p&gt;
</description>
</item>

<item>
<title>Перенос FreeBSD на другой жесткий диск с помощью clonehdd.</title>
<guid isPermaLink="false">37</guid>
<link>https://anikin.pw/all/perenos-freebsd-na-drugoy-zhestkiy-disk/</link>
<pubDate>Mon, 06 Oct 2014 13:51:19 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/perenos-freebsd-na-drugoy-zhestkiy-disk/</comments>
<description>
&lt;p&gt;В моей домашней файлопомойке-торрентокачалке в один прекрасный день smartctl показал, что диск «помирает». Соответственно диск пришлось менять. А т.к raid’а там нет, то вариантов было 2: либо полностью устанавливать и настраивать систему на новом диске, либо каким-то образом попытаться перенести ОС с неисправного диска на новый. Естественно я стал искать решения по второму варианту, т.к настраивать все заново мне не хотелось.&lt;br /&gt;
Для переноса я использовал утилиту clonehdd, огромным плюсом этой утилиты является, то что она может перенести полностью установленную freebsd даже на диск другого размера. Для меня это было критично, т.к для замены в «закромах» мной был найден диск меньшего размера, чем стоял изначально. Т.к изначально скриншоты я не делал, скриншоты для статьи пришлось делать в виртуалке.&lt;br /&gt;
Установим clonehdd. Утилита есть в портах, установим&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# whereis clonehdd
clonehdd: /usr/ports/sysutils/clonehdd
# cd /usr/ports/sysutils/clonehdd
# make install clean&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Или устанавливаем из пакетов&lt;br /&gt;
Для старых версий freebsd:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# pkg_add -r clonehdd&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Для новых версий:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# pkg install clonehdd&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;img src="https://anikin.pw/pictures/---2014-10-05-15:18:49.png" width="721" height="449" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Затем выключаем тачку, подключаем новый диск и загружаемся. Теперь у нас подключено 2 диска:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;ada0 - диск с системой
ada1 - новый диск на который нужно перенести нашу ОС&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Перенести все довольно просто одной командой. Правда процесс довольно длительный(у меня он занял около 12 часов) и если работа ведется по ssh, то запускать лучше в screen. Запустим клонирование диска:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# clonehdd -src=ada0 -dst=ada1 -swap=1024 -force&lt;/code&gt;&lt;/pre&gt;&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;-src - исходный диск
-dst - новый диск
-swap - сколько места выделить под своп
-force - не задавать лишних вопросов&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="720" data-ratio="1.6071428571429"&gt;
&lt;img src="https://anikin.pw/pictures/---2014-10-05-15:38:34.png" width="720" height="448" alt="" /&gt;
&lt;img src="https://anikin.pw/pictures/---2014-10-05-15:39:58.png" width="720" height="450" alt="" /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Дожидаемся окончания клонирования, затем отсоединяем старый диск и подсоединяем его на его место новый и пробуем загрузится.&lt;br /&gt;
У меня все сразу загрузилось с нового диска без лишних телодвижений. А из старого диска я достал себе прикольный неодимовый магнит, больше он ни на что был не пригоден.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;P.S.: Если впоследствии новый диск также выйдет из строя и потребуется снова переносить ОС на другой диск, то удалите в корне файл backup-mode. Иначе clonehdd будет завершаться с сообщением «You are working from backup device. Please stop clone script usage!!!» и ОС перенесена не будет.&lt;/b&gt;&lt;/p&gt;
</description>
</item>

<item>
<title>Мониторинг нагрузки на сервер утилитой atop.</title>
<guid isPermaLink="false">36</guid>
<link>https://anikin.pw/all/monitoring-nagruzki-na-server/</link>
<pubDate>Thu, 25 Sep 2014 12:38:33 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/monitoring-nagruzki-na-server/</comments>
<description>
&lt;p&gt;Самой удобной утилитой мониторинга нагрузки на сервере, на мой взгляд, является atop. Огромным плюсом данной утилиты является постоянное ведение логов нагрузки на сервер, это удобно т.к проблемы обычно происходят когда мы не следим за сервером прямо сейчас. А с atop можно отмотать «время назад» и посмотреть нагрузку на сервер в момент проблемы.  Данная утилита есть во всех дистрибутивах линукс, также она присутствует во FreeBSD.&lt;br /&gt;
Рассмотрим установку утилиты для Ubuntu/Debian, Cenos и FreeBSD.&lt;/p&gt;
&lt;p&gt;Ubuntu/Debian:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# apt-get install atop -y&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Centos:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# yum install atop -y&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;FreeBSD:&lt;br /&gt;
Определяем местонахождение порта:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# whereis atop
atop: /usr/ports/sysutils/atop&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Переходим в каталог&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# cd  /usr/ports/sysutils/atop&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;И устанавливаем порт&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# make install clean&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;После установки мы можем запустить утилиту:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# atop&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;После запуска мы увидим окно типа такого:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="1865" data-ratio="1.9306418219462"&gt;
&lt;img src="https://anikin.pw/pictures/---2014-09-24-16:09:25.png" width="1865" height="966" alt="" /&gt;
&lt;img src="https://anikin.pw/pictures/---2014-09-24-16:09:35.png" width="1865" height="966" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-caption"&gt;Дожидаемся когда посередине исчезнет надпись&lt;/div&gt;
&lt;/div&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;*** system and process activity since boot ***&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;теперь мы можем видеть нагрузку на сервер в реальном времени. Сверху мы видим нагрузку в процентах на основные узлы сервера: процессор, ядра процессора, память, своп, дисковые устройства и сетевые интерфейсы. Если на какой-либо узел будет повышенная нагрузка, то он будет подсвечен красным цветом.&lt;/p&gt;
&lt;p&gt;Снизу мы видим процессы с PID’ами, пользователями которым они принадлежат и данными нагрузки которые они создают. Если на какую-либо подсистему сервера идет повышенная нагрузка и нам нужно узнать какой процесс её создает, то мы можем сортировать эти процессы по нагрузке на определенный узел нажатием определенных клавиш.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;m - сортировать по занимаемой памяти
d - сортировать по создаваемой нагрузке на диск
u - покажет таблицу нагрузки по пользователям
v - покажет подробную информацию по процессам
g - вернет вывод по умолчанию
n - сортировать процессы по нагрузке на сеть(доступно только с установленным патчем ядра)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Теперь разберёмся как смотреть логи atop. Тут все достаточно просто. Для просмотра лога за текущий день достаточно выполнить&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# atop -r&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Мы увидим обычное окно atop, как и при просмотре в реальном времени, только по состоянию на 00 часов 00 минут текущего дня. Время можно увидеть в верхней строке. Переместится вперед по времени можно с помощью клавиши &lt;b&gt;&lt;i&gt;t&lt;/i&gt;&lt;/b&gt;. Назад с помощью &lt;b&gt;&lt;i&gt;shift+t&lt;/i&gt;&lt;/b&gt;.&lt;br /&gt;
Сразу перейти на нужное время можно нажав &lt;b&gt;&lt;i&gt;-b&lt;/i&gt;&lt;/b&gt;, и в появившемся диалоге ввести нужное время.&lt;br /&gt;
Также хранятся логи нагрузки за предыдущие дни. В Ubuntu 14.04 они лежат в каталоге /var/log/atop/. Открыть можно примерно так.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# atop -r /var/log/atop/atop_20140915&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Цифры в названии файла обозначают дату в формате ГГГГММДД.&lt;/p&gt;
</description>
</item>

<item>
<title>Автоматическое монтирование webdav во FreeBSD.</title>
<guid isPermaLink="false">22</guid>
<link>https://anikin.pw/all/montirovanie-webdav-na-freebsd/</link>
<pubDate>Mon, 07 Apr 2014 19:18:58 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/montirovanie-webdav-na-freebsd/</comments>
<description>
&lt;p&gt;Рассмотрим монтирование webdav во FreeBSD на примере яндекс диска.&lt;br /&gt;
Логинимся под рутом и собираем fusefs-wdfs из портов.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# cd /usr/ports/sysutils/fusefs-wdfs/&amp;lt;/br&amp;gt;
# make install clean&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;Если получаем ошибку типа:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;fusefs-kmod-0.3.9.p1.20080208_5 requires the userland sources to be installed. Set SRC_BASE if it is not in /usr/src.
*** Error code 1&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;br /&gt;
То выполняем:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;csup -g -L2 -h cvsup.freebsd.org /usr/share/examples/cvsup/stable-supfile&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;br /&gt;
И затем запускаем сборку заново:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# make install clean&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;Также после этого мне пришлось отдельно пересобрать /usr/ports/sysutils/fusefs-kmod. Иначе получал ошибку отсутствия /usr/local/modules/fuse.ko при запуске fusefs.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;kldload: can't load /usr/local/modules/fuse.ko: File exists&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;br /&gt;
Если всё собралось нормально, то идём дальше.&lt;/p&gt;
&lt;p&gt;Добавляем запись в rc.conf.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# echo 'fusefs_enable=&amp;quot;YES&amp;quot;' &amp;gt;&amp;gt; /etc/rc.conf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;Стартуем fusefs&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# /usr/local/etc/rc.d/fusefs start&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;Далее создаем каталог для монтирования.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# mkdir /usr/home/user/yadisk&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;Создаем скрипт для монтирования при загрузке сервера.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# ee /usr/local/bin/yadisk.sh&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;br /&gt;
Содержание скрипта:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;#!/bin/sh
PATH=&amp;quot;/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin&amp;quot;
export PATH
/usr/local/bin/wdfs https://webdav.yandex.ru /usr/home/user/yadisk/ -o username=user@yandex.ru,password=pAssW0rd,allow_other&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;Добавляем скрипт в крон&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# crontab -e&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;@reboot /usr/local/bin/yadisk.sh&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;Вот и всё. Можно вручную запустить скрипт и проверить его работоспособность, яндекс диск должен примонтироваться. После перезагрузки он примонтируется автоматически по крону.&lt;/p&gt;
</description>
</item>

<item>
<title>Смена пароля admin в vdsmanager.</title>
<guid isPermaLink="false">7</guid>
<link>https://anikin.pw/all/smena-parolya-admin-v-vdsmanager/</link>
<pubDate>Sun, 20 Oct 2013 11:06:05 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/smena-parolya-admin-v-vdsmanager/</comments>
<description>
Vds manager хранит пароли в виде хеша в файле /usr/local/ispmgr/etc/vdsmgr.conf&lt;p&gt;

Для смены пароля на понадобится известный хеш. Возьмем например хеш root пароля из файла /etc/shadow&lt;p&gt;

&lt;code&gt;# cat /etc/shadow|grep root&lt;/code&gt;&lt;p&gt;

Копируем строчку с хеш пароля и заменяем старый хеш в vdsmgr.conf. Затем перезапускаем панель&lt;p&gt;

&lt;code&gt;# killall -9 vdsmgr&lt;/code&gt;&lt;p&gt;

Заходим в панель с логином admin и паролем root. И меняем пароль на новый.&lt;p&gt;</description>
</item>

<item>
<title>Архивы .xz и ошибка при установке из портов FreeBSD.</title>
<guid isPermaLink="false">3</guid>
<link>https://anikin.pw/all/arhivy-xz-i-oshibka-pri-ustanovke-iz-portov-freebsd/</link>
<pubDate>Sat, 19 Oct 2013 16:49:47 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/arhivy-xz-i-oshibka-pri-ustanovke-iz-portov-freebsd/</comments>
<description>
Недавно обновлял на давно установленном сервере версию PHP с 4.x до 5.4. Версия FreeBSD, если память мне не изменяет, 8.2. При установке libgd получаю ошибку:&lt;p&gt;

&lt;code&gt;tar: Unrecognized archive format&lt;/code&gt;&lt;p&gt;

Формат архива порта .xz, путем продолжительного гугления решить проблему не удалось. Порты обновлены, ядро системы пересобрано, но ошибка всё равно возникает. В инете эта ошибка известна, но почему то всё ещё нормального решения её нет. Ну или я его не нашёл. В конце концов я придумал решение самостоятельно, распаковал архив в отдельную папку и уже в ней сконфигурил и скомпилял, данную библиотеку. Возможно решение не лучшее, но это единственное что мне помогло.&lt;p&gt;</description>
</item>


</channel>
</rss>