{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Аникин: заметки с тегом Freebsd",
    "_rss_description": "Блог об администрировании Linux, BSD и не только",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/anikin.pw\/tags\/Freebsd\/",
    "feed_url": "https:\/\/anikin.pw\/tags\/Freebsd\/json\/",
    "icon": "https:\/\/anikin.pw\/pictures\/userpic\/userpic@2x.jpg?1478690884",
    "authors": [
        {
            "name": "Петр Аникин",
            "url": "https:\/\/anikin.pw\/",
            "avatar": "https:\/\/anikin.pw\/pictures\/userpic\/userpic@2x.jpg?1478690884"
        }
    ],
    "items": [
        {
            "id": "105",
            "url": "https:\/\/anikin.pw\/all\/prozrachny-nat-na-shlyuze-freebsd-cherez-setfib\/",
            "title": "Прозрачный nat нескольких сетей на шлюзе FreeBSD через setfib",
            "content_html": "<p>Скрипт создания таблицы с адресами<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">#!\/bin\/sh\n\nrm \/tmp\/reestr.txt\nrm \/tmp\/reestrbsd.txt\n\/usr\/local\/bin\/wget -O - https:\/\/reestr.rublacklist.net\/api\/v2\/ips\/json|tr ',' '\\n'|tr -d '&quot;'|tr -d ']'|tr -d '[' &gt; \/tmp\/reestr.txt\ngrep -E -o &quot;([0-9]{1,3}[\\.]){3}[0-9]{1,3}&quot; \/tmp\/reestr.txt &gt; \/tmp\/reestrbsd.txt\n\nfile=&quot;\/tmp\/reestrbsd.txt&quot;\nipfw table 1 flush\nwhile read line\ndo\nipfw table 1 add $line\ndone &lt; $file<\/code><\/pre><p>Фаервол:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">#!\/bin\/sh -\n\n# прописываем роут для setfib 1\nsetfib 1 route del default\nsetfib 1 route add default -interface tun1\n\nfwcmd=&quot;\/sbin\/ipfw&quot;\n${fwcmd} -f flush\n${fwcmd} -f pipe flush\n${fwcmd} nat 1 delete\n${fwcmd} nat 2 delete\n\nif_local1=&quot;re0&quot; # локалка\nif_inet1=&quot;ng0&quot; # интерфейс интернета\nif_rkn=&quot;tun1&quot;  # интерфейс openvpn\n\n       # заруливаем все обращения к ip из таблицы в setfib 1\n       ${fwcmd} add setfib 1 ip from any to table\\(1\\) recv ${if_local1}\n\n       # основной нат\n       ${fwcmd} nat 1 config if ${if_inet1} same_ports\n       ${fwcmd} add nat 1 ip from any to any via ${if_inet1}\n\n       # нат для ip из таблицы\n       ${fwcmd} nat 2 config if ${if_rkn} same_ports\n       ${fwcmd} add nat 2 ip from any to any via ${if_rkn}\n\n       ${fwcmd} add allow all from any to any<\/code><\/pre>",
            "date_published": "2021-07-03T17:46:27+03:00",
            "date_modified": "2024-03-01T11:26:45+03:00",
            "tags": [
                "Freebsd",
                "ipfw",
                "setfib"
            ],
            "_date_published_rfc2822": "Sat, 03 Jul 2021 17:46:27 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "105",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "95",
            "url": "https:\/\/anikin.pw\/all\/pxe-server-na-freebsd\/",
            "title": "PXE сервер на FreeBSD",
            "content_html": "<p>В конфиг  dnsmasq добавляем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">dhcp-option-force=66,192.168.0.1   # ip сервера\ndhcp-option-force=67,gpxelinux.0   # загрузчик<\/code><\/pre><p>Перезапускаем dnsmasq<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">service dnsmasq restart<\/code><\/pre><p>Создаем каталог для pxe<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mkdir \/usr\/local\/pxe\nmkdir \/usr\/local\/pxe\/pxelinux.cfg<\/code><\/pre><p>Устанавливаем tftp<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">pkg install tftp-hpa<\/code><\/pre><p>В \/etc\/inetd.conf добавляем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">tftp  dgram  udp  wait  root  \/usr\/local\/libexec\/in.tftpd  in.tftpd -p -s \/usr\/local\/pxe<\/code><\/pre><p>Вписываем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">echo 'inetd_enable=&quot;YES&quot;' &gt;&gt; \/etc\/rc.conf<\/code><\/pre><p>Запускаем inetd<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/etc\/rc.d\/inetd start<\/code><\/pre><p>Скачиваем и распаковываем syslinux<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">fetch http:\/\/www.kernel.org\/pub\/linux\/utils\/boot\/syslinux\/syslinux-4.05.tar.gz\ntar -xf syslinux-4.05.tar.gz<\/code><\/pre><p>Копируем файлы<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">cd syslinux-4.05\ncp gpxe\/gpxelinux.0 \/usr\/local\/pxe\/\ncp com32\/menu\/menu.c32 \/usr\/local\/pxe\/\ncp com32\/menu\/vesamenu.c32 \/usr\/local\/pxe\/\ncp com32\/modules\/reboot.c32 \/usr\/local\/pxe\/\ncp com32\/modules\/chain.c32 \/usr\/local\/pxe\/\ncp memdisk\/memdisk \/usr\/local\/pxe\/<\/code><\/pre><p>Образы будем грузить по http, т.к tftp очень медленный. Ставим nginx.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">pkg install nginx<\/code><\/pre><p>Создаем каталог с образами и симлинк на него в nginx<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mkdir  \/usr\/local\/pxe\/images\/\nln -s \/usr\/local\/pxe\/images\/ \/usr\/local\/www\/nginx\/images<\/code><\/pre><p>Вписываем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">echo 'nginx_enable=&quot;YES&quot;' &gt;&gt; \/etc\/rc.conf<\/code><\/pre><p>И стартуем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">service nginx start<\/code><\/pre><p>Заливаем наши образы в \/usr\/local\/pxe\/images\/<\/p>\n<p>В файле \/usr\/local\/pxe\/pxelinux.cfg\/default создаем конфиг меню с нашими образами. У меня получился такой<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ui menu.c32\nmenu title PXE Boot Menu\n\nlabel boothdd\n  menu label Boot from Hard Drive\n  localboot 0\n \nlabel memtest\n  menu label memtest\n  kernel memdisk\n  initrd http:\/\/192.168.0.1\/images\/Memtest86-4.3.7.iso\n  append iso raw\n\nlabel mfsbsd\n  menu label mfsbsd\n  kernel memdisk\n  initrd http:\/\/192.168.0.1\/images\/mfsbsd-12.0-RELEASE-amd64.iso\n  append iso raw\n\nlabel debian-10\n  menu label debian-10\n  kernel http:\/\/192.168.0.1\/images\/debian10\/linux\n  append vga=normal initrd=http:\/\/192.168.0.1\/images\/debian10\/initrd.gz  --\n\nlabel rescue\n  menu label rescue\n  kernel http:\/\/192.168.0.1\/images\/debian10\/linux\n  append vga=normal initrd=http:\/\/192.168.0.1\/images\/debian10\/initrd.gz  rescue\/enable=true --<\/code><\/pre><p>linux и initrd.gz для установщика debian можно взять <a href=\"https:\/\/mirror.yandex.ru\/debian\/dists\/buster\/main\/installer-amd64\/current\/images\/netboot\/debian-installer\/amd64\/\">тут<\/a><br \/>\nТеперь можно пробовать грузится с PXE, если все сделали правильно то появится меню с выбором загружаемого образа.<\/p>\n",
            "date_published": "2019-09-01T18:49:26+03:00",
            "date_modified": "2020-04-29T16:08:01+03:00",
            "tags": [
                "Freebsd",
                "pxe",
                "tftp"
            ],
            "_date_published_rfc2822": "Sun, 01 Sep 2019 18:49:26 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "95",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "90",
            "url": "https:\/\/anikin.pw\/all\/prozrachny-nat-na-shlyuze-freebsd\/",
            "title": "Прозрачный nat нескольких сетей FreeBSD",
            "content_html": "<p><b>Этот способ устарел. Лучше делать <a href=\"https:\/\/anikin.pw\/all\/prozrachny-obhod-blokirovok-na-shlyuze-freebsd-cherez-setfib\/\">вот так<\/a><\/b><\/p>\n<p>В первую очередь нужно поднять OpenVPN клиента через который мы будем пускать адреса в обход. В конфиге клиента следует закомментировать диррективу redirect-gateway, чтобы основной траффик у нас шел через провайдера.<br \/>\nСоздаем скрипт который загрузит заблокированные ip в таблицу ipfw<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">#!\/bin\/sh\n\nrm \/root\/bin\/reestr.txt\n\/usr\/local\/bin\/wget -O - https:\/\/api.reserve-rbl.ru\/api\/v2\/ips\/json|tr ',' '\\n'|tr -d '&quot;'|tr -d ']'|tr -d '['  &gt; \/root\/bin\/reestr.txt\nfile=&quot;\/root\/bin\/reestr.txt&quot;\n\nipfw table 1 flush\nwhile read line\ndo\nipfw table 1 add $line\ndone &lt; $file\n\nfile=&quot;\/root\/bin\/useriplist&quot; # В этот файл можно вписать свои ip которые тоже нужно пустить через VPN\nwhile read line\ndo\nipfw table 1 add $line\ndone &lt; $file<\/code><\/pre><p>Запустим natd на порту 8673<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/sbin\/natd -a 10.8.1.6 -p 8673<\/code><\/pre><p>Зарулим все ip из таблицы 1 в VPN<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">lan=&quot;192.168.0.0\/24&quot; #локалка\nvpnip=&quot;10.8.1.6&quot; #ip vpn интерфейса\nvpngw=&quot;10.8.1.7&quot; #vpn шлюз\nipfw add divert 8673  ip from ${lan},${vpnip} to table\\(1\\)\nipfw add fwd ${vpngw}  ip from ${vpnip} to table\\(1\\)\nipfw add divert 8673  ip from table\\(1\\) to ${vpnip}<\/code><\/pre>",
            "date_published": "2019-01-15T13:07:12+03:00",
            "date_modified": "2024-03-01T11:26:22+03:00",
            "tags": [
                "Freebsd",
                "ipfw",
                "nat",
                "table"
            ],
            "_date_published_rfc2822": "Tue, 15 Jan 2019 13:07:12 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "90",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "70",
            "url": "https:\/\/anikin.pw\/all\/oshibka-pri-ustanovke-fryahi-cherez-bsdinstall\/",
            "title": "Ошибка при установке фряхи через bsdinstall",
            "content_html": "<p>При установке freebsd на сторонний носитель с помощью bsdinstall после разметки диска и скачивания архива получаем ошибку<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Error while fetching file:\/\/\/usr\/freebsd-dist\/MANIFEST&quot; - no such file or directory<\/code><\/pre><p>идем на <a href=\"ftp:\/\/ftp.freebsd.org\/pub\/FreeBSD\/releases\/\">ftp:\/\/ftp.freebsd.org\/pub\/FreeBSD\/releases\/<\/a><br \/>\nВыбираем платформу, затем версию фряхи, в общем идем по каталогам. И получаем ссылку на файл, например для freebsd 11.0 amd64:<br \/>\n<a href=\"ftp:\/\/ftp.freebsd.org\/pub\/FreeBSD\/releases\/amd64\/amd64\/11.0-RELEASE\/MANIFEST\">ftp:\/\/ftp.freebsd.org\/pub\/FreeBSD\/releases\/amd64\/amd64\/11.0-RELEASE\/MANIFEST<\/a><\/p>\n<p>Скачиваем файл в \/usr\/freebsd-dist на текущей системе и снова запускаем bsdinstall.<\/p>\n",
            "date_published": "2016-11-29T16:38:57+03:00",
            "date_modified": "2016-11-29T16:40:40+03:00",
            "tags": [
                "bsdinstall",
                "Freebsd"
            ],
            "_date_published_rfc2822": "Tue, 29 Nov 2016 16:38:57 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "70",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "52",
            "url": "https:\/\/anikin.pw\/all\/prostaya-ustanovka-ftp-servera-na-freebsd\/",
            "title": "Простая установка FTP-сервера на FreeBSD.",
            "content_html": "<p>На самом деле по умолчанию во freebsd уже установлен ftp-сервер, нам нужно его только сконфигурировать.<br \/>\nВыполняем для добавления запуска ftp в \/etc\/rc.conf.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># echo 'ftpd_enable=&quot;YES&quot;' &gt;&gt; \/etc\/rc.conf\n# echo 'ftpd_flags=&quot;-l -l&quot;' &gt;&gt; \/etc\/rc.conf<\/code><\/pre><p>Далее смотрим файл \/etc\/ftpusers, тут указаны пользователи которым запрещён доступ к ftp.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># cat \/etc\/ftpusers<\/code><\/pre><p>При необходимости редактируем его.<br \/>\nЗатем чтобы разрешить доступ пользователя к каталогу выполним.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># echo 'user \/var\/www\/site.ru' &gt;&gt; \/etc\/ftpchroot<\/code><\/pre><p>Где <i>user<\/i> — существующий на сервере пользователь, а  \/<i>var\/www\/site.ru<\/i> — его каталог.<br \/>\nЗапускаем ftp-сервер<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># \/etc\/rc.d\/ftpd start<\/code><\/pre><p>И пробуем подключится с логином и паролем user.<\/p>\n<p><b>Р.S.:<\/b> Если у user в качестве shell используется \/sbin\/nologin, то подключение не произойдет. FTP-клиент сообщит что-то типа:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">access denied<\/code><\/pre><p>а в логах сервера будет:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ftpd: connection from 10.8.0.1 (10.8.0.1)\nftpd: FTP LOGIN REFUSED FROM 10.8.0.1, user<\/code><\/pre><p>Проверить какой shell используется для юзера можно командой:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># pw usershow user<\/code><\/pre><p>В этом случае нам нужно создать \/sbin\/nologin-ftp и прописать его у пользователя вместо \/sbin\/nologin. Делается это очень просто:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># echo '\/sbin\/nologin-ftp' &gt;&gt; \/etc\/shells\n# ln -s \/usr\/sbin\/nologin \/sbin\/nologin-ftp\n# pw usermod user -s \/sbin\/nologin-ftp<\/code><\/pre><p>Теперь подключение должно происходить без проблем.<\/p>\n",
            "date_published": "2015-03-11T14:28:26+03:00",
            "date_modified": "2015-03-11T14:27:23+03:00",
            "tags": [
                "Freebsd",
                "ftp",
                "ftpd",
                "nologin",
                "nologin-ftp"
            ],
            "_date_published_rfc2822": "Wed, 11 Mar 2015 14:28:26 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "52",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "37",
            "url": "https:\/\/anikin.pw\/all\/perenos-freebsd-na-drugoy-zhestkiy-disk\/",
            "title": "Перенос FreeBSD на другой жесткий диск с помощью clonehdd.",
            "content_html": "<p>В моей домашней файлопомойке-торрентокачалке в один прекрасный день smartctl показал, что диск «помирает». Соответственно диск пришлось менять. А т.к raid’а там нет, то вариантов было 2: либо полностью устанавливать и настраивать систему на новом диске, либо каким-то образом попытаться перенести ОС с неисправного диска на новый. Естественно я стал искать решения по второму варианту, т.к настраивать все заново мне не хотелось.<br \/>\nДля переноса я использовал утилиту clonehdd, огромным плюсом этой утилиты является, то что она может перенести полностью установленную freebsd даже на диск другого размера. Для меня это было критично, т.к для замены в «закромах» мной был найден диск меньшего размера, чем стоял изначально. Т.к изначально скриншоты я не делал, скриншоты для статьи пришлось делать в виртуалке.<br \/>\nУстановим clonehdd. Утилита есть в портах, установим<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># whereis clonehdd\nclonehdd: \/usr\/ports\/sysutils\/clonehdd\n# cd \/usr\/ports\/sysutils\/clonehdd\n# make install clean<\/code><\/pre><p>Или устанавливаем из пакетов<br \/>\nДля старых версий freebsd:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># pkg_add -r clonehdd<\/code><\/pre><p>Для новых версий:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># pkg install clonehdd<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/anikin.pw\/pictures\/---2014-10-05-15:18:49.png\" width=\"721\" height=\"449\" alt=\"\" \/>\n<\/div>\n<p>Затем выключаем тачку, подключаем новый диск и загружаемся. Теперь у нас подключено 2 диска:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ada0 - диск с системой\nada1 - новый диск на который нужно перенести нашу ОС<\/code><\/pre><p>Перенести все довольно просто одной командой. Правда процесс довольно длительный(у меня он занял около 12 часов) и если работа ведется по ssh, то запускать лучше в screen. Запустим клонирование диска:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># clonehdd -src=ada0 -dst=ada1 -swap=1024 -force<\/code><\/pre><pre class=\"e2-text-code\"><code class=\"\">-src - исходный диск\n-dst - новый диск\n-swap - сколько места выделить под своп\n-force - не задавать лишних вопросов<\/code><\/pre><div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"720\" data-ratio=\"1.6071428571429\">\n<img src=\"https:\/\/anikin.pw\/pictures\/---2014-10-05-15:38:34.png\" width=\"720\" height=\"448\" alt=\"\" \/>\n<img src=\"https:\/\/anikin.pw\/pictures\/---2014-10-05-15:39:58.png\" width=\"720\" height=\"450\" alt=\"\" \/>\n<\/div>\n<\/div>\n<p>Дожидаемся окончания клонирования, затем отсоединяем старый диск и подсоединяем его на его место новый и пробуем загрузится.<br \/>\nУ меня все сразу загрузилось с нового диска без лишних телодвижений. А из старого диска я достал себе прикольный неодимовый магнит, больше он ни на что был не пригоден.<\/p>\n<p><b>P.S.: Если впоследствии новый диск также выйдет из строя и потребуется снова переносить ОС на другой диск, то удалите в корне файл backup-mode. Иначе clonehdd будет завершаться с сообщением «You are working from backup device. Please stop clone script usage!!!» и ОС перенесена не будет.<\/b><\/p>\n",
            "date_published": "2014-10-06T13:51:19+03:00",
            "date_modified": "2014-10-06T13:51:02+03:00",
            "tags": [
                "clonehdd",
                "Freebsd",
                "hdd"
            ],
            "_date_published_rfc2822": "Mon, 06 Oct 2014 13:51:19 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "37",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css",
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js"
                ],
                "og_images": []
            }
        },
        {
            "id": "36",
            "url": "https:\/\/anikin.pw\/all\/monitoring-nagruzki-na-server\/",
            "title": "Мониторинг нагрузки на сервер утилитой atop.",
            "content_html": "<p>Самой удобной утилитой мониторинга нагрузки на сервере, на мой взгляд, является atop. Огромным плюсом данной утилиты является постоянное ведение логов нагрузки на сервер, это удобно т.к проблемы обычно происходят когда мы не следим за сервером прямо сейчас. А с atop можно отмотать «время назад» и посмотреть нагрузку на сервер в момент проблемы.  Данная утилита есть во всех дистрибутивах линукс, также она присутствует во FreeBSD.<br \/>\nРассмотрим установку утилиты для Ubuntu\/Debian, Cenos и FreeBSD.<\/p>\n<p>Ubuntu\/Debian:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># apt-get install atop -y<\/code><\/pre><p>Centos:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># yum install atop -y<\/code><\/pre><p>FreeBSD:<br \/>\nОпределяем местонахождение порта:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># whereis atop\natop: \/usr\/ports\/sysutils\/atop<\/code><\/pre><p>Переходим в каталог<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># cd  \/usr\/ports\/sysutils\/atop<\/code><\/pre><p>И устанавливаем порт<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># make install clean<\/code><\/pre><p>После установки мы можем запустить утилиту:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># atop<\/code><\/pre><p>После запуска мы увидим окно типа такого:<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1865\" data-ratio=\"1.9306418219462\">\n<img src=\"https:\/\/anikin.pw\/pictures\/---2014-09-24-16:09:25.png\" width=\"1865\" height=\"966\" alt=\"\" \/>\n<img src=\"https:\/\/anikin.pw\/pictures\/---2014-09-24-16:09:35.png\" width=\"1865\" height=\"966\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Дожидаемся когда посередине исчезнет надпись<\/div>\n<\/div>\n<pre class=\"e2-text-code\"><code class=\"\">*** system and process activity since boot ***<\/code><\/pre><p>теперь мы можем видеть нагрузку на сервер в реальном времени. Сверху мы видим нагрузку в процентах на основные узлы сервера: процессор, ядра процессора, память, своп, дисковые устройства и сетевые интерфейсы. Если на какой-либо узел будет повышенная нагрузка, то он будет подсвечен красным цветом.<\/p>\n<p>Снизу мы видим процессы с PID’ами, пользователями которым они принадлежат и данными нагрузки которые они создают. Если на какую-либо подсистему сервера идет повышенная нагрузка и нам нужно узнать какой процесс её создает, то мы можем сортировать эти процессы по нагрузке на определенный узел нажатием определенных клавиш.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">m - сортировать по занимаемой памяти\nd - сортировать по создаваемой нагрузке на диск\nu - покажет таблицу нагрузки по пользователям\nv - покажет подробную информацию по процессам\ng - вернет вывод по умолчанию\nn - сортировать процессы по нагрузке на сеть(доступно только с установленным патчем ядра)<\/code><\/pre><p>Теперь разберёмся как смотреть логи atop. Тут все достаточно просто. Для просмотра лога за текущий день достаточно выполнить<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># atop -r<\/code><\/pre><p>Мы увидим обычное окно atop, как и при просмотре в реальном времени, только по состоянию на 00 часов 00 минут текущего дня. Время можно увидеть в верхней строке. Переместится вперед по времени можно с помощью клавиши <b><i>t<\/i><\/b>. Назад с помощью <b><i>shift+t<\/i><\/b>.<br \/>\nСразу перейти на нужное время можно нажав <b><i>-b<\/i><\/b>, и в появившемся диалоге ввести нужное время.<br \/>\nТакже хранятся логи нагрузки за предыдущие дни. В Ubuntu 14.04 они лежат в каталоге \/var\/log\/atop\/. Открыть можно примерно так.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># atop -r \/var\/log\/atop\/atop_20140915<\/code><\/pre><p>Цифры в названии файла обозначают дату в формате ГГГГММДД.<\/p>\n",
            "date_published": "2014-09-25T12:38:33+03:00",
            "date_modified": "2014-09-25T12:37:34+03:00",
            "tags": [
                "atop",
                "centos",
                "debian",
                "Freebsd",
                "Linux",
                "ubuntu"
            ],
            "_date_published_rfc2822": "Thu, 25 Sep 2014 12:38:33 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "36",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css",
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js"
                ],
                "og_images": []
            }
        },
        {
            "id": "22",
            "url": "https:\/\/anikin.pw\/all\/montirovanie-webdav-na-freebsd\/",
            "title": "Автоматическое монтирование webdav во FreeBSD.",
            "content_html": "<p>Рассмотрим монтирование webdav во FreeBSD на примере яндекс диска.<br \/>\nЛогинимся под рутом и собираем fusefs-wdfs из портов.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># cd \/usr\/ports\/sysutils\/fusefs-wdfs\/&lt;\/br&gt;\n# make install clean<\/code><\/pre><p><d><\/p>\n<p>Если получаем ошибку типа:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">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.\n*** Error code 1<\/code><\/pre><p><d><br \/>\nТо выполняем:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">csup -g -L2 -h cvsup.freebsd.org \/usr\/share\/examples\/cvsup\/stable-supfile<\/code><\/pre><p><d><br \/>\nИ затем запускаем сборку заново:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># make install clean<\/code><\/pre><p><d><\/p>\n<p>Также после этого мне пришлось отдельно пересобрать \/usr\/ports\/sysutils\/fusefs-kmod. Иначе получал ошибку отсутствия \/usr\/local\/modules\/fuse.ko при запуске fusefs.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">kldload: can't load \/usr\/local\/modules\/fuse.ko: File exists<\/code><\/pre><p><d><br \/>\nЕсли всё собралось нормально, то идём дальше.<\/p>\n<p>Добавляем запись в rc.conf.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># echo 'fusefs_enable=&quot;YES&quot;' &gt;&gt; \/etc\/rc.conf<\/code><\/pre><p><d><\/p>\n<p>Стартуем fusefs<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># \/usr\/local\/etc\/rc.d\/fusefs start<\/code><\/pre><p><d><\/p>\n<p>Далее создаем каталог для монтирования.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># mkdir \/usr\/home\/user\/yadisk<\/code><\/pre><p><d><\/p>\n<p>Создаем скрипт для монтирования при загрузке сервера.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># ee \/usr\/local\/bin\/yadisk.sh<\/code><\/pre><p><d><br \/>\nСодержание скрипта:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">#!\/bin\/sh\nPATH=&quot;\/sbin:\/bin:\/usr\/sbin:\/usr\/bin:\/usr\/games:\/usr\/local\/sbin:\/usr\/local\/bin:\/root\/bin&quot;\nexport PATH\n\/usr\/local\/bin\/wdfs https:\/\/webdav.yandex.ru \/usr\/home\/user\/yadisk\/ -o username=user@yandex.ru,password=pAssW0rd,allow_other<\/code><\/pre><p><d><\/p>\n<p>Добавляем скрипт в крон<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># crontab -e<\/code><\/pre><p><d><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">@reboot \/usr\/local\/bin\/yadisk.sh<\/code><\/pre><p><d><\/p>\n<p>Вот и всё. Можно вручную запустить скрипт и проверить его работоспособность, яндекс диск должен примонтироваться. После перезагрузки он примонтируется автоматически по крону.<\/p>\n",
            "date_published": "2014-04-07T19:18:58+03:00",
            "date_modified": "2014-08-29T12:04:03+03:00",
            "tags": [
                "Freebsd",
                "webdav",
                "webdav.yandex.ru"
            ],
            "_date_published_rfc2822": "Mon, 07 Apr 2014 19:18:58 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "22",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "7",
            "url": "https:\/\/anikin.pw\/all\/smena-parolya-admin-v-vdsmanager\/",
            "title": "Смена пароля admin в vdsmanager.",
            "content_html": "Vds manager хранит пароли в виде хеша в файле \/usr\/local\/ispmgr\/etc\/vdsmgr.conf<p>\r\n\r\nДля смены пароля на понадобится известный хеш. Возьмем например хеш root пароля из файла \/etc\/shadow<p>\r\n\r\n<code># cat \/etc\/shadow|grep root<\/code><p>\r\n\r\nКопируем строчку с хеш пароля и заменяем старый хеш в vdsmgr.conf. Затем перезапускаем панель<p>\r\n\r\n<code># killall -9 vdsmgr<\/code><p>\r\n\r\nЗаходим в панель с логином admin и паролем root. И меняем пароль на новый.<p>",
            "date_published": "2013-10-20T11:06:05+03:00",
            "date_modified": "2014-04-04T13:53:42+03:00",
            "tags": [
                "centos",
                "debian",
                "Freebsd",
                "Linux",
                "passwd",
                "password",
                "ubuntu",
                "vds-manager",
                "vdsmgr"
            ],
            "_date_published_rfc2822": "Sun, 20 Oct 2013 11:06:05 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "7",
            "_e2_data": {
                "is_favourite": false,
                "links_required": null,
                "og_images": []
            }
        },
        {
            "id": "3",
            "url": "https:\/\/anikin.pw\/all\/arhivy-xz-i-oshibka-pri-ustanovke-iz-portov-freebsd\/",
            "title": "Архивы .xz и ошибка при установке из портов FreeBSD.",
            "content_html": "Недавно обновлял на давно установленном сервере версию PHP с 4.x до 5.4. Версия FreeBSD, если память мне не изменяет, 8.2. При установке libgd получаю ошибку:<p>\r\n\r\n<code>tar: Unrecognized archive format<\/code><p>\r\n\r\nФормат архива порта .xz, путем продолжительного гугления решить проблему не удалось. Порты обновлены, ядро системы пересобрано, но ошибка всё равно возникает. В инете эта ошибка известна, но почему то всё ещё нормального решения её нет. Ну или я его не нашёл. В конце концов я придумал решение самостоятельно, распаковал архив в отдельную папку и уже в ней сконфигурил и скомпилял, данную библиотеку. Возможно решение не лучшее, но это единственное что мне помогло.<p>",
            "date_published": "2013-10-19T16:49:47+03:00",
            "date_modified": "2014-04-04T13:24:54+03:00",
            "tags": [
                "Freebsd",
                "ports",
                "tar",
                "xz"
            ],
            "_date_published_rfc2822": "Sat, 19 Oct 2013 16:49:47 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "3",
            "_e2_data": {
                "is_favourite": false,
                "links_required": null,
                "og_images": []
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}