Я выполнил приведенную ниже команду awk
команда
awk '$0 !~ /\(/{gsub(")","",$0);}1' filename
выход
http://foo.com/abc_(Programming_Language)
http://example.com/test
Обратите внимание, что собственная документация Linux Lite предлагает использовать диспетчер загрузки PLoP, если загрузка с USB недоступна.:PLoP — это менеджер загрузки, который можно -в базовой поддержке USB-накопителей.
https://www.plop.at/en/bootmanager/download.html
https://www.howtogeek.com/howto/16822/boot-from-a-usb-drive-even-if-your-BIOS-wont-let-you/
Однажды я использовал его для запуска установки на основе USB -в старой системе, в которой не было поддержки USB в BIOS.
Но если вы хотите использовать PXE, общая последовательность событий при загрузке PXE выглядит следующим образом:
Расширение PXE BIOS (или встроенное ПО UEFI -в сетевой драйвер в современных системах )активирует сетевую карту и отправляет DHCP-запрос с добавлением нескольких специальных идентификаторов:
vendor-class-identifier
(PXE #60 )задана строка, начинающаяся со слова PXEClient
и содержащая код, идентифицирующий используемую архитектуру процессора. При желании это можно использовать для предоставления специализированных решений загрузки PXE для различных типов клиентов, но в простых настройках DHCP-сервер может просто игнорировать это. Сервер DHCP фактически имеет два способа предоставления имени сервера TFTP и имени загрузочного файла. :он может либо использовать упомянутые выше -параметры DHCP, либо, поскольку может использовать старые поля BootP next-server
и bootfile-name
в пакете DHCP для предоставления информации.
(Некоторые расширения PXE BIOS могут содержать ошибки и поддерживать только одно или другое.Я видел прошивку PXE, которая добавляла дополнительный нулевой байт к имени загрузочного файла, если использовалась опция DHCP #67, но работала правильно, используя устаревший стиль BootP. Для устранения подобных проблем может потребоваться использование Wireshark или tcpdump
для просмотра фактических запросов и ответов DHCP и TFTP, чтобы понять, что происходит не так.)
Расширение PXE BIOS настроит сетевой интерфейс, используя ответ DHCP, загрузит указанный файл с указанного сервера TFTP и выполнит этот файл. В принципе, все, что происходит после этого, полностью контролируется программным кодом в том файле (загрузчика PXE ). На практике двумя наиболее распространенными загрузчиками PXE в кругах Linux в наши дни, вероятно, будут либо PXELINUX из семейства SYSLINUX, либо iPXE . Оба они, по сути, начнут с настройки сети и сделают еще один запрос DHCP с другим специальным идентификатором. Это позволяет серверу DHCP использовать другую опцию DHCP, чтобы сообщить загрузчику PXE, где загрузить файл конфигурации загрузчика.
/pxe/pxelinux.0
, то он попытается загрузить свою конфигурацию из /pxe/pxelinux.cfg/default
. Файл конфигурации загрузчика может включать определение красивого загрузочного меню или просто указать загрузчику загрузить конкретное ядро Linux и файл initrd/initramfs для него. Это работает так же, как обычный GRUB, за исключением того, что загрузка происходит по сети, а не с диска.Файл конфигурации загрузчика может включать параметры загрузки для ядра Linux, как и конфигурация GRUB. В сценариях сетевой установки обычно требуется использовать параметр загрузки, чтобы указать, где установщик должен найти образ ISO или его содержимое :. В современных дистрибутивах значение этого параметра обычно принимает форму URL-адреса HTTP.
Как только загрузчик PXE успешно загрузил ядро и файл initramfs в оперативную память клиентской системы, его работа выполнена :он запускает ядро Linux и передает ему содержимое initramfs и любые параметры загрузки ядра, а затем загрузчик перезаписывается, когда ядро переводит систему из 16 -битного режима совместимости в настоящий 32 -битный защищенный режим и перестраивает карту виртуальной памяти в соответствии со своими потребностями. Драйвер сетевого адаптера Linux сбрасывает сетевой адаптер при запуске драйвера, поэтому конфигурация IP-адреса обычно просто теряется. (Современная система UEFI запускается уже в 64-битном -защищенном режиме, но UEFI имеет свои сложности в безопасной загрузке.)
В большинстве дистрибутивов, предлагающих установку по сети -, initramfs включает собственный DHCP-клиент, поэтому загрузочные сценарии просто отправят DHCP-запрос (еще раз ), чтобы получить параметры сетевого адреса. Затем запускается первая часть установщика внутри initramfs, подключается к URL-адресу, указанному в параметрах загрузки ядра, для загрузки дополнительных частей и, в конце концов, начинает процесс установки ОС.
Итак, на ваши вопросы:
1. )Если DHCP-сервер вашего маршрутизатора можно настроить для предоставления клиенту необходимых значений параметров DHCP, вам не нужен второй DHCP-сервер. Вы правы в том, что наличие двух несогласованных DHCP-серверов в одной сети сделает вещи случайными и сложными.
2.)Программа установки в ISO должна поддерживать сетевые -установки.
3. )По сути, вам нужно найти два файла :файл ядра и файл initramfs. Наиболее распространенный 32-битный -загрузчик Linux на образах ISO, вероятно, ISOLINUX
из семейства SYSLINUX :, вы можете просто прочитать файл конфигурации isolinux.cfg
или syslinux.cfg
, найти пути к файлам ядра и initramfs и любые необходимые параметры загрузки и скопируйте их в конфигурацию выбранного сетевого загрузчика. Некоторые дистрибутивы предлагают отдельный набор kernel+initramfs, предназначенный для загрузки по сети :, просмотрите содержимое ISO для каталогов с именем images/netboot
или аналогичным.
Поскольку вы укажете пути TFTP, которые будут использоваться для извлечения этих файлов, вы можете размещать их где угодно. Но вы можете упростить задачу и просто поместить их в любой каталог, который является «корневым каталогом TFTP» по умолчанию для выбранного вами TFTP-сервера.
После того, как вы справились с передачей нужного ядра и файлов initramfs клиенту, вам просто нужно выяснить, как предоставить остальную часть содержимого ISO. Обычно это просто вопрос размещения либо ISO-образа, либо его извлеченного содержимого (, либо смонтированного по циклу -ISO-образа )в любое удобное место на веб-сервере и добавления параметра загрузки ядра, указывающего URL-адрес ISO в конфигурацию загрузчика PXE.
ip=dhcp inst.stage2=http://some.www.server/root/of/ISO
deb.debian.org
), напрямую, поэтому, если исходящие соединения разрешены, вам может вообще не понадобиться полный ISO.