Архив метки: FreeBSD

Пошаговая установка freebsd 11 для чайников

Как обычно, сначала нам нужно скачать установочный образ, и только потом может быть выполнена установка и настройка freebsd.

Шаг 1. Загрузка образа

На официальном сайте есть несколько версий для разных архитектур, нам нужна amd64 или x86, в зависимости от количества оперативной памяти, которую вы желаете использовать.

Мы будем устанавливать последнюю версию FreeBSD 11.1, но если позже выйдет более новая версия, то я думаю, что статья будет все еще актуальна и для нее.

 

Шаг 2. Запись образа на диск

Далее вам нужно записать полученный образ на диск или на флешку. Вы можете использовать один из известных вам методов для этого. Например, в Linux вы можете использовать Unetbootin или Etcher, а в Windows есть Rufus.

Далее вставьте носитель в компьютер и измените настройки BIOS так, чтобы загрузка выполнялась из вставленного носителя. Чтобы войти в BIOS, во время загрузки нажмите одну из клавишей: F2, F11, F12 перед загрузкой операционной системы. Затем перейдите на вкладку “Boot” и поставьте там ваш носитель на первое место.

 

Установка FreeBSD 11

Шаг 1. – Запуск установки.

 

При первой загрузке нас встречает меню загрузчика FreeBSD.(Рис.4)

 

    1. Boot Multi User [Enter] –  Загрузка в многопользовательском режиме.

 

    1. Boot Single User – Загрузка в однопользовательском режиме.

 

    1. Escape to loader prompt – Переход в командную строку загрузчика.

 

    1. Reboot – Перезагрузка.

 

 

Жмём [Enter]  для выбора первого пункта, или можно подождать 10 секунд и нас автоматически перенаправит к стандартной установке.

 

Меню загрузчика FreeBSD.

Рис.4 – Меню загрузчика FreeBSD.

 

Далее нас приветствует уже установщик FreeBSD.(Рис.5)

[перевод] Добро пожаловать в FreeBSD! Вы хотите начать установку или использовать live CD? [/перевод]

    • – Установка.
    • – Переход в консоль.
    • –  Загрузка в режиме Live CD.

 

Выбираем , Жмём “Enter”.

 

Установщик FreeBSD.

Рис.5 – Установщик FreeBSD.

 

Шаг 2. – Выбор раскладки.

Выбираем раскладку. Русская раскладка мне не нужна, меня устраивает раскладка по умолчанию (английская). Жму “Continue with default keymap”.(Рис.6)

 

Выбор раскладки.

Рис.6 – Выбор раскладки.

 

Шаг 3. – Имя сервера.

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

Я ввожу – “freebsditdeer”, Жмём .(Рис.7)

 

Имя сервера FreeBSD.

Рис.7 – Имя сервера FreeBSD.

 

Шаг 4. – Выбор компонентов.

Выберите дополнительные системные компоненты для установки(Рис.8):

    • base-dbg – Пакеты для отладки системы.
    • doc – Дополнительная документация.
    • kernel-dbg – Пакеты для отладки ядра.
    • lib32-dbg – Пакеты для отладки 32х битных приложений.
    • lib32 – Библиотека совместимости для 32x битных приложений.
    • ports – Дерево портов.
    • src – Дерево исходного кода системы.
    • tests – Тестирование.

 

 

Выбор дополнительных системных компонентов для установки.

Рис.8 – Выбор дополнительных системных компонентов для установки.

 

По умолчанию отмечены lib32 и ports. Для стандартной серверной сборки этих компонентов достаточно. Лично я ничего больше выбирать не буду. а вы – на свое усмотрение. Выбираем (пробелом), а после  жмём < OK >.

 

Шаг 5. – Разметка диска.

Выбор способа разметки диска.(Рис.9)

  • Auto (UFS) – Автоматическая разметка диска.
  • Manual – Ручная разметка диска.
  • Shell – Ручная разметка через консоль.
  • Auto (ZFS) – Установка на Raid.

 

Я выбираю автоматическую разметку диска. – Auto (UFS).  Идём далее…

 

Выбор способа разметки диска.

Рис.9 – Выбор способа разметки диска.

 

Нам предлагается выбрать куда именно устанавливать FreeBSD: < Entire Disk > – весь диск, или < Partition > – Раздел диска.(Рис.10) Если у вас на жестком диске не одна система, то выбирайте  раздел, но лично у меня чистый диск, предназначенный только для FreeDSD. Я жму – < Entire Disk >.

 

Выбор расположения системы.

Рис.10 – Выбор расположения системы.

 

Выберите таблицу разделов. Я выбираю GTP, Жмём < OK >.(Рис.11)

 

Выбираем таблицу разделов.

Рис.11 – Выбираем таблицу разделов.

 

Проверьте предложенную разметку диска. По завершении нажмите кнопку «Finish».(Рис.12)

 

Предложенная разметка диска.

Рис.12 – Предложенная разметка диска.

 

Даём согласие на применение новой разметки диска. Жмём < Commit >.(Рис.13)

 

Даём согласие на применение новой разметки диска.

Рис.13 – Даём согласие на применение новой разметки диска.

 

Шаг 6. – Установка базовой системы.

 

Установка базовой системы проходит в автоматическом режиме, без участия пользователя. Просто ждём пару минут…(Рис.14)

 

Установка базовой системы.

Рис.14 – Установка базовой системы.

 

Шаг 7. – Ввод пароля root.

 

Вводим пароль суперпользователя root. Из соображений безопасности при вводе пароля на экране ничего меняться не должно, не пугайтесь что пароль у вас не пишется, всё так и должно быть.(Рис.15)

 

Ввод пароля суперпользователя.

Рис.15 – Ввод пароля суперпользователя.

 

Шаг 8. – Настройка сети.

 

Выбираем сетевую карту(интерфейс), так как у меня она одна, то выбирать не приходится. Жмём  < OK >.(Рис.16)

 

Выбор сетевого интерфейса.

Рис.16 – Выбор сетевого интерфейса.

 

“Хотим ли мы настроить IPv4 для этого интерфейса?” – Конечно хотим как же нам без сети… Жмём < Yes >.(Рис.17)

 

Хотим ли мы настроить IPv4 для этого интерфейса?

Рис.17 – Хотим ли мы настроить IPv4 для этого интерфейса?

 

“Вы хотите использовать DHCP для настройки этого интерфейса?” – Для сервера важно иметь статический(постоянный) IP адрес, для того чтобы он не менялся необходимо прописать его вручную, либо зарезервировать на DHCP сервере, я выбираю первый вариант – прописать вручную, а значит DHCP сервер нам не нужен. Жмём < NO >. (Рис.18) Идём далее…

 

Вы хотите использовать DHCP для настройки этого интерфейса?

Рис.18 – Вы хотите использовать DHCP для настройки этого интерфейса?

 

Вводим свои настройки.(Рис.19)

 

    • IP Address – Вводим IP адрес нашей freebsd.

 

    • Subnet Mask – Маску сети.

 

    • Default Router – Шлюз по умолчанию.

 

 

Вводим настройки сетевого интерфейса.

Рис.19 – Вводим настройки сетевого интерфейса.

 

“Хотим ли мы настроить IPv6 для этого интерфейса?” – Нет не хотим. Жмём < NO >.(Рис.20)

 

Хотим ли мы настроить IPv6 для этого интерфейса?

Рис.20 – Хотим ли мы настроить IPv6 для этого интерфейса?

 

Предлагается ввести адреса DNS серверов. Если вы получали настройки по DHCP то поля с адресами уже будут заполнены.(Рис.21)

 

Я ввожу IP адрес своего роутера(шлюза) – 192.168.3.1 и на всякий случай DNS Google – 8.8.8.8. Жмём < OK >.

 

Вводим DNS сервера.

Рис.21 – Вводим DNS сервера.

 

Шаг 9. – Выбор локации.

 

