Top.Mail.Ru
? ?

Previous Entry | Next Entry

debian джейл на nas4free

Сегодня у нас в меню извращение уровня "хоккей на траве + балет на льду". На nas4free поднимем джейл с ядром FreeBSD и системой управления пакетами Debian. Встречаем Debian GNU/kFreeBSD

Сделано на основе поста alexey123, с незначительными изменениями и дополнениями.

Но в начале - зачем такое нужно? Во-первых, разнообразие deb пакетов не идёт ни в какое сравнение с разнообразием пакетов для FreeBSD, так что есть надежда поставить что-то, на FreeBSD не встающее. Надо, однако, понимать, но архитектура kFreeBSD-amd64 отличается от архитектуры amd. В результате, например, консольный клиент Яндекс я в полученный джейл поставить не смог, а исходными текстами, чтобы порыться, Яндекс пока не балует. А во-вторых такой кунштюк - это забавно.

Ставить джейл будем на nas4free, embedded, x64, актуальная 847 сборка. В ней появился редактор loader conf. Предполагаем, что у нас установлена актуальная версия TheBrig.

1) Идём в System|Advanced|loader.conf и задаём
fdescfs_load = "YES"
linprocfs_load = "YES"
linsysfs_load = "YES"
tmpfs_load = "YES"
Должно стать, как помечено галочками
koader4debian
Кстати, большинство остальных параметров - тюнинг моего NAS, описан подробнее тут.

2) Перегружаем nas4free, даём команду
kldstat
и убеждаемся, что все 4 модуля загружены.
Id Refs Address Size Name
1 40 0x80400000 1201b7c kernel
2 1 0x81602000 425c fdescfs.ko
3 1 0x81607000 94e4 linprocfs.ko
4 3 0x81611000 32068 linux.ko
5 1 0x81644000 3000 linsysfs.ko
6 1 0x81647000 195654 zfs.ko
7 2 0x817dd000 40a4 opensolaris.ko
8 1 0x817e2000 22d0 accf_http.ko
9 1 0x8e5e5000 11f48 isboot.ko
10 1 0x8e5f7000 a230 tmpfs.ko
11 1 0x95671000 4000 nullfs.ko
12 1 0x94b6c000 4000 ng_socket.ko
13 1 0x957cf000 b000 netgraph.ko

3) Создадим через TheBrig новый джейл, тип - Linux, имя debian
jaildebian

4) Как Jail start command ставим /etc/init.d/rc 3

5) Как User command stop ставим /etc/init.d/rc 0

6) Fstab:
linprocfs /mnt/Pool/Jail/debian/proc linprocfs rw 0 0
linsysfs /mnt/Pool/Jail/debian/sys linsysfs rw 0 0
tmpfs /mnt/Pool/Jail/debian/lib/init/rw tmpfs rw 0 0

7) Не обязательно, но удобно для вызова джейла по имени
Options ставим -l -U root -n debian

8) Теперь нам понадобится рабочий джейл, назовём его proto, тип - Full, создаём из архива, галочки ставим перед
- FreeBSD-amd64-9.1-RELEASE-base.txz
- FreeBSD-amd64-9.1-RELEASE-lib32.txz
- FreeBSD-amd64-9.1-RELEASE-src.txz

9) Запускаем proto, входим в него. Если в Options задать -l -U root -n proto
то можно по имени
jexec proto csh

10) Качаем дерево портов (чашечка кофе)
portsnap fetch update

11) Собираем и устанавливаем bootstrap (ещё чашечка)
cd /usr/ports/sysutils/debootstrap && make install clean

12) создаём папку и выходим
mkdir -p /jail/debian
exit


13) Дальнейшее в командной строке хоста nas4free
mount_nullfs /mnt/Pool/Jail/debian /mnt/Pool/Jail/proto/jail/debian
chroot /mnt/Pool/Jail/proto
debootstrap wheezy /jail/debian http://cdn.debian.net/debian


Прим - вместо указанных выставьте свои пути к командах
Прим - alexey123 ставил предыдущую версию Debian, squeeze. Но мне показалось правильным поставить актуальную = wheezy
Прим - процесс ещё на пару чашек кофе

