如何更新Debian或Ubuntu Linux容器(lxc)VM
时间:2020-01-09 10:39:47 来源:igfitidea点击:
在使用LXC(Linux容器)在Ubuntu LTS上运行的虚拟化系统时,
如何从主机操作系统更新所有基于Ubuntu或Debian Linux的来宾容器VM?
容器不是新技术。
大量类似Unix的系统已经开发了基于容器的强大虚拟化解决方案,例如FreeBSD jails,OpenVZ,Solaris Zones等。
LXC是非常快速高效的虚拟化。
OS内核(主机)为不同的运行进程提供了不同的系统视图。
这也称为CPU和其他资源的沙箱或隔离。
这对于提高服务器和应用程序的安全性和效率很有用。
安全性建议:使Linux内核和软件保持最新
应用安全补丁是维护Linux服务器的重要组成部分。
Linux提供了所有必要的工具来保持您的系统更新,并且还允许在版本之间轻松升级。
您可以使用RPM软件包管理器(例如yum命令和/或apt-get命令)来应用所有安全更新:
[www-container]# yum update
或者
[www-container]# apt-get update && apt-get upgrade
列出系统上现有的容器
在主机上执行以下命令:
# lxc-ls -1 # lxc-ls
输出示例:
dnsvm wwwvm mysqlvm memcache
使用lxc-attach命令将更新从主机应用到Linux容器
基于Debian/Ubuntu的LXC来宾vm的语法如下:
[hostOS]# lxc-attach -n VM-NAME-HERE apt-get update [hostOS]# lxc-attach -n VM-NAME-HERE apt-get -y upgrade
要在mysqlvm上运行命令,请执行:
[hostOS]# lxc-attach -n mysqlvm apt-get update [hostOS]# lxc-attach -n mysqlvm apt-get -y upgrade
基于CentOS/RHEL/Fedora Linux的LXC来宾vm的语法如下:
[hostOS]# lxc-attach -n VM-NAME-HERE yum update -y
要在wwwvm vm上运行命令,请运行:
[hostOS]# lxc-attach -n wwwvm yum update -y
用于更新所有Debian/Ubuntu LXC虚拟机的示例Shell脚本
#!/bin/bash # Purpose: Update all lxc vms # Note: Tested on Ubuntu LTS only # Author: <www.theitroad.local>, under GPL v2+ # ------------------------------------------------------ # Get the vm list vms="$(lxc-ls --active)" # Update each vm update_vm(){ local vm="" echo "*** [VM: $vm [$(hostname) @ $(date)] ] ***" /usr/bin/lxc-attach -n "$vm" apt-get -- -qq update /usr/bin/lxc-attach -n "$vm" apt-get -- -qq -y upgrade /usr/bin/lxc-attach -n "$vm" apt-get -- -qq -y clean /usr/bin/lxc-attach -n "$vm" apt-get -- -qq -y autoclean # Note for RHEL/CentOS/Fedora Linux comment above two line and uncomment the following line # # lxc-attach -n "$vm" yum -y update echo "-----------------------------------------------------------------" } # Do it for v in $vms do update_vm "$v" done
如下运行:
# ~/bin/lxc-update-vm.sh