Выбираем свое местоположение, для определения временной зоны. Я проживаю в Санкт-Петербурге и время тут не отличается от московского.

 

Выбираю регион – “8 Europe”(Рис.22), страну –  “39 Russian Federation”(Рис.23) и часовой пояс – “2 MSK+00 – Moscow area”,подтверждаю выбор – жму < Yes >.(Рис.24)

 

 Выбор региона.

Рис.22 – Выбор региона.Выбор страны.

Рис.23 – Выбор страны.Выбор часового пояса.

Рис.24 – Выбор часового пояса.

 

Шаг 10. – Настройка даты и времени.

 

Настройка даты и времени, Если что-то не совпадает – меняйте. У меня расхождений нет. Дважды Жму < Skip >.(Рис.25)(Рис.26)

 

Настройка даты.

Рис.25 – Настройка даты.Настройка времени.

Рис.26 – Настройка времени.

 

Шаг 11. – Настройка автозапуска служб.

Выберите службы, которые вы хотите запускать при загрузке.(Рис.27)

    • local_unbound – Локальное кеширование.
    • sshd – Демон для удаленного подключения по SSH.
    • moused – Поддержка PS/2 клавиатур.
    • ntpd – Сервер времени.
    • powerd – Динамически настраиваемая частота процессора, в зависимости от нагрузки системы.
    • dunpdev – Включить дампы сбоя ядра в /var/crash.

 

Вам не помешает sshdntpd и powerd. Лично я оставлю только powerd. В следующих статьях мы настроим sshdntpd вручную. Выбираем(пробелом) и жмем < OK >.

 

Добавление служб в автозагрузку.

Рис.27 – Добавление служб в автозагрузку.

 

Шаг 12. – Настройки безопасности.

Выберите параметры  безопасности системы.(Рис.28)

  1. Hide processes runing as other users – Скрыть процессы, выполняемые другими пользователями.
  2. Hide processes runing as other groups – Скрыть процессы, выполняемые другими группами пользователей.
  3. Disable reading kernel message buffer for unprivileged users – Отключение чтения буфера сообщений ядра для непривилегированных пользователей.
  4. Disable process debugging facilities for unprivileged users – Отключение средств отладки процессов для непривилегированных пользователей.
  5. Randomize the PID of newly created processes – Рандомизировать PID вновь созданных процессов.
  6. Insert stack guard page ahead of the growable segments – Вставить страницу защиты стека перед растущими сегментами.
  7. Clean the /tmp filesystem on system startup – Очистка каталога /tmp при запуске системы.
  8. Disable opening Syslog network socket (disables remote logging) – Отключить открытие сетевого сокета Syslog (отключает удаленную регистрацию).
  9. Disable Sandmail service – Отключить службу Sendmail.

 

Отмечаем(пробелом) 3, 4, 7, 8 и если не собираетесь устанавливать на FreeBSD почтовый сервер то и 9. жмём < OK >.

 

 Выбор параметров безопасности системы.

Рис.28 – Выбор параметров безопасности системы.

 

Шаг 13. – Добавление учетных записей пользователей.

 

Вы бы хотели сейчас добавить пользователей в устанавливаемую систему? – Я хотел бы, Жму < Yes >.(Рис.29)

 

Хотите добавить пользователя?

Рис.29 – Хотите добавить пользователя?

 

Вводим Username и Full name, Я ввожу дважды – firstdeer. Дальше действуйте на свое усмотрение, я все оставляю по умолчанию, Ввожу и подтверждаю пароль.(Рис.30)

 

Если вы на 11 шаге выбрали sshd, то рекомендую добавить своего пользователя в группу – wheel, чтобы вы смогли авторизоваться по ssh и получить права суперпользователя.

 

В строке напишите “wheel”- Login group is firstdeer. Invite firstdeer into other groups? []: wheel. Лично я этого делать не буду.

 

Добавление нового пользователя.

Рис.30 – Добавление нового пользователя.

 

Нам предоставят для проверки введенную нами информацию и спросят все ли нас устраивает… OK? (yes/no): вводим yes.(Рис.31)

Получим сообщение: adduser INFO: Successfully added (firstdeer) to the user database.(Успешно добавлен (firstdeer) в пользовательскую базу данных.)

Если вам достаточно одного пользователя то на вопрос “Add another user?/Добавить другого пользователя” напишите “no”. Мне достаточно, я и пишу…

 

Добавить нового пользователя?

Рис.31 – Добавить нового пользователя?

 

Настройка графического окружения во FreeBSD

После того как freeBSD установлена и запущена, то первое, что мы увидим это командную строку.

Работать в командной строке не то чтобы не удобно, потому что очень даже удобно, а скорее не по используешь машину как развлекательный медиа центр, и то можно из командной строки слушать музыку, короче говоря, зачем нужна во freeBSD графическая среда каждый решает для себя сам, а в этом посте мы пройдем по шагам как превратить командную строку в графическую среду.

 

Подготовка к настройке

Если только у вас не настроена команда sudo то залогиньтесь под рутом, а если хотите все делать с командой sudo то сначала настройте sudo.

Первое, что надо сделать это поменять командный интерпретатор. Для этого запустите chpass:

 

chpass username

 

Так как в freeBSD в основном приходится работать в командной строке (по крайней мере после установки), сразу же что нужно сделать, это заменить оболочку которая идет по умолчанию на более функциональную, например такую как csh (вторая строчка):

 

#Changing user information for username. Shell: /bin/csh Full Name: username Office Location: Office Phone: Home Phone: Other information:

 

Следующее, что может понадобиться это немного настроить интернет если мы выходим туда через роутер. Есть такой файлик, называется /etc/resolv.conf, там прописывается ip адресс маршрутизатора. Перейдите в рута и откроете этот файл на редактирование в идущем по умолчанию редакторе ee:

 

suee /etc/resolv.conf

 

и добавьте адрес маршрутизатора, в моем случае его адрес 172.22.193.1:

 

nameserver 172.22.193.1

 

Для выхода и сохранения нажмите один раз на Esc и два раза на a.

Теперь должен заработать интернет (в случае если он ранее не работал и по причине что описана выше). Чтобы проверить, что интернет работает про пингуем ресурс ya.ru

 

ping ya.ru PING ya.ru (213.180.193.3): 56 data bytes 64 bytes from 213.180.193.3: icmp_seq=0 ttl=55 time=19.865 ms 64 bytes from 213.180.193.3: icmp_seq=1 ttl=55 time=23.762 ms 64 bytes from 213.180.193.3: icmp_seq=2 ttl=55 time=20.075 ms 64 bytes from 213.180.193.3: icmp_seq=3 ttl=55 time=19.721 ms

 

Установка оконного сервера Xorg

 

После того как мы убедились, что связь есть, можно продолжить дальнейшую настройку freeBSD. Так как мы хотим вместо командной строки видеть графическую среду, то для начала нам нужно установить какую-нибудь реализацию X Window System. Одной из таких реализаций является Xorg. Установим пакет Xorg командой pkg install:

 

pkg install xorg

 

После этого начнется процесс установки пакета Xorg с выводом информации об установке, как, например, вытаскивание пакетов из репозитория, затем их распаковка и установка.

 

Так как в дальнейшем нам надо будет редактировать текстовые файлы, нам надо установить более удобный редактор чем ee, например vim и файловый менеджер Midnight commander, так как нам надо будет перемещаться по файловой системе:

 

pkg install vim mc

 

На данный момент Xorg у нас есть, но это только оконная система или X Window System которая знает как рисовать окна, как их перемещать, как они между собой перерисовываются когда одно закрывает другое, как они должны взаимодействовать с устройствами ввода, в частности как они должны обрабатывать сообщения поступающие от клавиатуры и мыши, короче говоря реализует все базовые функции графической среды. В принципе для того, чтобы работать в графической среде этого будет достаточно, после вызова команды startx появится какая никакая графическая среда. Однако нам нужно FullHD разрешение, рабочий стол, чтобы было красиво, много эффектов и пр., для этого нам надо еще установить какое-нибудь графическое окружение или среду рабочего стола и таких несколько. Самые популярные это GNOME и KDE. Но ни гном ни кеды мне не подходят так как они слишком тяжелые. Лучшим выбором будет более легкий Xfce или MATE. Давайте поставим MATE:

 

