[1189015] Я один из авторов/составителей Anaconda. Я могу вдаваться в [1189415]слишком много подробностей[1189416] о том, как загружается программа установки, но постараюсь быть кратким.
(Заметим, что это относится только к RHEL/CentOS 6.x или Fedora 14 и более ранней версии; программа установки была [1189417]почти полностью переписана[1189418] между Fedora 15, 16, и 17, так что теперь всё совсем по-другому.)
Как называется Anaconda?
Какова роль файла images/install.img ? (Кто его вызывает/монтирует?)
Initrd.img [1189421]initrd.img[1189422] на установочном носителе - это то, что мы называем [1189423]stage1[1189424] образ. Он содержит программу под названием [1189425]loader[1189426], единственное задание которой - найти и загрузить образ [1189427]/install.img[1189428].
install.img[1189430] - это образ [1189431]stage2[1189432]. Здесь живёт Anaconda [1189433]на самом деле[1189434] - это образ squashfs, который содержит корневую файловую систему программы установки.
Здесь есть [1189435]множество различных способов [1189436] для загрузчика найти [1189437]install.img[1189438], но при загрузке с DVD всё просто: загрузчик замечает установочный DVD, монтирует его и монтирует [1189439]образы/install.img[1189440] как свою корневую файловую систему.
3. Устанавливает ли Anaconda пакеты/*.rpm? Если бы я хотел добавить туда один, могу ли я и будет ли он установлен?
Вы также можете позвонить по телефону perl
из bash
. Аргумент -n
делает его цикличным для каждой строки. -e
означает, что скрипт является одной строкой.
cat in.txt | perl -ne 's{.*(.*\().*? (.*) -.*(:.*?)\s\s+.*(\[.*)}{$1$2$3 : $4};'
sed '
s/^[^(]*//
s/([^ ]\+ /(/
s/ - CONSTANT ID//
s/ \+>/ :/
' <<DATA
1: (10/17 12:49:31.175) - CONSTANT ID: RAW DATA OUT > [0x00,0xa2,…,0x00]
DATA
(12:49:31.175): RAW DATA OUT : [0x00,0xa2,…,0x00]
Новые слова в сценарии SED могут быть заменены запятыми с запятой, если вы предпочитаете
в то время, прочитайте цикл:
while read line; do
echo "$line" | sed 's/^[^(]*//; s/([^ ]\+ /(/; s/ - CONSTANT ID//; s/ \+>/ :/'
done < filename
Это работает на вашем примере входной линии:
sed 's/.* \([0-9].*)\) .*>/(\1: RAW DATA OUT:/
' <<\DATA
1: (10/17 12:49:31.175) - CONSTANT ID1 - CONSTANT ID2: RAW DATA OUT > [0x00,0xa2,…,0x00]
DATA
Это печатает:
(12:49:31.175): RAW DATA OUT : [0x00,0xa2,…,0x00]