Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> главная —> Архив —> LiveCD (+restore)

Создание своего LiveCD (+клонирование системы)

Автор: Morty.


Для чего это надо ? и что я хотел сделать ? Если просто - LiveCD,который развернет
мне на жёсткий диск готовую настроенную систему. Думаю у всех есть важный сервер,
будь то почтовый или прокси, либо задачи которые повторяються, например -
установка шлюзов. Которые в случае возникновения проблем требуют решения в
минимальные сроки, либо банальный запуск шлюза на базе FreeBSD за 5 минут.
А в результате это может быть что угодно, всё будет зависеть от того какие "дампы"
вы подсуните лив-диску, возможно вы решите сделать CD с игровым сервером, файловой
помойкой, почтовиком, прокси, любимым десктопом со всеми личными насройками.
В конце концов можно сделать иерархию папок у себя на компютере (сервере)с различными
дампами и потом выбирать какой диск вы хотите получить. Одним словом что
нафантазируете то и получите :)


1ый этап: подготовка дампов


Делаем базовую(эталонную систему, кторую в результате мы будем
разворачивать с нашего CD)со следующей разбивокой винчестера.
Наполняем софтом, закидываем нужные нам конфиги.

Примечание: можно делать с другой разбивкой, но тогда нада будет
подправить 2 скрипта

/dev/ad0s1a	/	(256Мб)
/dev/ad0s1d	/usr	(4G)
/dev/ad0s1e	/var	(4G)

Когда "эталон" готово подключаем к нему 2ой винт, перезагружаем
систему в однопользовательский режим.
монтируем разделы:

mount -u /
mount -a

Монтируем второй винт куда будут дампиться разделы
эталонной системы
mount /dev/ad1s1 /mnt

Делаем диру где будут лежать дампы
mkdir -p /mnt/dumps

Дальше пользуемся скриптом (tnx to o2x) который сделает нам
сжатые дампы файловой системы нашего "эталона"
Примечание: перед снятием дампов я удаляю /usr/src и /usr/ports
чтобы облегчить вес дампов

#!/bin/sh
# Path to command
mount="/sbin/mount"
umount="/sbin/umount"
dump="/sbin/dump"
bzip2="/usr/bin/bzip2"
#
massive="/mnt/dumps"
#
# Mount usb massive
#${mount} /dev/da0s1 ${massive}
#--
# Create dump slice
${dump} -0ua -L -f- /dev/ad0s1a | ${bzip2} > ${massive}/dump_root.img.bz2
${dump} -0ua -L -f- /dev/ad0s1d | ${bzip2} > ${massive}/dump_usr.img.bz2
${dump} -0ua -L -f- /dev/ad0s1e | ${bzip2} > ${massive}/dump_var.img.bz2
#${dump} -0ua -L -f ${massive}/dump_tmp.img /dev/ad0s1d
#--
# If file exists
if [ -f $massive/dump_root.img.bz2 ]
then dump1="Image dump_root.img.bz2 was created";
else echo "Image dump_root.img.bz2 was not created, please see this dump!"
exit 2;
fi
#--
if [ -f $massive/dump_usr.img.bz2 ]
then dump2="Image dump_usr.img was created";
else echo "Image dump_usr.img was not created, please see this dump!"
exit 2;
fi
#--
if [ -f $massive/dump_var.img.bz2 ]
then dump3="Image dump_var.img was created";
else echo "Image dump_var.img was not created, please see this dump!"
exit 2;
fi
#
# Umount usb massive
#${umount} ${massive}
#
echo "===>System dumped<==="

В результате мы должны получить сжатые дампы разделов системы в дире /mnt/dumps
тоесть:
dump_root.img.bz2
dump_usr.img.bz2
dump_var.img.bz2

Копируем их куда-нибудь в надежное место, к себе на фтп например
С дампами всё...
С этим компом я закончил, решил что он будет "родительским" для новых образов.
В принципе с ним уже можно делать все что угодно, хоть отфарматировать винт,
дампы то у нас уже есть...

