Я только что сделал a do-release-upgrade -m server
от
Linux boson 3.19.0-31-generic #36-Ubuntu SMP Wed Oct 7 15:04:02 UTC 2015 x86_64 Linux-3.19.0-31-generic-x86_64-with-Ubuntu-15.04-vivid
кому:
Linux boson 4.2.0-16-generic #19-Ubuntu SMP Thu Oct 8 15:35:06 UTC 2015 x86_64 Linux-4.2.0-16-generic-x86_64-with-Ubuntu-15.10-wily
Я предположил, что контейнеры LXC будут автоволшебно обновлены также. Однако, хотя uname -r
возвраты 4.2.0-16-generic
который подтверждает, что ядро идет Коварное, делая apt-get update
шоу, что на контейнер все еще указывают на Яркий репозиторий.
do-release-upgrade
в то время как присоединено к контейнерным возвратам bash: do-release-upgrade: command not found
.
Как я обновляю контейнеры LXC также? Существует ли доступный инструмент?
(Я не имею X установленный),
Я также Google подобный вопрос, и нахожу Ваш вопрос.:) Прежде чем я начну тестировать, я создаю снимок для контейнера, в случае, если я разрушаю что-то, когда я пробую. К счастью, обновление является очень гладким.
я думаю, что контейнер не будет обновлением автоматически, когда хост будет обновлен.
я только что сделал обновление версии от Коварного до Гостеприимного для моего контейнера LXD. Ниже то, что я делаю. Я думаю, что это было бы подобно для контейнера LXC.
Присоединение к containter консоли, Вы будете корнем; и Вы не должны волновать ssh сервис, так как Вы используете консоль:
$ lxc exec <container name> -- bash
Первое обновление Ваши пакеты программного обеспечения, специально для Кв.:
# apt-get update
# apt-get dist-upgrade
# reboot (maybe not needed)
, если у Вас нет "-обновления-версии":
# apt-get install ubuntu-release-upgrader-core
Затем можно запустить обновление:
# do-release-upgrade -m server
В случае, если “do-release-upgrade” жалуется, "Должен быть подключен к терминалу". я понятия не имею, почему это происходит, я думаю этот контейнер основания на облачном изображении Ubuntu. Поэтому должны использовать соединение SSH и "sudo" s.
Вот то, что, кажется, работало на меня:
$ sudo lxc-attach --name <container>
Затем редактирование /etc/apt/sources.list
и замена все происшествия vivid
к wily
.
Следующий сделайте:
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade
# apt-get autoclean
# apt-get autoremove
# reboot
Повторение это пару раз, пока все пакеты не обновляются.
Если я не хочу/нуждаюсь передавать пути выполнения кода средства обновления, мне действительно нравится сообщение, которое упомянуло просто, что заменило имя выпуска в/etc/apt/sources.list.
, Но Если я хочу/нуждаюсь, чтобы-обновление-версии действительно работало, я просто включаю ssh. Могли бы быть более легкие пути, которые будут убеждены иметь надлежащую консоль, но это легко и работы.
, Чтобы сделать так делают
# go into the container
lxc exec <container> bash
# set PasswordAuthentication yes here
vim /etc/ssh/sshd_config
# restart containers ssh
service ssh restart
# set a pw of the default ubuntu user
passwd ubuntu
# exit container and get the container IP
lxc info <container>
# connect to it via ssh
ssh ubuntu@<ip>
# run do-release-upgrade as you want
do-release-upgrade
Не может прокомментировать ответ @alfred, очень жаль о новом.
"Должен быть подключен к терминалу". жалуйтесь может быть решен с командой:
exec >/dev/tty 2>/dev/tty </dev/tty
Чем просто выполненное-обновление-версии.