pkg install mate

 

На данном этапе, если мы пропишем необходимые конфиги в конфигуркционных файлах ~/.xinitrc и /etc/rc.conf и запустим службы dbus и hald, то запустив команду startx мы увидим графическую среду.

 

Но если мы перезагрузимся, то запуска графической среды мы не увидим, так как она запускается командой startx, а чтобы эту команду ввести нужно сначала залогиниться в систему.

 

Если нужна графика еще до ввода креденшиналсов, то есть до ввода логина и без всяких запусков startx, то нам понадобиться менеджер экранов Display Managers, но о нем по говорим чуть дальше. А сейчас давайте пропишем все необходимые конфиги, что бы поднималась графическая среда.

 

Настройка конфигурационного файла /etc/rc.conf

 

Откройте на редактирование файл /etc/rc.conf:

 

vim /etc/rc.conf

 

И добавьте такие строки:

 

dbus_enable=”YES” hald_enable=”YES”

 

/etc/rc.conf

 

hostname=”freebsd” keymap=”ru.koi8-r.kbd” ifconfig_em0=”DHCP” ifconfig_em0=”inet 172.22.193.36 netmask 0xffffff00″ defaultrouter=”172.22.193.

 

1″ local_unbound_enable=”YES” sshd_enable=”YES” moused_enable=”YES” ntpd_enable=”YES” # Set dumpdev to “AUTO” to enable crash dumps, “NO” to disable dumpdev=”AUTO” dbus_enable=”YES” hald_enable=”YES”

 

Это означает, что сервисы hald и dbus будут запускаться при запуске системы, а сейчас запустим их вручную:

 

serivce dbus startserivce hald start

 

Для того, чтобы появилась графическая среда, все что осталось нам сделать это создать в домашних каталогах всех пользователей желающих работать в графичейской среде файл .xinitrc и поместить туда строчку exec mate-session:

 

cd # cd без параметров переходит в домашний каталог текущего пользователяecho “exec mate-session”>.xinitrc

 

Теперь все готово, осталось только запустить команду startx

 

startx

 

и вместо командной строки появится рабочий стол среды MATE:

 

Установка менеджера экранов Slim

 

Если нужен менеджер экранов, то хорошим выбором будет slim:

 

pkg install slim

 

После того как менеджер экранов slim установим добавим его в конфигурационный файл /etc/rc.conf (строчка 14):

 

hostname=”freebsd” keymap=”ru.koi8-r.kbd” ifconfig_em0=”DHCP” ifconfig_em0=”inet 172.22.193.36 netmask 0xffffff00″ defaultrouter=”172.22.193.1″ local_unbound_enable=”YES” sshd_enable=”YES” moused_enable=”YES” ntpd_enable=”YES” # Set dumpdev to “AUTO” to enable crash dumps, “NO” to disable dumpdev=”AUTO” dbus_enable=”YES” hald_enable=”YES” slim_enable=”YES”

 

И теперь нам необходимо либо перезагрузиться либо запустить сервис slim. Для запуска сервиса введите:

 

service slim start

 

Теперь после выхода из окружения рабочего стола (выбором кнопки Log out), а так же после перезагрузки системы мы уже попадем не в командную строку, а в оконный менеджер, где будет окно ввода логина и пароля:

 

Guest Additions. Только для людей запускающих FreeBSD на виртуальной машине VirtualBox

 

Если вы запускаете FreeBSD на виртуальной машине VirtualBox (как я), то для комфортной работы нужно еще до установить Guest Additions, чтобы разрешение было под размеры дисплея, а так же чтобы мышка при попадении в зону окна где работает freeBSD становилась фрибээсдэшной.

 

А пока для работы в окне VirtualBox нужно щелкнуть мышкой в любом месте окна, таким образом VirtualBox захватит мышку и все команды поступающие от мышки будут направляться на обработку в freeBSD запущенной в виртуалбоксе. Если надо вернуться обратно в ту среду, из которой запущен виртуалбокс, нужно нажать правый ctrl.

 

Это крайне не удобно, поэтому давайте установим Guest Additions:

 

pkg install virtualbox-ose-additions

 

Для того, чтобы guest additions режим стартовал при загрузке системы откроем на редактирование файл /etc/rc.conf

 

vim /etc/rc.conf

 

и добавим две строчки (15 и 16):

 

/etc/rc.conf

 

hostname=”freebsd” keymap=”ru.koi8-r.kbd” ifconfig_em0=”DHCP” ifconfig_em0=”inet 172.22.193.36 netmask 0xffffff00″ defaultrouter=”172.22.193.

 

1″ local_unbound_enable=”YES” sshd_enable=”YES” moused_enable=”YES” ntpd_enable=”YES” # Set dumpdev to “AUTO” to enable crash dumps, “NO” to disable dumpdev=”AUTO” dbus_enable=”YES” hald_enable=”YES” slim_enable=”YES” vboxguest_enable=”YES” vboxservice_enable=”YES”

 

Теперь настроем X11. Перейдите в рута и запустите команду Xorg -configure:

 

Xorg -configure Warning

 

Если команду Xorg -configure запустить уже из под запущенного графического режима, то она не запуститься, поэтому перед ее запуском стопоните сервисы dbus и hald:

service dbus stop

service hald stop

service slim stop

 

При этом в домашнем каталоге рута появится файл xorg.conf.new. Откройте его на редактирование: vim /root/xorg.conf.new

 

и измените драйвер мыши на Driver ‘vboxmouse’ (строчка 30):

 

xorg.conf.new

 

Section “ServerLayout” Identifier “X.

 

org Configured” Screen 0 “Screen0” 0 0 Screen 1 “Screen1” RightOf “Screen0” InputDevice “Mouse0” “CorePointer” InputDevice “Keyboard0” “CoreKeyboard” EndSection Section “Files” ModulePath “/usr/local/lib/xorg/modules” FontPath “/usr/local/lib/X11/fonts/misc/” FontPath “/usr/local/lib/X11/fonts/TTF/” FontPath “/usr/local/lib/X11/fonts/OTF/” FontPath “/usr/local/lib/X11/fonts/Type1/” FontPath “/usr/local/lib/X11/fonts/100dpi/” FontPath “/usr/local/lib/X11/fonts/75dpi/” EndSection Section “Module” Load “glx” EndSection Section “InputDevice” Identifier “Keyboard0” Driver “kbd” EndSection Section “InputDevice” Identifier “Mouse0” Driver “vboxmouse” EndSection Section “Monitor” Identifier “Monitor0” VendorName “Monitor Vendor” ModelName “Monitor Model” EndSection Section “Monitor” Identifier “Monitor1” VendorName “Monitor Vendor” ModelName “Monitor Model” EndSection Section “Device” ### Available Driver options are:- ### Values: : integer, : float, : “True”/”False”, ### : “String”, : ” Hz/kHz/MHz”, ### : “%” ### [arg]: arg optional Identifier “Card0” Driver “vboxvideo” BusID “PCI:0:2:0” EndSection Section “Device” ### Available Driver options are:- ### Values: : integer, : float, : “True”/”False”, ### : “String”, : ” Hz/kHz/MHz”, ### : “%” ### [arg]: arg optional #Option “ShadowFB” # [] #Option “DefaultRefresh” # [] #Option “ModeSetClearScreen” # [] Identifier “Card1” Driver “vesa” BusID “PCI:0:2:0” EndSection Section “Screen” Identifier “Screen0” Device “Card0” Monitor “Monitor0” SubSection “Display” Viewport 0 0 Depth 1 EndSubSection SubSection “Display” Viewport 0 0 Depth 4 EndSubSection SubSection “Display” Viewport 0 0 Depth 8 EndSubSection SubSection “Display” Viewport 0 0 Depth 15 EndSubSection SubSection “Display” Viewport 0 0 Depth 16 EndSubSection SubSection “Display” Viewport 0 0 Depth 24 EndSubSection EndSection Section “Screen” Identifier “Screen1” Device “Card1” Monitor “Monitor1” SubSection “Display” Viewport 0 0 Depth 1 EndSubSection SubSection “Display” Viewport 0 0 Depth 4 EndSubSection SubSection “Display” Viewport 0 0 Depth 8 EndSubSection SubSection “Display” Viewport 0 0 Depth 15 EndSubSection SubSection “Display” Viewport 0 0 Depth 16 EndSubSection SubSection “Display” Viewport 0 0 Depth 24 EndSubSection EndSection

 