12) По окончании даём команды
mkdir /jail/debian/usr/ports
cp /etc/master.passwd /jail/debian/etc/
/usr/sbin/pwd_mkdb -d /jail/debian/etc -p /jail/debian/etc/master.passwd
exit


13) Стартуем кнопкой в TheBrig джейл Debian, входим в него
jexec debian sh

14) Смотрим что получилось
uname -a

GNU/kFreeBSD debian.local 9.1-RELEASE-p5 FreeBSD 9.1-RELEASE-p5 #0 r254466M: Sat Aug 17 22:54:54 CEST 2013 root@dev.nas4free.org:/usr/obj/nas4free/usr/src/sys/NAS4FREE-amd64 x86_64 amd64 Intel(R) Pentium(R) CPU G2120 @ 3.10GHz GNU/kFreeBSD

15) Установка пустая, пакеты ругаются на отсутствие locale (языка и языковых параметров по умолчанию), добавим их
apt-get update
apt-get install locales
nano /etc/environment

в открывшийся пустой файл добавляем
LANG = "en_US.UTF-8"

nano /etc/locale.gen
убираем коммент перед
en_US.UTF-8 UTF-8

locale-gen

На этом у меня всё. На этом месте я сделал zfs снимок датасета Pool/Jail. alexey123 предлагает добавить sudo (aptitude install sudo), пользователя и пр - но меня пока устраивает полученная конструкция с root

Прим. Ставятся не все вообще пакеты, а только те, которые есть в репозитариях для архитектуры kFreeBSD-amd64
Например, davfs2 - не ставится за отсутствием таковых
# apt-get install davfs2
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package davfs2

Comments

( 18 comments — Leave a comment )
jidigr
Sep. 9th, 2013 07:02 pm (UTC)
линух под фряхой - ет кароффка на лёде )))
но, вполне реализуемо, правда необходимы бааальшы пляски с бубном и грибаме ))) гг
2gusia
Sep. 10th, 2013 05:34 am (UTC)
:) вот мне и захотелось на такое диво вглянуть
jidigr
Sep. 10th, 2013 05:46 am (UTC)
А ты суровый одминистратер уникс?
2gusia
Sep. 10th, 2013 11:17 am (UTC)
Re: А ты суровый одминистратер уникс?
читал-читал. Но я так, не дотягиваю - на кошках тренируюсь :)
Aganim North Lab
Sep. 10th, 2013 11:58 am (UTC)
Чо вам этот яндыкс диск кушать мышаеть?
Вместо линуксовой файлсистем можно поробовать fusefs-wdfs
Ну и кака бычно
chroot в джейл папку
pkg_add -r fusefs-wdfs
Когда встанет
echo 'fusefs_enable="YES"' >> /etc/rc.conf
и
/usr/local/etc/rc.d/fusefs start
После этого kldstat и вновь появившиеся модули ака fuse.ko опять в бутлоадер прописать
Затем уже под джейлом создать точку монтирования и монтировать туды яндыкс
2gusia
Sep. 10th, 2013 12:17 pm (UTC)
Спасибо, попробую так. Пока мне удалось поднять wdfs только на full варианте.

PS Изучаю ваши посты по fail2ban. Пока не разобрался. Я правильно понимаю, что ВЕСЬ веб доступ к nas4free идёт через джейл www? Или только извне локальной сети? Или только тот извне, что гаправлен на owncloud?
Aganim North Lab
Sep. 10th, 2013 12:42 pm (UTC)
Это я свой сервер так построил.
Я из джейла наружу в тырнет выпускаю только http и ssh. ftp выпускаю родной - там у него классный бан модуль, работает как часы.
А вот web и ssh голые и босые.
Когда у меня была полная версия, то я правил системные файлы в /etc/rc.d и закрывал сервисы fail2banом оттуда. А сейчас я переехал на embedded, поэтому приходится изголяться.
Изнутри локалки я пользую стандартные насовские сервисы.
Кстати, owncloud я написал чисто для примера, мне он не нравится, бо тормозит страшно.
exabiche
Feb. 24th, 2014 12:35 pm (UTC)
У меня почему-то при создании джэйла не появляется тип linux. Либо slim либо thin. Не подскажите, как это можно побороть?
2gusia
Feb. 24th, 2014 02:16 pm (UTC)
что-то не так с версией TheBrig - посмотрите. Должен быть 0.8
Но, по секрету, полезность Linux джейла очень невелика. Чтобы туда что-то поставить, надо иметь пакеты, собранные под ядро kfreebsd. А таких - не в избытке.