2ой этап: создание загрузочного CD

Данная проблема меня мягко говоря измотала. Т.к. вариантов
решения окозалось довольно много, перечислять не буду.
А будем просто пользоваться портом FreeSBIE
Итак, сделать СД можно на любом фряшном компьютере.
В моём случае был боевой шлюз.
Идем и ставим freesbie
cd /usr/ports/sysutils/freesbie
make install clean

Копируем /usr/local/share/freesbie в /usr/local/freesbie
делаем исо:(по вермени - около 2часов)
Если есть необходимость уменьшить размер будущей исошки (приблизительно в 2 раза),
то вносим изменение в файл /usr/local/freesbie/conf/freesbie.defaults.conf
MINIMAL=YES

при этом будет использоваться файл /usr/local/freebsie/conf/make.conf.minimal
который повлияет на сборку всей системы которая будет на СД
(без дампов такой СД будет весить ~25Мб)

cd /usr/local/freesbie
make iso
#### Building world for i386 architecture ####
>>> Rebuilding the temporary build tree
>>> stage 1.1: legacy release compatibility shims
>>> stage 1.2: bootstrap tools
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3: cross tools
>>> stage 4.1: building includes
>>> stage 4.2: building libraries
>>> stage 4.3: make dependencies
>>> stage 4.4: building everything
#### Building kernel for i386 architecture ####
>>> Kernel build for FREESBIE started on Wed Mar 26 15:57:58 EET 2008
>>> stage 1: configuring the kernel
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3.1: making dependencies
>>> stage 3.2: building everything
>>> Kernel build for FREESBIE completed on Wed Mar 26 16:15:16 EET 2008
#### Installing world for i386 architecture ####
>>> Making hierarchy
>>> Installing everything
#### Installing kernel for i386 architecture ####
>>> Installing kernel
#### Cloning /usr/local/freesbie-fs to /usr/local/freesbie-clone ####
Compressing /usr/local/freesbie-clone/uzip/usr.ufs... 66,1738% saved
#### Building bootable ISO image for i386 ####
Saving mtree structure...
Running mkisofs...
ISO created:
-rw-r--r--  1 root  wheel    83M 26 мар 16:19 /usr/obj/FreeSBIE.iso

Примечание: без установленного cdrtools - исо не создаст.

3ий этап: добавление дампов на образ

Теперь нам необходимо сделанные ранее дампы положить на CD
Дира /usr/local/freesbie-clone/ это и есть то, содержимое
которое будет на нашем CD
Ложим дампы в диру ../dist/dist

pwd
/usr/local/freesbie-clone/dist/dist
ll
total 139200
-rw-r--r--  1 root  wheel   24097048 26 мар 14:27 dump_root.img.bz2
-rw-r--r--  1 root  wheel  114420017 26 мар 14:27 dump_usr.img.bz2
-rw-r--r--  1 root  wheel    3894455 26 мар 14:27 dump_var.img.bz2

так же ложим в корень будущей исошки скрипт который будет
разворачивать дампы для будущих систем (tnx to lissyra)
Примечание: здесь можно при желании нафаршеровать еще скриптов, например
post-install, либо закинуть таковые в дампы (у меня post-install в дампах)

pwd
/usr/local/freesbie-clone
touch setup
chmod 755 setup

содержимое скрипта setup

#!/bin/sh
#
#
#mdmfs="/sbin/mdmfs"
dist_dir="/dist/dist"
#${mdmfs} -M -s 3m md1 /mnt
#------------------
tmp_dir="/var/tmp"
mnt2="/var/tmp/mnt2"
#      ->  variables <-
root_size="256"         # Mb    384
swap_size="128" # Mb    1024
#usr_size="2048"         # Mb    4096
#var_size="1024"         # Mb    4096
# debug - on = 1; off = 2
debug="1"


#---------------Начало
echo "




!!!!!  Warning   !!!!! Ahtung ! Ahtung !
If you do not understand what to do, unplug the CD, and reboot the server.
If you enter YES, will begin installation FreeBSD, and all data
contained on the hard disk will be lost. If you enter NO installation
will be interrupted, and automatic restart happen.