Теперь скопируйте этот файл в /etc/X11 с именем xorg.conf:

 

cp xorg.conf.new /etc/X11/xorg.conf

 

И последнее, что осталось сделать, это перезагрузиться:

 

shutdown -r now

 

Если не был установлен какой-нибудь оконный менеджер, то после перезагрузки вход в систему будет из командной строки.

 

Введите свои креденшиналсы, и после того как войдете под своим юзером, запустите startx и графическая среда должна развернуться в полный размер дисплея, а принадлежность мышки между виртуалбоксом и средой в которой виртуалбокс запущен будет меняться автоматически, в случае если установлен оконный менеджер, например slim этого делать не надо, так как графическая среда поднимется автоматически.

 

FreeBSD с разрешением FullHD

 

Что еще можно поставить

 

После того как все настроено, можно установить привычный гуевый софт такой как браузер, офис и пр. Давайте установим firefox — браузер, libre office — документы, электронные таблицы, презентации, gimp — графический редактор, rhythmbox — проигрыватель:

 

pkg install firefox libreoffice gimp rhythmbox

 

Например так выглядит gimp во freeBSD (это уже среда рабочего стола Xfce):

 

Если захотите запустить среду рабочего стола Xfce, то установите Xfce командой: pkg install xfce

 

а затем надо будет прописать в файле ~/.xinitrc строчку:

 

/usr/local/bin/startxfce4

 

Линки

 

Installing Guest Additions causing (Ubuntu) — http://askubuntu.com/questions/526995/installing-guest-additions-causing-problems

 

Источник: http://dev-blogs.com/freebsd-customize/

 

I. Создание загрузочной флешки с FreeBSD

 

1.Вставьте USB флешку в USB разъем.

 

2. Установите скачанную утилиту Win32 Disk Imager. (прим. I accept the agreement > Next > Next > Install > Finish).

 

3. В Win32 Disk Imager выберите букву USB флешки и нажмите на синюю иконку. В появившемся окне выберите скачанный Вами ранее IMG-образ с FreeBSD, а затем нажмите Открыть (Рис.1).

 

 

Рис.1

 

.

 

4. Нажмите Write, затем, в появившемся окне, нажмите Yes. После чего начнётся создание загрузочной USB флешки (Рис.2).

 

 

Рис.2

 

.

 

5. После завершения создания загрузочной USB флешки нажмите OK  и закройте программу (Рис.3).

 

 

Рис.3

 

.

 

II. Установка FreeBSD

 

1. Вставьте загрузочную USB флешку с FreeBSD в разъём USB.

 

2. Сразу после запуска компьютера необходимо вызвать Boot menu. Т.к. на разных материнских платах и ноутбуках клавиши вызова Boot menu отличаются, ниже приведена таблица (Рис.4) в соответствии с которой Вам необходимо нажать соответствующую клавишу (прим. если у Вас стационарный компьютер, и Вы не знаете какая материнская на нём стоит, обесточьте компьютер, откройте боковую крышку системного блока и посмотрите модель материнской платы).

 

 

Рис.4

 

.

 

3. Boot menu незначительно отличается на разных моделях и приблизительно выглядит следующим образом (Рис.5, Рис.6).

 

 

Рис.5

 

.

 

 

Рис.6

 

.

 

4. Выберите загрузку с USB флешки (Рис.5, Рис.6) и нажмите Enter.

 

5. В меню выберите первый пункт и нажмите Enter (Рис.7).

 

 

Рис.7

 

.

 

6. В появившемся окне выберите Install и нажмите Enter (Рис.8).

 

 

Рис.8

 

.

 

7. В разделе раскладки клавиатуры выберите Russian koi8-r и нажмите Enter (Рис.9).

 

 

Рис.9

 

.

 

8. Выберите Continue with ru.koi8-r.kbd keymap и нажмите Enter (Рис.10).

 

 

Рис.10

 

.

 

9. Выберите hostname (прим. можно выбрать любое, в дальнейшем его можно будет изменить), затем нажмите Enter (Рис.11).

 

 

Рис.11

 

.

 

10. В качестве компонентов для установки выберите lib32, ports, src (прим. чтобы отметить компонент как выбранный нужно его выделить и нажать пробел), затем нажмите Enter (Рис.12).

 

 

Рис.12

 

.

 

11. Выберите автоматическую разметку Auto (UFS), затем нажмите Enter (Рис.13).

 

 

Рис.13

 

.

 

12. Выберите Entire Disc, затем нажмите Enter (Рис.14).

 

 

Рис.14

 

.

 

13. Выберите пункт GPT, затем нажмите Enter (Рис.15).

 

 

Рис.15

 

.

 

14. Удостоверьтесь, что автоматическая разметка произведена верно, затем выберите Finish и нажмите Enter (Рис.16).

 

 

Рис.16

 

.

 

15. Выберите Commit и нажмите Enter (Рис.17).

 

 

Рис.17

 

.

 

16. Начнётся процесс установки (Рис.18).

 

 

Рис.18

 

.

 

17. После окончания установки необходимо придумать, ввести и повторить пароль для суперпользователя (root) (прим. при вводе пароля, символы не отображаются) (Рис.19).

 

 

Рис.19

 

.

 

18. В появившемся окне выберите сетевой интерфейс (прим. если у Вас их несколько — выберите тот, который вы хотите настроить для доступа к сети), затем нажмите Enter (Рис.20).

 

 

Рис.20

 

.

 

19. Для настройки IPv4 выберите Yes и нажмите Enter (Рис.21).

 

 

Рис.21

 

.

 

20. Для получения настроек по DHCP выберите Yes и нажмите Enter (Рис.22).

 

 

Рис.22

 

.

 

21. В появившемся окне настроек IPv6 выберите No и нажмите Enter (Рис.23).

 

 

Рис.23

 

.

 

22. В появившемся окне нажмите Enter т.к. Вы получили настройки по DHCP и адрес уже заполнен (Рис.24).

 

 

Рис.24

 

.

 

23. Выберите необходимый регион (прим. для России это Europe), затем нажмите Enter (Рис.25).

 

 

Рис.25

 

.

 

24. Выберите страну и нажмите Enter (Рис.26).

 

 

Рис.26

 

.

 

25. Выберите необходимый часовой пояс, затем нажмите Enter (Рис.27).

 

 

Рис.27

 

.

 

26. Подтвердите выбор часового пояса выбрав Yes, затем нажмите Enter (Рис.28).

 

 

Рис.28

 

.

 

27. Выберите дату (прим. если дата указана верно, то просто выберите Skip, в противном случае укажите дату вручную) (Рис.29).

 

 

Рис.29

 

.

 

28. Выберите время (прим. если время указано верно, то просто выберите Skip, в противном случае укажите время вручную) (Рис.30).

 

 

Рис.30

 

.

 

29. Выберите компоненты, которые  будут запускаться автоматически при загрузке системы (прим. чтобы отметить компонент как выбранный нужно его выделить и нажать пробел), после выбора компонентов нажмите Enter (Рис.31).

 

 

Рис.31

 

.

 

30. Выберите третий пункт: Disable reading kernel message buffer for unprivileged users и нажмите Enter (Рис.32).

 

 

Рис.32

 

.

 

31. Для того, чтобы добавить пользователя выберите Yes и нажмите Enter (Рис.33).

 

 

Рис.33

 

.

 

32. В строках Username и Full name введите имя пользователя и полное имя (прим. можно указывать любые). В строке Login group введите wheel. Для строк Enter password и Enter password again необходимо придумать, ввести и повторить пароль для пользователя (прим. при вводе пароля символы не отображаются). В остальных строках нажимайте Enter (Рис.34).

 

 

Рис.34

 

.

 

33. Для подтверждения регистрации пользователя, напротив строки OK? (yes/no) введите yes. Напротив строки Add another user? введите no (Рис.35).

 

 

Рис.35

 

.

 

34. Выберите Exit и нажмите Enter (Рис.36).

 

 

Рис.36

 

.

 

35. В появившемся окне выберите No и нажмите Enter (Рис.37).

 

 

Рис.37

 

.

 

36. Для перезагрузки системы выберите Reboot и нажмите Enter (Рис.38).

 

 

Рис.38

 

.

 

37. После перезагрузки введите в строке login root, а в строке Password пароль, который вы указывали ранее (прим. см. пункт 17) (Рис.39).

 

 

Рис.39

 

.

 

III. Установка Xorg и GNOME 3 в FreeBSD

 

1. Прежде чем устанавливать Xorg и GNOME 3, необходимо проверить соединение с Интернет (прим. особенно это актуально, если доступ осуществляется через роутер). Для этого зайдите через root и введите следующие команды:

 

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 14px !important; line-height: 15px !important;”> # su # ee /etc/resolv.conf

 

 

12# su# ee /etc/resolv.conf

 

Как это показано на Рис.40.

 

 

Рис.40

 

.

 

2. В строке nameserver должен быль прописан адрес DNS-сервера (прим. у Вас этот адрес будет другой), если  его нет — пропишите адрес вручную (Рис.41).

 

 

Рис.41

 

.

 

3. После того как Вы проверили (прим. или прописали вручную) адрес DNS-сервера, нажмите Esc. В появившемся окне выберите leave editor и нажмите Enter (Рис.42).

 

 

Рис.42

 

.

 

4. Выберите пункт save changes и нажмите Enter (Рис.43).

 

 

Рис.43

 

.

 

5. Для установки Xorg введите:

 

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> # pkg install xorg

 

 

1# pkg install xorg

 

Затем в строке Do you want to fetch and install it now введите Y (Рис.44).

 

 

Рис.44

 

.

 

6. В строке Proceed with this action введите Y, после чего начнётся установка Xorg (Рис.45).

 

 

Рис.45

 

.

 

7. Для установки GNOME 3 введите:

 

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> # pkg install gnome3

 

 

1# pkg install gnome3

 

Как это показано на Рис.46.

 

 

Рис.46

 

.

 

8. В строке Proceed with this action введите Y, после чего начнётся установка GNOME 3 (Рис.47).

 

 

Рис.47

 

.

 

9. Для настройки автоматического запуска GNOME 3 введите:

 

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> # ee /etc/rc.conf

 

 

1# ee /etc/rc.conf

 

Как это показано на Рис.48.

 

 

Рис.48

 

.

 

10. Допишите в самом конце строчку:

 

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> gnome_enable=”YES”

 

 

1gnome_enable=”YES”

 

Затем нажмите Esc (Рис.49).

 

 

Рис.49

 

.

 

11. В появившемся окне выберите leave editor и нажмите Enter (Рис.50).

 

 

Рис.50

 

12. Выберите пункт save changes и нажмите Enter (Рис.51).

 

 

Рис.51

 

13. Для перезагрузки введите:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> #reboot

 

1#reboot

 

Как это показано на Рис.52.

 

 

Рис.52

 

14. После перезагрузки, для входа в систему потребуется ввести пароль, который Вы указали ранее и нажмите Sign In (Рис.53).

 

 

Рис.53

 

15. После ввода пароля загрузится рабочий стол (Рис.54).

 

 

Рис.54

 Установка FreeBSD и графической оболочки GNOME 3 завершена.

 

    • https://losst.ru/ustanovka-freebsd-11
    • https://itdeer.ru/ustanovka-freebsd-11-1/
    • https://crb-otradnoe.ru/konfiguratsiya/poshagovaya-ustanovka-freebsd-11-dlya-chajnikov.html
    • https://lyapidov.ru/setup-freebsd-and-gui-from-usb/

 

Домашний Сервер: Часть 5 – Установка и настройка Plex Media Server в контейнере LXC Proxmox-VE

  1. Домашний Сервер: Часть 1 – Предисловие, аппаратная и софтовая начинка
  2. Домашний Сервер: Часть 2 – Установка системы виртуализации Proxmox
  3. Домашний Сервер: Часть 3 – Внутренний DNS сервис на BIND9 или свои доменные имена в локальной сети
  4. Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE
  5. Домашний Сервер: Часть 5 – Настройка Plex Media Server в контейнере LXC Proxmox-VE (вы тут)

 

Предисловие

Ну вот мы и добрались до самого медиасервиса с помощью которого можно просматривать свою медиатеку.

Познакомился я с Plex еще лет пять назад, тогда он был проще, но позволял делать все, что необходимо.

Кратко, что такое Plex? — По сути это медиа «комбайн» или центр управления, с помощью которого вы можете удобно хранить, искать и воспроизводить свой медиа контент и это не только фильмы или сериалы, это могут быть изображения и музыка. Командой Plex выпущены приложения для различного типа устройств, чтобы можно было начать смотреть фильм дома на большом экране и досмотреть например его в дороге.

Источник: www.plex.tv

 

Кстати недавно Plex запустил собственный бесплатный потоковый сервис с поддержкой рекламы.

Источник 5 dec 2019 (ENG): www.flatpanelshd.com

 

И еще, вы знали, что Plex поддерживает VR?

Т.е. если у вас нет большого экрана, но есть VR, вы можете создать себе свой собственный виртуальный кинотеатр. Правда есть пара нюансов =)

www.plex.tv/virtual-reality

 

Можно принять участие в переводе Plex

https://www.transifex.com/plex-1/plex-web/

 

P.S.

Скажу сразу — это не реклама. От слова «совсем». Просто на текущий момент это единственная грамотная система для просмотра локальной медиатеки на различных устройствах, причем абсолютно бесплатно!

Установка Plex Media Server

В первую очередь необходимо развернуть отдельный LXC контейнер для медиасервера.

Подробно мы это разобрали в статье: Домашний Сервер: Часть 3 – Внутренний DNS сервис на BIND9 или свои доменные имена в локальной сети

Также для Plex Media Server понадобится доступ к месту хранения скачанных медиа файлов фильмов и сериалов, делаем по аналогии с Torrent качалкой

Мы разобрали это в статье: Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE

По итогу получаем финальный конфиг LXC контейнера для Plex в Proxmox-VE

 

cat /etc/pve/lxc/102.conf

 

#*) plexmediaserver

#*) snmpd

#*) nginx

arch: amd64

cores: 4

hostname: PLEX

memory: 2048

mp0: /rpoolz/data,mp=/mnt/data

nameserver: 192.168.88.7 192.168.88.1

net0: name=eth0,bridge=vmbr0,firewall=1,hwaddr=52:60:C0:78:C1:71,ip=dhcp,type=veth

onboot: 1

ostype: debian

rootfs: local-zfs:subvol-102-disk-0,size=8G

searchdomain: gregory-gost.ru

swap: 2048

unprivileged: 1

 

