Приветствую вас, «мои маленькие любители этого интересного». Сегодня будем патчить KDE под FreeBSD устанавливать Linux.
Экспериментировать лучше всего на виртуальной машине, поэтому ставим VirtualBox, если ещё нету.
Далее качаем образ Ubuntu Server.
Создание виртуальной машины:
- Создать машину и выбрать образ ISO.
- Отключил автоматическую установку
- 2 ядра + 4 Гб памяти
- включил EFI
- диск на 8 Гб
- Готово
- Настроить -> Сеть -> Адаптер 1 -> Тип подключения -> Сетевой мост.
Убедиться, что в имени выбран рабочий сетевой интерфейс. - Запуск.
Установка Ubuntu Server:
- язык — выбрал Русский, но не принципиально.
- обновился на новый установщик.
- клавиатура — без изменений.
- Ubuntu Server.
- дополнительные драйвера — не надо, т.к. виртуалка.
- в настройках сети, если всё хорошо, должен быть получен адрес от маршрутизатора.
- proxy — пусто.
- выбор зеркала — без изменений.
- диск — без изменений.
- имя пользователя — чё-нить попроще, типа qwe и такой же пароль.
- имя сервера — ubuntu_test_1 или аналогичное.
- Ubuntu Pro — skip for now.
- Open SSH — install.
- Featured server snaps — ничего дополнительного не надо.
- дождаться окончания установки…
- reboot.
- после загрузки ввести логин и пароль. Далее найти в System Information и запомнить \ записать IP-адрес сервера.
- Набрать в терминале (power shell \ командная строка) команду:
ssh <ip_адрес_сервера_ubuntu> -l <имя_пользователя> + Enter
сообщение, что новый сервер — yes.
ввести пароль и вуаля — мы на сервере.
Обновление системы:
Последовательно ввести команды в терминале:
- sudo apt-get update
- sudo apt-get upgrade
- sudo reboot
Временная зона сервера:
- timedatectl — посмотреть текущую временную зону.
- timedatectl list-timezones — посмотреть доступные временные зоны (Ctrl+c — выход)
- sudo timedatectl set-timezone <временная_зона> — установить. Например:
sudo timedatectl set-timezone Asia/Tomsk
Передача файлов между сервером и клиентом.
- WinSCP.
- Double Commander с плагином SFTP от TotalCommander.
Манипуляции с файлами на сервере
- Midnight Commander — двухпанельный файловый менеджер в терминале.
- установка
sudo apt -y install mc
- запуск
mc
илиsudo mc
, если нужен root.
- установка
ZFS
- согласно инструкции с оф. сайта:
sudo apt install zfsutils-linux
- убедиться, что всё хорошо:
whereis zfs
Samba
- Установка
sudo apt install samba
- проверка
whereis samba
Cockpit
Отслеживать состояние и выполнять некоторые операции всё же удобней через графический интерфейс, особенно если у вас нет свитера, бороды и 10-ти летнего стажа администрирования linux-подобных систем через терминал. Кроме того у cockpit есть дополнение для работы с ZFS, которая мне досталась от TrueNas Scale — замечательного сетевого хранилища для домохозяек и тех, кто не готов примкнуть к отряду красноглазых ботаников. Но поскольку я из последних, то готовое решение мне не подходит. Нужен конструктор. Поэтому Cockpit.
- согласно инструкции по по установке на оф. сайте нужно выполнить следующую команду:
. /etc/os-release
sudo apt install -t ${VERSION_CODENAME}-backports cockpit
- после в браузере в строке адреса набрать <ip_адрес_сервера_ubuntu>:9090
из-за самоподписного сертификата будет предупреждение безопасности — принять и продолжить - авторизоваться
- включить режим администратора
- проверить обновления программного обеспечения на одноимённой вкладке.
Если ошибка «Cannot refresh cache whilst offline», то решение тут:sudo nano /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
- скопировать в буффер текст и вставить в nano щёлкнув правой клавишей мыши:
[keyfile]
unmanaged-devices=none
- Ctrl+s , Ctrl+x
sudo nmcli con add type dummy con-name fake ifname fake0 ip4 1.2.3.4/24 gw4 1.2.3.1
sudo reboot
Дополнения Cockpit
Списочек с оф. сайта. Наиболее интересны от 45Drives, поэтому добавим их репозиторий с пакетами:curl -sSL https://repo.45drives.com/setup | sudo bash
sudo apt update
Далее по списку:
- Cockpit Identities — управление пользователями и группами.
- Установка
sudo apt install cockpit-identities
- Установка
- cockpit-file-sharing — управление ресурсами общего доступа по протоколам SMB и NFS.
- Установка
sudo apt install cockpit-file-sharing
- Установка
- Cockpit ZFS Manager — управление ZFS
- Установка № 1
sudo apt install cockpit-zfs-manager
Этот вариант был обнаружен опытным путём.
Помимо расширения будет также установлена служба ZnapZend — ZFS Backup System, которая будет останавливаться по ошибке. - Установка № 2
git clone https://github.com/45drives/cockpit-zfs-manager.git
sudo cp -r cockpit-zfs-manager/zfs /usr/share/cockpit
Это вариант с оф. сайта. Как видно по командам тут клонируется репозиторий с github и затем каталог zfs копируется в каталог установки cockpit. Службы не будет. Моё предпочтение. - Редактирование файла конфигурации Samba (не уверен что надо, но пусть будет)
sudo nano /etc/samba/smb.conf
Вставить в секцию [global] следующие строки:shadow: snapdir = .zfs/snapshot
shadow: sort = desc
shadow: format = %Y.%m.%d-%H.%M.%S
shadow: localtime = yes
vfs objects = acl_xattr shadow_copy2
- Установка № 1
Создание ресурсов общего доступа.
- Создание и подключение виртуального ZFS диска.
- Погасить машину (sudo poweroff).
- Настроить -> Носители -> Контроллер SATA -> Добавить жёсткий диск -> Создать
- Включить машину.
- на вкладке «Хранилище» Сockpit появится новый диск sdb
- Создать пул (pool = объединение) и наборы данных (dataset)
- на вкладке ZFS -> Create Storage Pool -> выбрать единственно доступный sdb и прописать имя (например zfs_test, tank, hdd, ssd и т.п.).
- там же раскрыть только что созданный пул -> Create filesystem. Имя произвольно, например inbox для входящих файлов.
- создать ещё один набор данных с именем media (произвольно, опять таки).
- Создание пользователей.
Изначально я планировал использовать анонимный доступ — этого достаточно для домашней сети, и при условии, что только 1 каталог будет с правами записи, а всё остальное — только на чтение. Однако Microsoft отключила доступ гостевой учётной записи к удалённому серверу. Поэтому решено было создать спец. пользователя для этих целей с простым общедоступным паролем.- Вкладка Identities
- Groups -> +
- отдельную группу для каждого ресурса, например _inbox_users и _media_users. Префикс, чтобы группы были вначале списка.
- создать пользователя anon (сокращение от Anonymous) и добавить его в обе эти группы. Пароль — GUID (абракадабра). Без возможности войти (Login Shell — No login).
- Кнопочка Set Samba Password и туда одноимённый пароль.
- Публикация ресурсов
- Вкладка File Sharing -> Share Configuration -> +
- имя media, путь /zfs_test/media, Windows ACLs, Edit Permissions -> выбрать группу и нужные разрешения, Apply.
- аналогично для inbox.
Тестирование
- В проводнике в строке адреса вбить 2 обратных слеша (\\) а затем IP-адрес сервера.
- авторизоваться.
На этом можно было бы и закончить, но мне привычней операции с файлами делать в DoubleCommander, а не в проводнике. Поэтому не лишним будет подключить опубликованные ресурсы в виде сетевого диска. Операция эта 100500 раз описана в интернетах (туц), поэтому повторяться не буду.