Ну и обычный джейл можно использовать также как Linux. Я писал как-то в этом блоге.

Так что не исключаю, что разработчик просто эту позицию снёс за ненадобностью
exabiche
Feb. 24th, 2014 06:44 pm (UTC)
Ну вот, а есть ли какой-нибудь способ поставить steam клиент в jail?
2gusia
Feb. 24th, 2014 07:37 pm (UTC)
судя по freshports.org
есть сервер
pkg install linux-steam

а про клиент на freebsd - ничего не сказано

Я в игрушках ничего не понимаю, но вроде бы клиент-то нужен на машине м большим экраном, мышкой и пр. В джейле он зачем?
exabiche
Feb. 25th, 2014 07:52 am (UTC)
Я хочу поставить starbound server (он есть как раз под линуксом). И есть круглосуточный серверн на nas4free. Вот думаю, можно ли это сделать или нет.
2gusia
Feb. 25th, 2014 08:35 am (UTC)
я думаю единственный вариант под nas4free - в виртуалку.
exabiche
Feb. 25th, 2014 08:55 am (UTC)
Имеется ввиду что-то типа virtualbox?
2gusia
Feb. 25th, 2014 09:20 am (UTC)
другого варианта поверх Nas4free я не знаю. Можно и на железо поставить гипервизор, а на него всё остальное - но это отдельная тема. Хотя в ветке активно обсуждают.

Но вариант сделать что-то сразу на Linux, без nas4free - он более прямой.
exabiche
Feb. 25th, 2014 09:22 am (UTC)
Понял, так-то некритично в общем, но было бы интересно. Почему-то эти товарищи не хотят сервер на фряхе делать. А на openmediavault переходить не хочется, потому что nas4free работает, как часы и есть не просит.
zhuravel36
Oct. 24th, 2015 11:00 am (UTC)
Хорошая инструкция, попробую. Интересно, Ubuntu поставить так можно?

Edited at 2015-10-24 11:00 am (UTC)
2gusia
Oct. 24th, 2015 04:11 pm (UTC)
сразу скажу, что этот функционал - linux jail - из текущей ве5рсии брига убран за ненадобностью пользователям.

так что руками конфигурить...

Полезность IMHO действительно невелика :(

Ubuntu - не встанет. Только специальная химерная (ядро BSD, мир Linux) версия дебиана. Но под неё deb далеко не на всё найдёшь...
( 18 comments — Leave a comment )

Latest Month

February 2024
S M T W T F S
    123
45678910
11121314151617
18192021222324
2526272829  

Tags

Comments

  • 2gusia
    22 Feb 2024, 23:21
    Ну начали с того, что украли несколько сотен ярдов у России.

    А так, в принципе, не очень важно про отдавать. Потому, что платит налогоплательщик, а получает деньги промышленный капитал. Который…
  • 2gusia
    22 Feb 2024, 19:38
    Блин, а как они собираются потом все вложенные средства взыскивать? С кого??? Сроду не поверю, чтобы Уолл-Стрит хоть доллар дал безвозмездно, то есть даром...
  • 2gusia
    21 Feb 2024, 17:58
    цифры 61.4 ярда и
    На 4 года и в купе с иными получателями.
    А Пентагон отгрузит со склада, что-то по остаточной стоимости и как это сравнивать в лоб?
    И не следует обманываться что Украину бросят и…
  • 2gusia
    21 Feb 2024, 17:51
    Мы ж технари, не гумантарии. И знаем, что размер имеет значение. И цифры 61.4 ярда и 430 лямов отличаются более чем в 100 раз.

    А так, да - крохи перепадают.
  • 2gusia
    21 Feb 2024, 17:32
    Чуть больше месяца назад я предположил, что не позже марта пиндосы хохлам финансирование все же откроют - с октября булки-то мнут. Март еще не наступил, но с уверенностью могу сказать, что мой…
Powered by LiveJournal.com