Попытка онлайнового решения, но это не совсем так.
Настройка (, например,. /tmp
каталог, как root):
LOWER=$HOME
mkdir u1 w1 o1 O
mount -t overlay overlay -o lowerdir=$LOWER,upperdir=u1,workdir=w1 o1
mount --bind o1 O
Затем вы можете работать в каталоге O
, который является наложением на $LOWER
. Когда вы хотите сделать снимок:
mkdir u2 w2 o2
mount -t overlay overlay -o lowerdir=o1,upperdir=u2,workdir=w2 o2
(Обратите внимание, что подобные вложенные оверлеи не будут работать на старых ядрах ).
Но затем я хочу каким-то образом атомарно изменить монтирование привязки в O
так, чтобы оно указывало на o2
вместо o1
. Я не знаю, как это сделать, кроме как:
umount O
mount --bind o2 O
(Не атомарный ; есть окно, где O
размонтировано ).
В идеале запущенные процессы могли бы продолжать работать, не зная, что базовая файловая система O
изменилась с o1
на o2
. Я не знаю, возможно ли это, или изменение базовой файловой системы O
слишком сильно нарушит работу открытых приложений. Мне нужно продолжить расследование.
Затем, как только O
будет перенаправлен на o2
, мы можем перемонтировать o1
для чтения -только в качестве меры предосторожности, а затем выполнить автономное слияние, используя, например, инструменты rdiffdir или overlayfs -.
Наконец, мы хотели бы каким-то образом атомарно перемонтировать o2
как lowerdir=$HOME,upperdir=u2,workdir=w2
, чтобы o1
, u1
иw1
(все теперь пустые каталоги )могли быть удалены. Опять же, я не знаю, возможно ли это.
В противном случае мы можем получить моментальные снимки, просто размещая оверлеи все глубже и глубже и оставляя оверлей и верхние каталоги для каждого смонтированного без попыток слияния или очистки. Но, вероятно, существует ограничение на количество вложенных оверлеев, которые можно смонтировать. И в какой-то момент нам все еще нужно объединить слои вниз, если мы хотим сохранить изменения.
Пишет, что устройство не найдено, потому что пакет Jenkins настроен неправильно. Следующие команды решат вашу проблему..
$ sudo yum update –y
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat/jenkins.repo
$ sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
$ sudo yum install jenkins -y
Столкнулся с той же проблемой при установке Jenkins на экземпляр AWS ec2. Следующие команды работали для меня.
sudo amazon-linux-extras install epel -y
sudo yum update -y
sudo yum install jenkins java-1.8.0-openjdk-devel