If you have not created an array (RAID) controller
in BIOS (for the server), enter NO
and create it, and then re-start the installation."
echo -n "Do you want to start the installation: "
read answer
# verify answer
case ${answer} in
        [Yy][Ee][Ss])
        # yes. continue....
        echo""
        echo "Running installation of a new server !"
        ;;
        *)
        # perdumal:)
        echo "You answered '${answer}'. Server reboots..."
        shutdown -r now
        exit;
        ;;
esac

# detecting hdd on server
kernel_disks="`/sbin/sysctl kern.disks | awk -F ':' '{print $2}'`"
#kern.disks: da1 da0
if [ ${debug} -eq 1 ] ; then
echo "DEBUG: 1. kernel disks = ${kernel_disks}" ; fi
# cycle for all disks - count and match
i=0
for all_disks in ${kernel_disks}
do
        # detecting disk type
        disk_type="`echo ${all_disks} | /usr/bin/tr -d '[0-9]'`"
        # detecting disk number
        disk_number="`echo ${all_disks} | /usr/bin/tr -d '[a-z]'`"
        # find ATA|SATA disks
        if [ ${kernel_disks} = "ad0" ]
        then
                # ATA/SATA disks
                echo " detected ATA/SATA disks! "
                echo "${all_disks}" > ${tmp_dir}/ata_disk.tmp
        else
                /usr/bin/touch ${tmp_dir}/ata_disk.tmp
        fi
        # SCSI device
        if [ ${all_disks} = "da1" ]
        then
                # found 1 SCSI disk (da0 - disk, da1 - flash)
                echo " detected SCSI disks! "
                echo "da0" > ${tmp_dir}/scsi_disk.tmp
        else
                /usr/bin/touch ${tmp_dir}/scsi_disk.tmp
        fi
        # detecting - how many SCSI disks on machine
#       for ii in 0 1 2 3 4 5 6 7 8 9
#       do
#               if [ ${all_disks} = da${ii} ]
#               then
#                       # count $i + 1 - line in file
##                      echo da${ii} >> ${tmp_dir}/disks_count.tmp
#               fi
#       done
        # up counter +1
        i="`/bin/expr $i + 1`"
done
#number_SCSI_disks="`cat ${tmp_dir}/disks_count.tmp \
#| /usr/bin/wc -l | /usr/bin/tr -d ' '`"
#if [ ${debug} -eq 1 ] ; then
#echo "DEBUG: 2. number SCSI disks = ${number_SCSI_disks}" ; fi
# if $number_SCSI_disks = 1 - exit - only flash detected
#if [ ${number_SCSI_disks} -eq 1 ]
#then
        # exit
#       echo " Fatal: SCSI disks not detected!"
#       exit;
#fi
# scsi disks detected. da0 - disk for work

# disk counter. Current - number disk = 2; else - shutdown - error - no disks
# future - number disk = 3 (add RAM disk)
if [ $i -eq 1 ]
then
        # all OK
else
        # no disks?
        echo " HDD drive not found... System shutdown..."
        /bin/sleep 5 && /sbin/shutdown -p now && exit;
fi

# select disk for work
if [ `/usr/bin/wc -l ${tmp_dir}/ata_disk.tmp | awk '{print $1}'` -eq 1 ]
then
        # found ATA disk
        work_device="`/bin/cat ${tmp_dir}/ata_disk.tmp`"
else
        # ATA not found - work on SCSI
        work_device="`/bin/cat ${tmp_dir}/scsi_disk.tmp`"
fi


#exit
# fdisk
# Uto4naem razmer /usr and /var
echo -n "Enter size of /usr partition in Mbytes: "
read usr_size
#
echo -n "Enter size of /var partition in Mbytes: "
read var_size
#
echo "Creating partitions..."

/sbin/fdisk -I -i -B /dev/${work_device}

