Генерируйте файлы сетевой конфигурации с помощью sed и удар

В чате выяснилось, что env | egrep 'INTEL|GL|MESA' показал , что у вас LIBGL_ALWAYS_SOFTWARE=1 set.

Вот в чем ваша проблема. Согласно документации для LIBGL_ALWAYS_SOFTWARE, которая отключает весь аппаратный рендеринг. Когда вы используете sudo для попытки driconf в качестве корня, sudo удаляла его из среды.

Вам нужно найти, где он установлен, и удалить его.

.

1
19.11.2014, 02:42
3 ответа

Насколько мне известно, sed не может производить вычисления чисел, я бы использовал awk

$ awk -F'.' '$1~"IPADDR"{$NF++;OFS="."}1' file
DEVICE=eth0:1
NETMASK=255.255.255.0
IPADDR=10.2.7.149
BOOTPROTO=none
ONBOOT=yes
DNS1=10.2.53.150
PEERDNS=yes
DNS2=10.2.53.250
GATEWAY=10.2.7.1
TYPE=Ethernet
USERCTL=no
IPV6INIT=no

Включить это в цикл файлов, которые нужно изменить.


Пояснение:

  • -F'': используйте . разделитель полей
  • $1~"IPADDR"{}: если первое поле содержит шаблон IPADDR, то выполняется то, что находится внутри{}
  • $NF++;OFS=".": номер приращения в последнем поле (NF обозначает количество полей в записи).
  • 1: выведите все
1
27.01.2020, 23:37

я не знаю, понял ли я вас правильно. Это делает то, что вы хотите?

Bash:

[root@domain]:test # IP=120
[root@domain]:test # for i in {1..50}; do
> echo "IP=10.11.11.$IP
> NETMASK=255.255.255.0
> DEVICE=eth0:1
> ONBOOT=yes
> DNS1=10.2.53.150
> PEERDNS=yes
> DNS2=10.2.53.250
> GATEWAY=10.2.7.1
> TYPE=Ethernet
> USERCTL=no
> IPV6INIT=no" >> ifcfg-eth0:$i; IP=$((IP+1)); done;

Результат:

[root@domain]:test # ls ifcfg* |wc -l
50
[root@domain]:test # grep IP= ifcfg*
ifcfg-eth0:1:IP=10.11.11.120
...
ifcfg-eth0:50:IP=10.11.11.169
1
27.01.2020, 23:37

Этот файл принадлежит пользователю db и группе db :

Access: (0444/-r--r--r--)  Uid: ( 1001/db)   Gid: ( 1001/db)

, но доступен для чтения (444). Иерархия каталогов, в которой она находится, отсутствует, но она должна быть доступна для чтения по группе dbp , , если у /home/db нет разрешений по умолчанию. Это может быть так, поскольку ваша маска (027) строже, чем обычно (002).

В противном случае, вероятно, произошла ошибка EACCES, поскольку процесс попытался открыть файл для записи.

-121--150720-

В выходных данных точка, в которую фактически загружено ядро, - это точка:

Init version 2.86 booting

Через 23 секунды. После этого init , процесс userspace, берет на себя и начинает настройку userspace, хотя это неизбежно провоцирует активацию различных драйверов ядра, возможно, включая загрузку соответствующих модулей.

Вы не сказали, что это за платформа, но, например, на одноядерной малине pi с частотой 700 МГц, это ~ 4 секунды. Так что это все еще очень медленно, указывая на проблему.

Если мы вычтем промежуток между 0 и 19 секундами, вы снизитесь до ожидаемого значения. Этот разрыв заканчивается комментарием о MII PHY - это драйвер устройства Ethernet . Если существует возможность загрузки системы без сетевых соединений, можно подтвердить это, настроив драйвер Ethernet вне ядра и проконтролировать, можно ли быстрее выполнить инициализацию .

После отметки в 23 секунды основным узким местом, вероятно, будет ввод-вывод в корневой файловой системе. Почему-то существует 5-секундный промежуток между 25 - 30 секундами, заканчивающийся комментарием об ошибке файловой системы FAT. На самом деле там есть несколько ошибок fs. Это означает, что система init пытается монтировать несуществующие файловые системы, которые будут время waster.

Между 33 и 37 секундами появляется больше ошибок, указывающих на то, что включает в себя расположение файловых систем и/или конфигурацию программного обеспечения, зависящего от этого . Одной из таких зависимостей может быть файловая система tmpfs, которая должна была быть создана в оперативной памяти, но не выполнена (следовательно, отсутствующие файлы в /var/ и /tmp ). Вы можете задать отдельный вопрос, разместив свой /etc/fstab и попросив кого-то объяснить это, если смысл здесь не ясен.

-121--105568-

С помощью :

$ perl -ne '
    s/^(IPADDR=10\.2\.7\.)(\d+)/$2 < 255 and sprintf "%s%s", $1, $2 + 1/e;
    print
' file

Вывод:

DEVICE=eth0:1
NETMASK=255.255.255.0
IPADDR=10.2.7.149
BOOTPROTO=none
ONBOOT=yes
DNS1=10.2.53.150
PEERDNS=yes
DNS2=10.2.53.250
GATEWAY=10.2.7.1
TYPE=Ethernet
USERCTL=no
IPV6INIT=no

можно добавить переключатель -i для изменения файла на месте .

0
27.01.2020, 23:37

Теги

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