1

Итак, я возился с LXC на моем Ubuntu 16.04.

Я хочу / нужно настроить мои контейнеры rootfs как изображение определенного размера. (Нет, zfs не будет работать в моем случае)

Итак, у меня все настроено и отлично работает через создание контейнера (ов) с помощью скрипта bash, и теперь мне нужно добавить монтирование на мои хост-машины fstab чтобы сохранить монтирование на перезагрузках хост-машины

Все это прекрасно работает, контейнер /.img /монтирует все create и работает замечательно, сохраняя при перезагрузке.

Теперь, при уничтожении контейнера, мне нужно удалить эту строку из fstab как мне не нужно будет монтировать ее после уничтожения контейнера ... Я знаю, что я мог бы просто оставить это без вреда, но ради поддержания чистоты моего fstab , скажем, мне нужно это сделать. Хитрость в том, что я хотел бы иметь возможность сделать это с помощью сценария оболочки, поэтому мне не нужно вручную редактировать мой файл fstab каждый раз, когда я считаю необходимым уничтожить контейнер.

Я добавляю строку со следующим

    T=$(grep -ir "/home/containers/$UsersName/rootfs" /etc/fstab);
    if [ ! -n $T ]; then
        echo "/home/$UsersName.img   /home/containers/$UsersName/rootfs    xfs   noatime    0       0" >> /etc/fstab;
        mount -a;
    fi;

Где $UserName = предварительно заданная строка.

Как я могу удалить эту строку через мой bash-скрипт?

1 ответ1

1

Проверьте этот ответ о том, как удалить строку. Есть несколько способов сделать это, но есть несколько предостережений, таких как экранирование строк и сопоставление шаблонов. Это затрудняет ответ на все вопросы.

sed - это быстро и просто, но в вашем случае требуется убрать косую черту.
Обратный grep (grep -v), вероятно, подойдет вам. Просто убедитесь, что ничего нежелательного не найдено.

В вашем примере: grep -v "$UsersName.img" /etc/fstab > /etc/fstab.bak; mv /etc/fstab.bak /etc/fstab
Каждая строка, кроме тех, которые содержат, сопоставляется и перенаправляется в fstab.bak и, наконец, переименовывается в fstab.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .