Что-то определенно с Вашей установкой CentOS и этого VM. Я подозревал бы, что опции, которые Вы выбрали для типа аппаратных средств, которые Вы хотите, чтобы VMware эмулировал, являются корнем Вашей проблемы.
Другая вещь, которую я проверил бы, состоит в том, что Ваш VM имеет вполне достаточное свободное пространство на диске. Можно дать эту команду когда в VM для определения использования диска.
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
429G 358G 49G 89% /
/dev/sda1 99M 33M 61M 36% /boot
tmpfs 5.9G 0 5.9G 0% /dev/shm
Вы можете использовать адрес /regexp/
, чтобы найти строку, содержащую [DEFAULT]
, а затем добавить (a
) команду для добавления строк под ней. Передайте -i
на sed
, чтобы он изменил файл на месте (возможно, сначала вы захотите запустить его без него, чтобы убедиться, что он делает все правильно; он выведет, как будет выглядеть измененный файл, не меняя его на самом деле):
# sed -i '/^\[DEFAULT\]$/a rabbit_host =controller\nrabbit_password =RABBIT_PASS' /etc/heat/heat.conf
если у Вас есть файл /tmp/a
с коннетом
hello my friend
Вы можете использовать sed для замены строк:
sed -i 's/hello/hi/g' /tmp/a
это приведет к:
hi my friend
смотрите: man sed
Также вы можете добавить строки без sed
в файл, используя >>
:
echo "I like you">>/tmp/a
Я уверен, что автор запроса уже нашел решение, но на всякий случай.
Этот запрос идеально подходит для приложения crudini он доступен для всех основных сборок Linux. например, следующее добавит строку в раздел DEFAULT
раздела/etc/heat/heat.conf
crudini --set /etc/heat/heat.conf DEFAULT mysetting true
Секция:
[DEFAULT]
rabbit_host =controller
rabbit_password =RABBIT_PASS
mysetting = true
будет обновляться, если запись уже находится в файле конфигурации.
Старая школа ed
подход
ed -s test <<EOF
/^\[DEFAULT\]$/
a
rabbit_host =controller
rabbit_password =RABBIT_PASS
.
w
q
EOF