echo "# /dev/${work_device}s1:
8 partitions:
#       size    offset  fstype  [fsize  bsize   bps/cpg]
a:      ${root_size}M   0       4.2BSD  2048    16384   32776
b:      ${swap_size}M   *       swap
c:      *       0       unused  0       0               # "raw" part, don't edit
d:      ${usr_size}M    *       4.2BSD  2048    16384   28528
e:      ${var_size}M    *       4.2BSD  2048    16384   28528
f:      *               *       4.2BSD  2048    16384   28552  # /shares 
" > ${tmp_dir}/bsdlabel.txt


# bsdlabel
/sbin/bsdlabel -R ${work_device}s1 ${tmp_dir}/bsdlabel.txt >/dev/null 2>&1
/sbin/bsdlabel -B ${work_device}s1 >/dev/null 2>&1
# newfs
echo "Creating filesystems..."
/sbin/newfs /dev/${work_device}s1a      >/dev/null 2>&1 # /
/sbin/newfs /dev/${work_device}s1f      >/dev/null 2>&1 # /shares
/sbin/newfs /dev/${work_device}s1d      >/dev/null 2>&1 # /usr
/sbin/newfs /dev/${work_device}s1e      >/dev/null 2>&1 # /var
# tunefs
echo "Settings filesystems parameters..."
/sbin/tunefs -n enable /dev/${work_device}s1f   >/dev/null 2>&1 # softupdates
/sbin/tunefs -n enable /dev/${work_device}s1f   >/dev/null 2>&1 # softupdates
/sbin/tunefs -n enable /dev/${work_device}s1d   >/dev/null 2>&1 # softupdates
/sbin/tunefs -n enable /dev/${work_device}s1e   >/dev/null 2>&1 # softupdates
#
#
#/sbin/umount /mnt
echo "HDD formated..."
/bin/mkdir -p ${mnt2}
/bin/mkdir -p ${mnt2}/usr
/bin/mkdir -p ${mnt2}/var
#
# restore /
echo "Restoring '/' filesystems..."
/sbin/mount /dev/${work_device}s1a ${mnt2}
cd ${mnt2}
/usr/bin/bunzip2 --stdout ${dist_dir}/dump_root.img.bz2 \
| /sbin/restore -rf -  >/dev/null 2>&1
# restore /usr
echo "Restoring '/usr' filesystems..."
#
/sbin/mount /dev/${work_device}s1d ${mnt2}/usr
cd ${mnt2}/usr
/usr/bin/bunzip2 --stdout ${dist_dir}/dump_usr.img.bz2 \
| /sbin/restore -rf -  >/dev/null 2>&1
# restore /var
echo "Restoring '/var' filesystems..."
#
/sbin/mount /dev/${work_device}s1e ${mnt2}/var
cd ${mnt2}/var
/usr/bin/bunzip2 --stdout ${dist_dir}/dump_var.img.bz2 \
| /sbin/restore -rf -  >/dev/null 2>&1
# restore /shares
#echo "Restoring '/shares' filesystems..."
#/sbin/mount /dev/${work_device}s1f /mnt/shares
#cd /mnt/shares
#/usr/bin/bunzip2 --stdout ${dist_dir}/shares.dump.bz2 \
#| /sbin/restore -rf -  >/dev/null #2>&1

echo "All filesystems restored!"

# sync disks
sync
#
#
####
echo "All done! "

# reboot
#/bin/sleep 5 && /sbin/shutdown -r now

exit;

Собираем исошку с нашими добавлениями:
Перед этим удаляем старую, и файл-флаг сборки iso

rm /usr/obj/usr/local/freesbie/.done_iso
rm /usr/obj/FreeSBIE.iso
cd /usr/local/freesbie
make iso
#### Building bootable ISO image for i386 ####
Saving mtree structure...
Running mkisofs...
ISO created:
-rw-r--r--  1 root  wheel   218M 27 мар 11:39 /usr/obj/FreeSBIE.iso

