$ cd /usr/src/redhat/SPECS
$ rpm -bp <���пакет>.spec
Явление патча (заплатки — мы же на русском языке говорим) очень распространено в мире открытого кода, поэтому я скажу о нем здесь. Допустим, кто-то нашел и исправил ошибку в каком-нибудь известном пакете. Исправление может заключаться в двух строках кода, так что же — выкладывать в общий доступ исправленные исходники целиком? Нет, он распространяет заплатку, которую желающие могут приложить сами. Заплатка представляет собой текстовый файл, содержащий список отличий исправленного кода от исходного.
Такой список в стандартном виде генерирует утилита diffс ключами -uNr. Чтобы его приложить, нужно перейти в корневой каталог дерева исходного кода пакета и выполнить команду
$ patch -р0 < <���файл_заплатка>
# < - это знак перенаправления ввода
Ключ -p указывает, сколько отделенных «/» частей нужно отщипнуть от путей к файлам, подлежащим исправлению (вдруг каталог пакета у автора заплатки назывался иначе?).
Приложив заплатку, выполните обычные команды сборки:
$ ./configure
$ make
$ make install
7.6. Клонирование и восстановление системы
Клонирование — это создание точной (побитной) копии исходного носителя.Носителем в нашем случае будет корневая файловая система Linux. Клонированная копия называется образом.
Если вам нужно установить дистрибутив на несколько компьютеров одинаковой конфигурации (например, вы администрируете интернет-зал), то целесообразно установить и настроить его на одной машине, а на другие — склонировать. Для домашней системы из одного компьютера клонирование тоже имеет смысл: если что-то вдруг «слетит», то вы сможете быстро восстановить исходное состояние системы простым развертыванием образа. На развертывание образа нужно намного меньше времени, чем на установку и настройку системы.
Перезагрузитесь в однопользовательском режиме (о режимах и вариантах загрузки сказано в п.9.1.1). Введите команду mount, чтобы узнать, какой раздел содержит корневую файловую систему:
/dev/hda1 on / type ext3 (rw,noatime)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
Корневая файловая система расположена на разделе /dev/hda1
. Образ именно этого раздела мы будем сохранять на другом носителе. Носителем может быть другой жесткий диск — я буду использовать внешний USB-винчестер. Для его подключения должен быть загружен модуль usb_storage
. Создадим каталог /mnt/imag
e и примонтируем к нему USB-винчестер:
# modprobe usb_storage
# mkdir /mnt/image
# mount /dev/sda1 /mnt/image
Все, что осталось сделать, — это перемонтировать корневую файловую систему в режиме «только чтение» и создать образ:
# sync
# mount -о remount.ro /
# dd if=/dev/hda1 of=/mnt/image/image.bin
Подробно описывать утилиту ddне стану — это очень хорошо сделано в справочной системе. Скажу только, что кроме ddсуществует еще и утилита dd_rescue, которая при клонировании пропускает плохие секторы и делает максимально возможную копию файловой системы. Для меня, да и для вас использование этой утилиты неактуально — ведь винчестеры меняют минимум один раз в год, поэтому не думаю, что у вас будет «битый» винчестер.
Теперь рассмотрим, как можно восстановить систему. Для восстановления системы вам понадобится загрузочный компакт-диск Linux, Подойдет первый диск любого дистрибутива, даже несовместимого с вашим. Если вы используете не LiveCD, а простой загрузочный диск, для перехода на текстовую консоль нажмите Ctrl+Alt+F2. Подмонтируем наш внешний винчестер:
# mkdir /image
# modprobe usb_storage
# mount /dev/sda1 /image
Теперь на новом винчестере нужно создать разделы. Это можно сделать с помощью утилиты fdiskили с помощью программы установки — как вам удобнее. Если же вы восстанавливаете систему после сбоя, ничего создавать не нужно — все уже создано. Не забудьте только создать раздел подкачки (тип раздела /dev/hda2
должен быть Linux swap):
# mkswap /dev/hda2
Теперь развернем образ (обратите внимание на параметры ifи ofпрограммы dd— на этот раз их аргументы поменялись местами):
# dd if=/image/image.bin of=/dev/hda1
Сейчас нам нужно изменить корневую файловую систему, чтобы попасть «внутрь» развернутого образа:
Читать дальше
Конец ознакомительного отрывка
Купить книгу