Запустим контейнер и перейдем к установке и настройке Plex Media Server

 

Проверяем смонтированную папку

 

ls -l /mnt/

total 1

drwxrwxrwx 4 nobody nogroup 4 Sep 25 23:14 data

 

Видим нужную нам папку, все хорошо, продолжаем.

 

Обновляем контейнер и устанавливаем дополнительные утилиты

 

apt update && apt full-upgrade -y

 

apt install net-tools curl apt-transport-https

 

Разработчики Plex любезно предоставляют полноценный репозиторий для обновлений через APT.

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

Источник (ENG): Enable repository updating for supported Linux server distributions

 

 

В этой статье рассматривается процесс установки в контейнере Debian: DEB-based distros (Debian, Ubuntu, etc.)

По ссылке разработчиков Plex, также присутствует инструкция добавления репозитория для RPM-based distros (Fedora, CentOS, etc.)

 

Скачиваем и устанавливаем ключ от репозитория

 

curl https://downloads.plex.tv/plex-keys/PlexSign.key | apt-key add -

 

Создадим файл источника для установки и обновлений.

 

nano /etc/apt/sources.list.d/plexmediaserver.list

 

# Plexmediaserver

deb https://downloads.plex.tv/repo/deb public main

 

Обновляем репозитории

 

apt update

 

Подготовка завершена, устанавливаем Plex Media Server

 

apt install plexmediaserver

 

При окончании установки появится запрос замены файла репозитория.

Я рекомендую оставить вариант по умолчанию. Т.е. не заменять файл репозитория созданный нами, на файл предлагаемый пакетом Plex

 

Файл настройки "/etc/apt/sources.list.d/plexmediaserver.list"

==> Файл, созданный вами или сценарием.

==> Также, файл в пакете, предоставленный сопровождающим пакета.

Что нужно сделать? Есть следующие варианты:

Y или I : установить версию, предлагаемую сопровождающим пакета

N или O : оставить установленную на данный момент вермию

   D    : показать различия между версиями

   Z    : запустить оболочку командной строки для проверки ситуации

По умолчанию сохраняется текущая версия файла настройки.

*** plexmediaserver.list (Y/I/N/O/D/Z) [по умолчанию N] ?

 

Дожидаемся окончания процесса установки и запуска.

Проверяем запущен ли Plex

 

service plexmediaserver status

 

Если видим то, что ниже, значит все хорошо.

 

Active: active (running)

 

Сервер Plex будет работать по IP адресу контейнера.

WEB интерфейс запущен на TCP порту 32400 и еще необходимо указать дополнительный путь /web/

 

netstat -nltp4

tcp        0      0 0.0.0.0:32400           0.0.0.0:*               LISTEN      27590/Plex Media

 

Откроем в браузере свой сервер набрав IP адрес и порт. У меня IP контейнера 192.168.88.8

192.168.88.8:32400/web/

gost-plex-1
 

После входа, Plex запросит вашу Учетную запись. Если у вас её нет, то будет необходимо пройти простую процедуру регистрации. Благо есть возможность заходить через учетные записи Google или Facebook.

После входа вас вернет на локальный сервер.

gost-plex-2
Вводное информационное окно

Далее необходимо выполнить первичную настройку Локального Сервера

 

После данного этапа сервером уже можно начинать пользоваться. Но есть еще некоторые вещи, которые упростят пользование данным сервисом и сделают его более понятным для пользователя владеющим Русским языком.

 

Установка и настройка nginx

 

Т.к. у нас есть DNS, реализуем вход по доменному имени, например у меня plex.gregory-gost.ru

Как видите никаких портов и дополнительных путей вводить при этом не требуется.

Сравните, что удобнее, понятнее и привычнее?

192.168.88.8:32400/web/

или

plex.gregory-gost.ru

 

Для этого используем реверс прокси.

Ставим nginx, останавливаем, удаляем базовый сайт «hello world» и добавляем свои настройки.

 

apt install nginx

 

service nginx stop

 

rm /etc/nginx/sites-enabled/default

 

nano /etc/nginx/nginx.conf

 

error_log               /var/log/nginx/error.log crit;

pid                     /var/run/nginx.pid;

worker_rlimit_nofile    8192;

timer_resolution        100ms;