FreeBSD-7
Для успешной сборки freesbie на базе FreeBSD-7 (tnx to Fastman)
можно взять ядро GENERIC (файл-конфиг) и заменить им
/usr/loca/freesbie/conf/i386/FREESBIE

также доавляем в ядро опции
options       GEOM_UZIP
options       UNIONFS

примечание: не указывать при сборке freebsie MINIMAL=YES

Это всё - можно забирать по указанному пути заветную исошку и работать, а именно
грузимся с CD запускаем из корня скрипт ./setup
Отвечаем на вопросы каких размеров будет /usr /var
Ждём когда развернёться , ребут и у нас система с нужным нам набором софта и пр.

Дополнительные возможности FreeSBIE
Здесь я хочу описать модули(точнее плагины)
FreeSBIE и то как можно работать
с пакетами.

FreeSBIE Плагины

В FreeSBIE есть возможность подключения модулей для
более тщательной настройки создаваемых образов CD.
Хотя по-умолчанию конфигурация FreeSBIE вполне пригодна
для большинства случаев, подключаемые модули позволяют
вам добавить и расширить её функционал.

Все скрипты плагинов находяться здесь
/usr/local/share/freesbie/extra

README файл описывает все стандартные модули.
Плагины которые вы хотите использовать необходимо объявлять в
параметре EXTRA конфигурационного файла freesbie.conf.
Краткое описание некоторых из плагинов:

adduser
Подключаемый модуль добавляет пользователя freesbie на CD.
Вы можете уточнить имя пользователя который вам нужен с
FREESBIE_ADDUSER переменной в
freesbie.conf.

autologin
Когда вы подключаете модуль autologin, пользователь freesbie
будет автоматически входить в систему при загрузке.

comconsole
Активация плагина comconsole  добавит возможность
серийной консоли, как второй консоли. Настройка
конфигурации в варианте SERIAL_ONLY = YES в freesbie.conf
соберет образ, который будет использовать лишь
последовательную консоль. Можно кроме того, сделать это путем
добавления пользовательских настроек в loader.conf в образ
путем customroot плагина.

customroot
Customroot подключаемый модуль, позволяет добавлять
произвольные файлы на CD. Любой файл(ы) в директории
/usr/local/share/freesbie/extra/customroot


копируются на ваш новый образ. Создавайте подкаталоги,
таким образом как это необходимо для записи файлов в соотвествующие
директории.Например, если вы хотите свой /etc/rc.conf,
поместите его в
/usr/local/share/freesbie/extra/customroot/etc/rc.conf.

Любые файлы, добавляемые этим плагином перекрывают
любой другой файл в FreeSBIE.

customscripts
FreeSBIE запустит процесс который выполнит какой-либо скрипт(ы)
который находиться в
/usr/local/freesbie/extra/customscripts


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

etcmfs
Этот плагин сообщает системе о том что для /etc необходимо
использовать memory filesystem.


l10n.sh
Тут думаю понятно, позволяет пользователю
выбирать "язык" системы.

mountdisks
При подключении этого модуля , FreeSBIE смонтирует
любые UFS, FAT или NTFS разделы которые будут
найдены на запущеной системе.

pf
Этот подключаемый модуль создает и активирует
firewall(pf)-правило
"block all incoming, allow all" при загрузке.

rootmfs
Этот подключаемый модуль позволяет использовать память
для корневой файловой системы. Хотя пользователь
и может внесить изменения в корневом каталоге, но
они исчезают после перезагрузка. (аналогично с etcmfs)

sound
При загрузке, live-CD происходит автоматическое
определение звуковой карты и установки правильного
звукового драйвера.

swapfind
Если система запущенная с live-CD имеет какие-либо свап партиции,
FreeSBIE находит их и использует. Для этого необходим
режим записи на жесткий диск, естественно,
что может быть нежелательным.

varmfs
Аналогично etcmfs,rootmfs. Работает с разделом /var как с рамдиском.
Естественно после ребута - все будет утеряно.

xautostart
Автозапуск Хов при старте системы.

