Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
|||||||||||||||||||||
|
|||||||||||||||||||||
|
www.lissyara.su
—> статьи
|
|
Полные образы СD рассматривать не будем: есть образ – нет проблем. Рассматривать будем только образ стартера – что это есть и нельзя ли на его основе создать CD полного объема с теми данными, что нам необходимы – дистрибутив, самые необходимые пакеты...
Загруженный из Интернета файл 6.3-RELEASE-i386-bootonly.iso имеет размер 27 643 904 байт и содержит внутри только каталог /boot (ну и загрузчик – файл boot.catalog). В каталоге /boot мы обнаружим ядро GENERIC со всеми модулями, loader со всеми необходимыми файлами и файл mfsroot.gz, который содержит корневую файловую систему для запуска инсталлятора – программы sysinstall. При загрузке с диска, созданного на основе этого образа, необходимо иметь внешний FTP-сервер, откуда будет закачиваться дистрибутив. Значит ли это, что для создания диска достаточно создать образ на основе стартера, к которому присоединен дистрибутив?
Вообще говоря, да. Но раз уж мы взялись создавать собственный диск, то следовало бы сделать его как можно более универсальным – пусть он заодно играет роль и Fixit-диска. Структура диска, которая должна быть создана в таком случае, будет описана дальше.
И разумеется, нам понадобится дистрибутив. Размер дистрибутива последней версии из ветки 6.х составляет 320 Мб. Дистрибутив рекомендую скачивать полностью, не экономить на отдельных пакетах. Внимательный читатель сразу же задастся вопросом: «А что содержится на втором и третьем дисках?». Для того чтобы это узнать, не обязательно закачивать весь образ – файл стандартного формата ISO9660, у которого оглавление диска находится в начале iso-файла, таким образом, чтобы узнать его содержимое, достаточно скачать первые несколько мегабайт. Но для нас там нет ничего интересного – disc2 и disc3 содержат готовые пакеты, в то время как disc1 и представляет в первом приближении то, что мы хотим получить, – комбинацию стартера, дистрибутива и Fixit-диска.
Что ж, загружаем образ стартера. Еще нам понадобится программа для работы с ISO-образами для того, чтобы сохранить и впоследствии использовать загрузчик. Я использую isomaster (sysutils/isomaster). Это программа, построенная на GTK, а не на KDE, но, к сожалению, в настоящий момент ничего рабочего для редактирования ISO-образов в KDE нет (Kiso не в счет, он присутствует номинально, потому что пользоваться им невозможно).
Структура диска
Для того чтобы создать диск, необходимо сначала сформировать в системе каталог, с которого будет создаваться образ нашего диска. Допустим, берем каталог /var/tmp/image и начинаем заполнять его нужными файлами.
Первым делом помещаем туда распакованный образ стартера. Для этого запускаем isomaster, выбираем образ стартера, открываем его, выделяем все файлы и извлекаем их. Файлы всегда извлекаются в текущий каталог, так что позаботьтесь о том, чтобы на него были необходимые права.
После этого копируем в этот же каталог дистрибутив, прямо в корень. Каталог с дистрибутивом должен иметь фиксированное имя, соответствующее версии FreeBSD, например, каталог с дистрибутивом 6.3-RELEASE должен так и называться – 6.3-RELEASE.
Помещаем в корень выбранного каталога подкаталог tools. Поскольку он не распространяется с дистрибутивом, его необходимо отдельно загрузить, можно тоже с [1] или с какого-либо его зеркала. Каталог с подкаталогами удобно загружать с помощью программы ncftp (ftp/ncftp3):
|
Размер его небольшой – 2 Мб. Копируем в корень выбранного каталога подкаталог floppies из дистрибутива и все текстовые и HTM-файлы, находящиеся в корне. Собственно, после этого формирование образа для инсталляционного диска можно считать законченным и переходить к его записи, дальнейшие файлы необходимы только для Fixit.
Для Fixit же потребуется полная копия всей структуры каталогов. Некоторые каталоги достаточно переписать с установленной системы – /bin, /lib, /libexec, /root, /sbin. Только необходимо проследить, чтобы в каталоге /root не осталось информации о паролях, логинах, адресах и т. д. – созданный диск может передаваться другим людям, копироваться и т. д., и нужно быть очень внимательным, чтобы вместе с ним не ушла какая-нибудь закрытая информация. Для создания необходимой минимальной структуры каталога /var можно воспользоваться mtree-файлом, который используется в бездисковых роутерах для создания /var в памяти:
|
Также в корне диска следует создать символическую ссылку sys на /usr/src/sys. Какие каталоги нам осталось здесь разместить? Конечно же, /etc. Каталог /etc можно целиком переписать из /usr/src/etc, правда с некоторыми доработками – нам не понадобятся все каталоги с именем вида etc.<архитекутра>, где <архитектура> не совпадает с архитектурой вашего компьютера. Каталог же etc.<ваша_архитектура> тоже не понадобится сам по себе, но из него нужно переписать в etc файл ttys. Кроме этого, не понадобится каталог sendmail – все его содержимое необходимо переписать в mail.
Понадобится также создать несколько пустых каталогов, которые, тем не менее, должны присутствовать в корневой системе образа – /dev, /mnt, /proc, /tmp.
Каталог rescue заслуживает отдельного замечания. Если зайти в него через mc и выделить все файлы, то можно увидеть совершенно невообразимую цифру в 420 Мб, между тем как обычная команда du убеждает нас в том, что mc считает неправильно:
|
В чем же дело? А дело в том, что все файлы в каталоге – это жесткие ссылки (hardlinks) на один-два файла (более подробную информацию о том, что такое жесткие ссылки и чем они отличаются от обычных, символических, можно получить в man ln). Можно подсчитать и точное число. Для этого используется команда:
|
Выведенные числа – это номера i-nodes-файлов. Как видно, на самом деле в каталоге всего 4 файла, а остальные ссылаются на эти же файлы. Поэтому обычно в инсталляционный CD этот каталог не помещают, только в DVD, в котором достаточно места, чтобы разместить все файлы отдельно (в этом случае он займет как раз 420 Мб).
Ну и последнее, что нам остается сделать, – разместить в образе диска каталог /usr. В нем должны присутствовать каталоги bin, include, lib, libdata, libexec, sbin и share, которые можно переписать непосредственно с установленной системы, а также пустые каталоги local, obj и src. Также необходимо переписать в корень образа (который потом станет корнем диска) файлы *.HTM и *.TXT, COPYRIGHT и docbook.css из дистрибутива.
А вот теперь можно и доработкой под свои нужды заняться. Созданный нами образ не занимает полных 700 Мб, жалко будет просто так переводить пустое место, поэтому на свободное место можно положить заранее собранные самые необходимые пакеты. Можно это сделать стандартным путем – создать в корне образа каталог packages, в нем – каталог All, куда, собственно, и положить все пакеты, а также каталоги с именами категорий, в которые входили порты, по которым эти пакеты были собраны. В этих каталогах можно разместить символические ссылки на пакеты. Но если хочется использовать стандартный пункт меню Install pre-packaged software, то в корне каталога packages необходимо создать файл INDEX, по формату совпадающий с файлом INDEX в /usr/ports. Как создать этот файл? Простейшим способом является перенос нужных строк из /usr/ports/INDEX или (если пакетов много) скачать INDEX с FTP и удалить ненужные. Можно воспользоваться программой portindex (ports-mgmt/p5-FreeBSD-PortIndex), которая позволяет проиндексировать часть каталога портов и заранее подготовить индексный файл. Можно, конечно, ничем таким не заниматься, а создать любой каталог в любом месте файловой системы образа и переписать туда все пакеты, которые вы считаете необходимыми. Я обычно укладываю туда только пакеты, необходимые для установки mc, а также любимый текстовый редактор. Ну и, разумеется, кроме пакетов можно здесь же разместить архив конфигурационных файлов, скриптов, данных и т. д, – всего, что может понадобиться для установки новой системы.
Дело за малым – создать загружаемый образ и записать его на диск. Для этого нам сначала понадобится файл загрузчика. Получить его можно из образа стартера той же программой isomaster, которой мы ранее воспользовались для распаковки образа стартера.
Запускаем isomaster, открываем образ стартера. В меню, в пункте «Tools», выбираем «Boot record > Save as» и сохраняем как файл, например, с именем cdboot.bin. Ну и приступаем непосредственно к формированию образа. Для этого понадобится программа для записи CD, умеющая самостоятельно формировать загрузочные диски. Я использую для этой цели k3b.
Запускаем k3b, выбираем «New data CD project» и нажимаем кнопочку для модификации настроек загрузчика образа (см. рис. 1).
Появляется окно с настройками загрузчика. Изначально в нем пусто – мы же не сделали еще никаких настроек. Нажимаем «New», выбираем файл cdboot.bin, который только что сохранили. Окно с длинным предупреждением о том, что «этот файл не является допустимым образом для эмуляции загрузки с флоппи-диска...» пропускаем, выбираем внизу кнопку «Use no emulation». Впрочем, тип эмуляции всегда можно сменить. Окно настроек загрузчика теперь имеет вид, как показано на рис. 2.
После этого в образе автоматически появляется каталог boot. Удалить его оттуда нельзя – он нужен для загрузки. Ну и теперь открываем каталог с подготовленным образом, берем файлы и папки и с помощью мышки перетаскиваем их в проект. Следите за индикатором в нижней части – он показывает, сколько еще свободного места осталось в образе. После того как образ сформирован, нажимаем кнопку «Burn» и ждем окончания записи диска.
Вот и все.
Заключение
Мы не только сэкономили 300 Мб трафика работодателю. Мы собрали загрузочный дистрибутивный диск с теми пакетами, программами, данными и т.д, которые необходимы нам. Особенно это ценно тогда, когда выезжаешь с этим диском в командировку – на одном диске уместятся все необходимые материалы.
Приложение
Текущaя версия FreeBSD
В настоящий момент активная разработка ветки 6.x прекращена и она переведена в состояние legacy (устаревшая). В нее вносятся только исправления ошибок, относящиеся к безопасности. Текущей версией сейчас является 7.0-RELEASE. Но я всегда с недоверием относился к релизам «дот-зеро» (так называются релизы, оканчивающиеся на «0»), поэтому использую 6.3. В ветке 7.x множество нововведений, но нас касается сейчас только то, что там появился еще один образ – livefs.iso размером 215 Мб, который представляет из себя именно то, что в названии – Live CD.
1. Основной FTP-сервер для загрузки дистрибутивов FreeBSD.
Автор: Рашид Ачилов
|
Morty, 2008-07-29 в 17:56:01
если правильно понял - "на выходе" штатный фряшный загрузочный диск(тот что по умолчанию в сисинсталл вываливаеться при старте),
только со своим набором пакетов ??
Fastman, 2008-07-29 в 18:07:03
Пенопластом по стеклу.
Мне не понравилось если честно. Много слов, дела - мало.
Статья Morty более приятна.
Может просто не распробовал... Но первое впечатление именно такое.
midda2, 2008-08-12 в 14:26:30
midda2, 2008-08-12 в 14:27:25
Ссылка выше ведет на альтернативный (скорее ортодоксальный) подход к созданию дисков FreeBSD
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth"a
Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master
MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones
Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)
Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4
Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3
Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2
Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1
Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
2010-02-23, Morty
darkstat
Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
2010-01-23, gonzo111
squid+sams+sqstat
Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
2009-12-19, schizoid
mpd5 + radius + ng_car + Abills
Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
2009-11-16, lissyara
UFS->ZFS
Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
2009-11-13, gx_ua
fusefs-ntfs
Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
вверх
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [4 шт.]