include                 /etc/nginx/modules-enabled/*.conf;



events {

        multi_accept    on;

        accept_mutex    off;

        use             epoll;

}



http {

        include         /etc/nginx/mime.types;

        include         /etc/nginx/fastcgi.conf;

        default_type    application/octet-stream;



        sendfile        on;

        tcp_nopush      on;

        tcp_nodelay     on;



        #ssl_session_cache      shared:SSL:10m;

        #ssl_session_timeout    10m;



        include         /etc/nginx/conf.d/*.conf;



}

 

nano /etc/nginx/conf.d/plex.conf

 

upstream plex_backend {

        server          127.0.0.1:32400;

        keepalive       32;

}



server {

        listen          80;

        server_name     plex.gregory-gost.ru;



        send_timeout    100m;



        gzip            on;

        gzip_vary       on;

        gzip_min_length 1000;

        gzip_proxied    any;

        gzip_types      text/plain text/css text/xml application/xml text/javascript application/x-javascript image/svg+xml;

        gzip_disable "MSIE [1-6].";



        client_max_body_size 100M;



        proxy_http_version 1.1;

        proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_set_header Upgrade $http_upgrade;

        proxy_set_header Connection "Upgrade";



        proxy_redirect off;

        proxy_buffering off;



        location / {

                if ($http_x_plex_device_name = '') {

                        rewrite ^/$ http://$http_host/web/index.html;

                }

                proxy_pass http://plex_backend;

        }



}

 

Запускаем nginx и проверяем вход по доменному имени

 

service nginx start

 

Установка плагина Kinopoisk

 

Plex поддерживает различные плагины, которые немного упрощают жизнь. Для того, чтобы фильмы в библиотеке обрабатывались корректно и метаданные по ним скачивались на Русском языке можно и не ставить данный плагин. Plex умеет по умолчанию работать с The Movie Database (TMDb) и подгружает русские названия с описанием и постеры от туда. Правда рейтинг также берется с TMDb.

Благо есть «в нашем селении» способные умельцы. Уважаемый amirotin разработал плагин, который парсит метаданные с Кинопоиска.

С декабря 2019 года, amirotin перестал заниматься плагином и его поддержку на себя взял ziemenz.

 

Возможности плагина:

 

    1. Загрузка рейтингов для фильмов

 

    • Kinopoisk

 

    • Rotten Tomatoes

 

    • IMDb

 

    • The Movies Database

 

 

  • Источники рецензий на фильмы

 

    • Kinopoisk

 

    • Rotten Tomatoes

 

 

  • Загрузка трейлеров фильмов

 

  • Загрузка дополнительных материалов (сцены, интервью)

 

  • Загрузка английских имен актеров

 

  • Приоритет локализованных обложек фильмов

 

  • Поддержка прокси-серверов (http, sock5)

 

 

Я надеюсь, что данный плагин не является нарушением авторских или каких-либо других прав компании ООО «Яндекс» (владеет Кинопоиском с 15 октября 2013 г.) т.к. это не коммерческий софт

У себя, я использую Релизную версию плагина 2.0.1 от 29 февраля 2020 г.: Стабильный релиз v2.0.1

Инструкция для других OS(Windows, MacOS, FreeBSD, FreeNAS, QNAP, ): https://github.com/amirotin/Kinopoisk.bundle

Новая страница с исходниками плагина: https://github.com/ziemenz/Kinopoisk.bundle

Переходим в папку с плагином, скачиваем и распаковываем

cd /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/

 

wget https://github.com/ziemenz/Kinopoisk.bundle/archive/v2.0.1.tar.gz

 

tar xvzf v2.0.1.tar.gz

 

Переименовываем папку т.к. она содержит лишнее «2.0.1»

 

mv Kinopoisk.bundle-2.0.1 Kinopoisk.bundle

 

Даем права для Plex Media Server на папку

 

chown -R plex:plex Kinopoisk.bundle/

 

Финальный вариант работающего Plex Media Server

gost-plex-6
Скриншот Web интерфейса Plex Media Server

 

Некоторые настройки Plex Media Server

 

Покажу некоторые настройки, которые у меня установлены для Plex Media Server.

В основном это настройки библиотек и плагинов обработки для них, остальные вы можете изучить самостоятельно, благо все на Русском языке.

Для фильмов Кинопоиск 2.0

Для сериалов The Movie Database т.к. плаин Кинопоиска пока не умеет работать с сериалами.

Изображения кликабельны:

 

TV Приставки и приложения для просмотра

 

И еще, немного затронем то, на чем все это великолепие можно смотреть!

Я использую на текущий момент:

 

    1. Xiaomi Mi Box S (MDZ-22-AB) Global Version — Использую на текущий момент. Все устраивает полностью, Android TV с приложением Plex, удобный Bluetooth пульт. (5 990 руб. на дату написания статьи в магазине Xiaomi. На Ali дешевле.)

 

    1. Raspberry Pi 3B+ с LibreELEC 9.2.0 — Установлен скрипт Plex с автозапуском. Пока единственный нормальный Custom по опыту. В целом задачи решает, но не так удобен, как Mi Box S на Android TV. Я писал статью по использованию: Домашний Медиа-плеер: LibreELEC(Kodi) на Raspberry Pi 3B+. Но планирую заменить на какой-нибудь Smart Box

 

 

Что еще можно использовать?

 

    1. Google Chromecast Ultra — Собственно плеер на Android TV от самого Google, функции аналогичные Mi Box S, но нет в комплекте Bluetooth пульта.

 

    1. Nvidia Shield TV 2019 — Обновленная «приставка» от Nvidia. С пультом, аналог Mi Box S и Google Chromecast Ultra, но дороже (13 990 руб. на дату написания статьи в магазине Nvidia)

 

    1. Nvidia Shield TV Pro 2019 — Более прокачанная версия «шилда» причем Plex Media Server уже встроен в этот медиаплеер, что конечно сомнительно всего 16Гб места, часть из которого занимает система. Даже с учетом возможности подключения HDD/SSD. (17 590 руб. на дату написания статьи в магазине Nvidia)

 

    1. Другие китайские или Российские(российско-китайские?) приставки на базе простого Android, CoreELEC, Android TV, др. — Ценники начиная от 1 500 руб. (Ugoos, H96, X96, X88, Movix Pro и т.д. и т.п.)

 

    1. Приложение PlexApp (офф версия требует PlexPass) — Есть, как для iOS так и для Android. Ставится на любой планшет, смартфон и т.д.Присутствует на некоторых Smart TV, тут вам нужно изучить набор приложений для вашего телевизора.

 

    1. Raspberry Pi и его аналоги на базе Kodi. Домашний Медиа-плеер: Raspbian + Kodi + плагин Plex на Raspberry Pi 3 B+

 

 

На февраль 2020:

Если хотите нормальные UHD(«4K» Ultra HD 2160p) с HDR и Автофреймрейтом, то смотрите в сторону Ugoos AM6+ или Pro, Nvidia Shield TV 2019 Pro

Для FHD(Full HD 1080p) Xiaomi Mi Box S побюджетней.

 

Если что-то забыл, пишите в комментариях, добавлю 🙂

 

Заключение

 

На этой радостной ноте предлагаю, закончить свое повествование по реализации Домашнего медиа сервера. Мы своего добились, фильмы и сериалы качаются на раз-два, просмотр доставляет одно удовольствие, ПК не захламлен кучей фильмов.

Возможно существуют и альтернативы Plex-у, в виде каких-то DLNA клиентов или даже тот-же Kodi, но все они не так удобны и проработаны, что дает очевидный выбор в пользу Plex. Даже при наличии различного рода сервисов, которые избыточны для домашнего локального просмотра, Plex их не навязывает и они не заметны. Это позволяет использовать его с комфортом.

Мне остается только понадеятся на грамотное развитие данной системы в будущем и пожелать его авторам успехов.

А вам дорогие читатели находить новые решения, использовать все самое лучшее и делиться впечатлениями!

 

В рамках цикла «Домашний сервер» планирую еще две статьи

    1. The Dude — мониторинг девайсов в домашней сети.
    1. FreePBX (Asterisk) — IP телефония.

А вот реализация Домашнего IoT пойдет в отдельный цикл, чтобы было проще ориентироваться в дальнейшем. Посмотрим будет ли интерсено читателям )

    1. openHAB 2 — домашний IoT.

 

Благодарю за ваше время!

Всего хорошего на просторах Интернета 😉

 

UPD: 29.02.2020

Изменен источник и инструкция для плагина Kinopoisk.

 

IPFW: фильтрация ICMP запросов

Полный список типов запросов/ответов приведен ниже:

  • 0 – echo reply (echo-ответ, пинг)
  • 3 – destination unreachable (адресат недосягаем)
  • 4 – source quench (подавление источника, просьба посылать пакеты медленнее)
  • 5 – redirect (редирект)
  • 8 – echo request (echo-запрос, пинг)
  • 9 – router advertisement (объявление маршрутизатора)
  • 10 – router solicitation (ходатайство маршрутизатора)
  • 11 – time-to-live exceeded (истечение срока жизни пакета)
  • 12 – IP header bad (неправильный IP-заголовок пакета)
  • 13 – timestamp request (запрос значения счетчика времени)
  • 14 – timestamp reply (ответ на запрос значения счетчика времени)
  • 15 – information request (запрос информации)
  • 16 – information reply (ответ на запрос информации)
  • 17 – address mask request (запрос маски сети)
  • 18 – address mask reply (ответ на запрос маски сети)

Правила для IPFW:

cmd=»ipfw -q add»



pif=»em0″



#Enable allow from world to me some types of ICMP



$cmd 00500 allow icmp from any to me in via $pif icmptype 3,8,12



#Enable some types of ICMP from me to world



$cmd 00510 allow icmp from me to any out via $pif icmptype 0,3,4,11,12



#Disable ICPM any another

$cmd 00520 deny log icmp from any to me in via $pif icmptype 5,9,10,13,15,17,18



#Disable ICPM frag 

$cmd 00530 deny icmp from any to any frag






После всего, не забудем перезагрузить IPFW:

# /etc/rc.d/ipfw restart

net.inet.ip.fw.enable: 1 -> 0

net.inet6.ip6.fw.enable: 1 -> 0

Firewall rules loaded.

Firewall logging enabled.



2019-10-24T12:02:26
FreeBSD

🚇 Как включить SSH на FreeBSD

OpenSSH Server как правило установлен по умолчанию во FreeBSD. Но в новой системе FreeBSD удаленные входы по SSH запрещены. Вы должны разрешить SSH доступ для доступа к вашему серверу FreeBSD через SSH. В этом кратком руководстве объясняется, как включить SSH на FreeBSD. Читать

Мониторинг в ОС FreeBSD. Как искать слабые места в системе

1. top. Она показывает общие сведения о процессоре, памяти и процессах, если возникают вопросы по производительности,  её запускают первой, чтобы выявить аномалии в системе. У утилиты top есть параметры, которые облегают жизнь, их мы набираем в top’e когда он запущен:

S — показать системные процессы, по умолчанию они не показываются

u — и имя пользователя, например u mysql покажет процессы запущенные от пользователя mysql

o — используем для сортировки, возможные параметры — pri, size, res, cpu, time, threads

m — переключение между режимами отображения нагрузки и ввода-вывода

k — завершить процесс, ввод pid процесса

r — изменить приоритет процесса, вводим pid процесса

n — отображать статистику по определённому процессу

a — показывает абсолютные запущенных процессов

top -n 3 — показывает самые ресурсоёмкие приложения в данный момент

2. gstat — показывает использование дисков

gstat -a — используется для вывода только активных устройств

3. vmstat — показывает состояние виртуальной памяти и буфера.

vmstat 5 — отображает статистику раз в пять секунд

vmstat -z — показывает состояние буфера

vmstat -i — показывает состояние прерываний

4. iostat — выводит статистику по I/O усройств

iostat -d -w5 — показывать информацию по дискам, с периодичностью в пять секунд безостановочно

iostat -dx -w5 — показывает расширенную статистику

5. systat — отображает различные параметры системы.

systat -vmstat 1 — отображает суммарную системную статистику

systat -netstat 1 — показывает активные сетевые соединения

systat -ifstat 1 — отображает нагрузку сетевых интерфейсов

systat -tcp 1 — отображает статистику tcp-соединения, возможен просмотр по icmp, ip, icmp6, ip6

systat -iostat 1 — отображает нагрузку на процессов, дисковую подсистему

systat -swap 1 — показывает загрузку файла подкачки

6. netstat — показывает активные сетевые соединения.

netstat -w 1 — количество пакетов в настоящее время

netstat -ibt — вывод сетевых интерфейсов с разбивкой по IP адресам, отображает объём трафика, количество ошибок, коллизий.

netstat -rn — отображает таблицу маршрутизации

8. diskinfo -t ad0 – показывает информацию по диску, и делает тест на дисковую производительность.

9. sysctl — позволяет посмотреть параметры в системы и внести изменения, такие как стек tcp/ip, виртуальной памяти.

sysctl -a — показывает все параметры

sysctl kern.ipc.numopensockets — показывает количество открытых сокетов

sysctl kern.openfiles — показывает количество открытых файлов

10. df — утилита, которая показывает свободное место на дисках.

df -h — отображает слайсы, и свободноезанятое место.

df -i — показывает количество занятых инодов.

11. fstat — показывает список открытых файлов.

fstat |grep http| wc -l — показывает список открытых файлов по процессу http

12. sockstat — отображает информацию о сокетах, сетевых и файловых.

sockstat -l — список портов открытых на прослушивание

sockstat -c список установленных соединений

sockstat -4, -6 — по протоколу ipv4 или ipv6

13. lsof — показывает информацию от откртых сокетах, файлах и сетевых соединениях.

lsof -i -n — показывает открытые интернет-соединения

lsof -i -n |grep ESTABLISHED — показывает открытые, и установленные сетевые соединения

14. ps auxww|grep имяpidот_кого_запущено — позволяет получить информацию по интересующему процессу.

15. mount — показывает смонтированные разделы.

16. swapinfo — показывает информацию о файле подкачки.

17. iftop – которая показывает статистику по сетевым интерфейсам, к при меру:

iftop -i em0

18. tunefs -p /tmp – показывает информацию о файловой системе.

19. uname -a — показывает информацию о системе, ядре.

20. date — выводит текущую дату и время.

21. w — показывает кто, откуда, во сколько зашёл в систему.

22. last — показывает историю входов в систему, и последнюю перезагрузку.

23. uptime — показывает сколько система работает с момента последней перезагрузки.



2019-08-12T16:11:25
FreeBSD

Способы защиты от флуда и DDoS атак в FreeBSD

Хотелось бы поговорить с вами на актуальную нынче тему, а именно — про DDoS и методы борьбы с ним. Рядовые администраторы знают, что это такое, а вот для большинства вебмастеров это аббревиатура остается загадкой до того момента пока они на личном опыте не столкнуться с этой неприятностью.

Итак, DDoS — это сокращение от Distributed Denial of Service (распределенный отказ в обслуживании), когда тысячи зараженных компьютеров отправляют на сервер множество запросов, с которыми он, в последствии, не может справиться. Целью DDoS атаки является нарушение нормальной работы сервера, а в дальнейшем — «падение» сайта или сервера целиком.

Как же от этого защититься? К сожалению, универсальных мер защиты от DDoS-атак до сих пор не существует. Тут необходим комплексный подход, который будет включать меры аппаратного, программного и даже организационного характера.

 

Черные дыры

 

net.inet.tcp.blackhole=2

net.inet.udp.blackhole=1

 

Это превращает машину в черную дыру при попытке подключиться к портам, которые не слушают. Nmap по настоящему не любит это.

 

Защита очереди сокета от SYN атак.

 

Основной из самых популярных атак остается SYN флуд, при которой очередь сокета атакуемого хоста переполняется некорректными попытками соединений. Для защиты от таких атак некоторые из UNIX поддерживают отдельные очереди для входящих запросов на соединение. Одна очередь для полуоткрытых сокетов (SYN полученSYN|ACK послан), другая очередь для полностью открытых сокетов, ждущих вызова accept() от программы. Эти две очереди должны быть увеличены, чтобы атаки малой и средней интенсивности почти не влияли на стабильность и доступность сервера.

 

kern.ipc.somaxconn=1024

 

Редиректы (Перенаправления)

Атакующий может использовать IP redirect для изменения таблицы марщрутизации на удаленном хосте. В хорошо разработанной сети редиректы на конечные станции не должны требоваться. Оба – отправка и принятие редиректов должны быть отключены.

 

net.inet.icmp.drop_redirect=1

net.inet.icmp.log_redirect=1

net.inet.ip.redirect=0

net.inet6.ip6.redirect=0

 

Настройка стека IP в системах UNIX на оптимальную производительность

 

На размер буфера приема и передачи TCP напрямую влияет параметр размера TCP окна. Увеличенный размер окна позволит более эффективно передавать данные, особенно при интенсивной передаче, такой как FTP и HTTP. Значение по умолчанию не является оптимальным и должно быть увеличено до 32768 байт. Это значение не должно быть более 64Кб, если вы не знаете об ограничениях RFC1323 и RFC2018, и если нет поддержки с обеих сторон.

 

sysctl -w net.inet.tcp.sendspace=32768

sysctl -w net.inet.tcp.recvspace=32768

 

Очистка ARP

 

Существует возможность, что атакующий создаст нехватку ресурсов или уменьшение производительности заполнив кэш маршрутизации IP с помощью неправильных записей в ARP таблице. Этот параметр рекомендуется выставить в 20 минут по умолчанию.

 

sysctl -w net.link.ether.inet.max_age=1200

 

Маршрутизация отправителя:

 

С помощью маршрутизации отправителя атакующий может попытаться достигнуть внутренние IP адреса, включая адреса RFC1918. Важно отключить принятие пакетов маршрутизации отправителя для предотвращения незаметных проб вашей внутренней сети.

 

sysctl -w net.inet.ip.sourceroute=0

sysctl -w net.inet.ip.accept_sourceroute=0

 

Установка TIME_WAIT

 

На загруженном web сервере многие сокеты могут задерживаться в состоянии TIME_WAIT. Это вызвано неправильно написанными клиентскими программами, которые неправильно закрывают сокеты. Это так же может быть использовано для DDoS атак.

 

Нет рекомендаций по настройке.

 

Ответ на широковещательный ECHO

 

Эти атаки работают с помощью отправки сообщения ICMP 8 0 (запрос ECHO) на широковещательный адрес с фальшивого адреса. Некоторые стеки IP ответят по умолчанию на такие сообщения. Это должно быть отключено. Более того, если хост является фаерволом или роутером, то он не должен пропускать прямые широковещательные запросы.

 

sysctl -w net.inet.icmp.bmcastecho=0

 

Другие пробы с помощью широковещания

Существуют 2 вида проб. Запрос маски адреса может быть использован для определения размера блока сети и установки диапазона для дальнейших проб. Широковещательный запрос временного штампа (timestamp) – еще одно средство выявления хостов и определения их операционных систем (fingerprinting)

sysctl -w net.inet.icmp.maskrepl=0



2019-08-08T16:24:48
FreeBSD