xconfig
Live-CD автоматически настраивает X-ы при загрузке.
Это может быть необходимо,
когда используеться xautostart.

xconfigure-probe
FreeSBIE использует альтернативный метод для
автоматической настройки X при загрузке.
(По состоянию X предлагает несколько методов
для настройки дисплея)


Выбор пакетов
Вы можете создать текстовый файл
(/usr/local/freesbie/conf/packages),
содержащий все пакеты, которые вы хотите установить на
ваш Live-CD, или вы можете выбрать пакеты из системы набрав
cd /usr/local/freesbie/
make pkgselect

Эта команда создаст меню всех пакетов, установленных
на вашей системе и позволит выбрать, какие из них
вы хотите установить на вашем live-CD. Когда вы
выберите пакет, все зависимости добавяться автоматически.


Кто хочет увидеть/попробовать сразу, может скачать экспериментальную сборку
(заточено под 1 хард на Primary Master)
Тут можно скачать последнюю сборку

Ветка форума для обсуждения



размещено: 2008-03-30,
последнее обновление: 2009-10-06,
автор: Morty


Stanley_Goodspeed, 2008-03-31 в 12:56:51

Здорово! Очень полезная статья. Надо будет собрать на досуге. Спасибо!

G, 2008-03-31 в 21:10:23

Написано:
Примечание: можно делать с другой разбивкой, но тогда нада будет
подправить 2 скрипта

А что именно подправить? В одном скрипте вроде видно. А где во 2-м?

Morty, 2008-03-31 в 21:34:30

(для setup): добавить например (/tmp)
echo -n "Enter size of /tmp partition in Mbytes: "
read tmp_size
....
(файл bsdlabel)
e:  ${tmp_size}M    *       4.2BSD  2048    16384   28528
....tunefs кстати правильнее будет как и для остальных
/sbin/tunefs -n enable /dev/${work_device}s1f   >/dev/null 2>&1
и еще одну секцию # resotre по анологии
со снятием дампов думаю ясно

nikll, 2008-04-02 в 16:41:13

Давно задумываюсь на подобную тему.
Есть идея сделать live-dvd конструктор, с которого можно будет сполпинка собирать свежую систему на чистый комп (типо как гента, или BSD From Scratch).
Задачи для реализации следующие:
1. Разобраться с фс (надо писать в память изменения фс, т.к. двд наживую писать невозможно, вариант загружать всю систему в память тоже малопригоден)
2. Надо удобный визуальный редактор разделов жесткого диска, т.к. юзать fdisk+disklabel довольно неудобно...
3. Собственно написать скрипты для автосоздания iso образа из исходников

Если у кого есть инфа по первым двум вопросам, поделитесь...

Morty, 2008-04-02 в 17:04:39

1. рамдиск из скрипта: mdmfs -M -s 3m md1 /mnt
либо при буте делать какойто образ системы и юзать его нечто подобное:
# mdconfig -a -t vnode -f diskimage -u 0
# mount /dev/md0c /mnt
самый простой вариант с mdmfs , при создании ливсд работа с рамдиском неизбежна в любом случае.
2. не знаю , но меня бы устроило даже такой как в сисинстале идет или нечто на подобии досявого fdisk. Хотя и этим скриптом тоже гуд -)

huh, 2008-04-03 в 16:14:35

nikll, в 7 появился sade

Morty, 2008-04-04 в 15:23:25

к сожалению на семерке freesbie не собираеться, проверил на release7 & stable7

midda2, 2008-04-05 в 11:44:41

Простите за назойливость, эта команда видимо совсем не нужна
mount -u /

nikll, 2008-04-05 в 14:31:45

А ктонибудь задумывался про связку из mfs+unionfs

# /sbin/mdmfs -S -i 4096 -s размер_фс -M md /ramfs
# chmod 01777 /ramfs
# /sbin/mount_unionfs -o below / /ramfs

Где "размер_фс" определяет сколько всего места в памяти будет заняо mfs.
А еще можно замарочится с сжатыми образами фс
http://www.lissyara.su/?id=1359 и использовать их в качестве базовых

