Установка DHCPD в Arch Linux

У меня нет под рукой команды lshw, поэтому я сфальсифицировал ее следующим образом:

   size: 4200KiB (4200KB)
   size: 420MiB (420MB)
   size: 42GiB (42GB)
   size: 4TiB (4TB)
   size: 2PiB (2PB)

(Я нашел пример в Интернете и просто скопировал строки «размер :» и составил несколько размеров ).

Я использовал awk здесь, потому что, как только вы обнаружите, что grepпинг и cutтинг и sedинг, зачастую проще объединить всю эту логику в awk.

Приведенный ниже awk-скрипт устанавливает разделители полей(FS)так, чтобы они открывали -и закрывали -круглые скобки, чтобы было более естественным извлекать желаемое значение. Он также (избыточно )инициализирует промежуточный общий размер (в Гб )нулем.

Каждый раз, когда awk видит строку ввода, соответствующую (простому )регулярному выражению, size:он начинает реальную работу внутри фигурных скобок. Значение внутри круглых скобок заканчивается в поле #2, поэтому мы просим awk сопоставить цифры в этом поле. Мы ожидаем, что они начнутся с позиции 1 для некоторого количества символов. Затем значение извлекается на основе этой длины, а суффикс представляет собой оставшуюся часть строки.

Затем мы просматриваем список возможных суффиксов (расширяем по мере необходимости )и умножаем текущий размер на соответствующий коэффициент (, упомянутый Стефаном в комментарии к -удаленному ответу. на 1000 -базовых единиц ).

После того, как все входные данные будут израсходованы, awk выводит общий размер в ГБ.

Сохраните скрипт в файл и запустите его, как

lshw -class disk -class storage | awk -f /path/to/script

Скрипт:

BEGIN {
  FS="[()]"
  sizegb=0
}

/size: / {
  match($2, "[0-9]+")
  value=substr($2, RSTART, RLENGTH)
  suffix=substr($2, RLENGTH+1)
  if (suffix == "KB")
    sizegb += value / (1000*1000)
  else if (suffix == "MB")
    sizegb += value / 1000
  else if (suffix == "GB")
    sizegb += value
  else if (suffix == "TB")
    sizegb += value * 1000
  else if (suffix == "PB")
    sizegb += value * 1000 * 1000
}

END {
  printf "Total size: %.2f GB\n", sizegb
}

0
21.08.2020, 22:14
1 ответ

Вам нужен пакет dhcpcd. Это часть среды установки, и я предполагаю, что она работала, когда вы устанавливали. Чтобы установить dhcpcd в вашей системе, выполните следующие действия

  1. Загрузите среду установки.
  2. arch -chroot в вашу новую установку. Руководство по установке Arch расскажет вам, как это сделать.
  3. В новых установочных пакетах обновлений сsudo pacman -Syu
  4. Установите dhcpcd с помощьюsudo pacman -S dhcpcd
  5. Выйдите из chroot и перезагрузитесь
  6. Посетите Arch wiki для настройки dhcpcd

Кроме того, на вики-сайте Arch есть статья, в которой описывается, как установить пакет в tar-шар, здесьhttps://wiki.archlinux.org/index.php/offline_installation_of_packages

Удачи

2
18.03.2021, 23:11

Теги

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