Удалите шаблоны из строки с помощью удара

[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] как свою корневую файловую систему.

После монтирования образа stage2 загрузчик запускает Anaconda, которая затем запускает Xorg и устанавливает оболочку командной строки на [1189441]tty2 [1189442] и всё остальное, и программа установки [1189443]действительно [1189444] запускается.

3. Устанавливает ли Anaconda пакеты/*.rpm? Если бы я хотел добавить туда один, могу ли я и будет ли он установлен?

  • Нет, он не просто устанавливает все там. Он использует файл [1189447]comps.xml[1189448] (в [1189449]repodata/[1189450]). чтобы решить, какие группы пакетов доступны (и какие пакеты в этих группах) - вот как заполняется пользовательский интерфейс выбора пакетов.
  • Если вы добавите что-либо в каталог [1189451]Packages/[1189452] (например, если вы пытаетесь создать пользовательский образ DVD) и хотите, чтобы его можно было установить, вам нужно использовать [1189453]createrepo[1189454] для регенерации каталога [1189455]repodata/[1189456]. Это позволит вам установить ваши пакеты как минимум через kickstart.
  • Если вам нужно, чтобы они появились в пользовательском интерфейсе, вам нужно также отредактировать [1189457]comps.xml[1189458].[1189036].

2
21.10.2014, 21:21
3 ответа

Вы также можете позвонить по телефону perl из bash. Аргумент -n делает его цикличным для каждой строки. -e означает, что скрипт является одной строкой.

cat in.txt | perl -ne 's{.*(.*\().*? (.*) -.*(:.*?)\s\s+.*(\[.*)}{$1$2$3 : $4};'
1
27.01.2020, 22:22
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
0
27.01.2020, 22:22

Это работает на вашем примере входной линии:

 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]    
0
27.01.2020, 22:22

Теги

Похожие вопросы