Morty, 2008-04-05 в 18:01:04

оно именно так и работает

cvghyu, 2008-04-25 в 11:57:14

Очень заинтересовался статьей - решил попробовать сам
Но сиутило примечание MORTY, решил собрать freesbie
cd /usr/ports/sysutils/freesbie ; make ; make install
прошло на ура FreeBSD 7.0-RELEASE
пересобирал мир и ядро, последнией cvsup и portupgrade 22 апр

Dima, 2008-08-12 в 16:17:06

Примечание: перед снятием дампов я удаляю /usr/src и /usr/ports
Если удалить /usr/src то потом не сможет стартонуть
cd /usr/local/freesbie
make iso

Mr.Code, 2008-08-19 в 11:03:00

Есть предложение добавить Abills и тогда вообще цены не будет этой сборке. Готов помочь.

Morty, 2008-08-19 в 12:17:14

почему бы и да :-D
В идеале нужна статья по Abills, хотябы черновой вариант
----------
правда я сейчас взялся за то чтобы переписать установочный скрипт(setup), хочу в стиле sysinstall, с окошечками.

Mr.Code, 2008-08-20 в 7:31:02

Присоединяюсь к процессу разработки. Morty выложи плз новую версию установочного скрипта(какая есть) на фтп...проскаивала мысль сделать свою сборку pfsense
есть локальная копия всего cvs и сервер(могу доставить cvs)
если что стучите в аську 478096529

Mr.Code, 2008-08-20 в 7:48:38

А вообще в ближайшее время хочу занятся написанием демона который будет из БД брать параметры и формировать из них конфиги для демонов а так же веб-приблуду для управления БД
общая схема такова коннект_к_БД=>забираем глобальные параметры=>Забираем параметры для каждого демона=>формируем конфиг для каждого демона=>записываем конфиг

Repz, 2009-06-26 в 11:35:24

Morty большое спасибо за изыскания! :)
собирал 06.2009
7.2-STABLE FreeBSD
PORTNAME=       freesbie
PORTVERSION=    2.0.20070710

freesbie при сборке исошки помимо freesbie-clone создает freesbie-fs. В freesbie-fs необходимо внести добавления в структуру каталога, я добавил dist от корня. (в примере /dist/dist)
c дефолтным ядром порта исошка не собирается, ядро устаревшее, замена на GENERIC из исходников.
поскольку restore разворачивает архив в tmp, tmp монтировал от корня.
45 минут и гиговый дамп разлит, через час система в боевом режиме. позитив!

Morty :-)

nero777, 2011-03-13 в 19:20:10

freebsd 7.0 release 12
затычка на создании .iso
error code 255!

nero777, 2011-03-13 в 19:39:11

Vy TNX! всё сработало.убрал опцию -L в iso.sh
большое и челом бью спасибо.дальше буду судачить!

Spileton, 2015-03-30 в 17:03:01

Пробовал установить Linux на флешку как на компьютер, то есть так чтобы устанавливать/удалять. Но это очень ненадёжно, так как износ флэшки, тормоза, убиваемость. Надёжнее будет накатить ISO на флешку, но устанавливать/удалять не получиться. Я сделал так 3 флешки с линуксом, но в итоге только одна осталась рабочей а на двух других были постоянно какие-то сбои (то fsck незагружался, то ещё что-то неработало) которые решались переустановкой программ через chroot.
Может вы знаете другие способы ?

Spileton, 2022-06-27 в 19:44:45

Я сделал так 3 флешки с линуксом (Старая ссылка не работает).

Spileton, 2022-06-27 в 19:45:28

Я сделал так 3 флешки с линуксом (Старая ссылка не работает).

Spileton, 2022-06-27 в 19:46:10

Я сделал так 3 флешки с линуксом (Старая ссылка не работает).



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0638 секунд
Из них PHP: 52%; SQL: 48%; Число SQL-запросов: 54 шт.
Исходный размер: 72128; Сжатая: 16198