Difference between revisions of "Vnx-rootfslxc"
(→Basic installation) |
(→Basic installation) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
== Basic installation == | == Basic installation == | ||
− | Follow this procedure to create a Ubuntu based LXC root filesystem for VNX. The procedure has been tested with Ubuntu versions from 13.10 to | + | Follow this procedure to create a Ubuntu based LXC root filesystem for VNX. The procedure has been tested with Ubuntu versions from 13.10 to 18.04. |
<ul> | <ul> | ||
<li>Create the rootfs with:</li> | <li>Create the rootfs with:</li> | ||
− | lxc-create -t ubuntu -n vnx_rootfs_lxc_ubuntu- | + | lxc-create -t ubuntu -n vnx_rootfs_lxc_ubuntu-18.04 |
Note1: The default username/password is ubuntu/ubuntu.<br> | Note1: The default username/password is ubuntu/ubuntu.<br> | ||
Note2: This method creates an image with the same architecture (32 or 64 bits) as the host. To create a 32 bits image in a 64 bits host, the only method known to work is to follow the procedure described in this page inside a KVM 32 bits virtual machine. | Note2: This method creates an image with the same architecture (32 or 64 bits) as the host. To create a 32 bits image in a 64 bits host, the only method known to work is to follow the procedure described in this page inside a KVM 32 bits virtual machine. | ||
<li>Move the rootfs to VNX filesystems directory:</li> | <li>Move the rootfs to VNX filesystems directory:</li> | ||
− | mv /var/lib/lxc/vnx_rootfs_lxc_ubuntu- | + | mv /var/lib/lxc/vnx_rootfs_lxc_ubuntu-18.04/ /usr/share/vnx/filesystems/ |
<li>If using Ubuntu 17.10 or newer (lxc version 2.1 or newer), convert the configuration file to old config format (VNX converts back to the newer format if needed when starting containers):</li> | <li>If using Ubuntu 17.10 or newer (lxc version 2.1 or newer), convert the configuration file to old config format (VNX converts back to the newer format if needed when starting containers):</li> | ||
− | lxc.rootfs.path -> lxc.rootfs | + | lxc.rootfs.path -> lxc.rootfs |
− | lxc.uts.name -> lxc.utsname | + | lxc.uts.name -> lxc.utsname |
− | lxc.net.0.type -> lxc.network.type | + | lxc.net.0.type -> lxc.network.type |
− | lxc.net.0.link -> lxc.network.link | + | lxc.net.0.link -> lxc.network.link |
− | lxc.net.0.flags -> lxc.network.flags | + | lxc.net.0.flags -> lxc.network.flags |
− | lxc.net.0.hwaddr -> lxc.network.hwaddr | + | lxc.net.0.hwaddr -> lxc.network.hwaddr |
<li>Edit the rootfs configuration file (/usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/config) to reflect the directory change:</li> | <li>Edit the rootfs configuration file (/usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/config) to reflect the directory change:</li> | ||
lxc.rootfs = /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/rootfs | lxc.rootfs = /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/rootfs | ||
Line 25: | Line 25: | ||
touch vnx_rootfs_lxc_ubuntu-16.04/fstab | touch vnx_rootfs_lxc_ubuntu-16.04/fstab | ||
<li>Start the new rootfs to configure it and install new software:</li> | <li>Start the new rootfs to configure it and install new software:</li> | ||
− | lxc-start -n | + | lxc-start -n vnx -F -f /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/config |
<li>Once the VM has started, make login (ubuntu/ubuntu) and:</li> | <li>Once the VM has started, make login (ubuntu/ubuntu) and:</li> | ||
<ul> | <ul> | ||
Line 37: | Line 37: | ||
sudo apt-get install aptsh openssh-server traceroute telnet nmap apache2 wget tcpdump net-tools ifupdown | sudo apt-get install aptsh openssh-server traceroute telnet nmap apache2 wget tcpdump net-tools ifupdown | ||
update-rc.d -f apache2 remove # to avoid automatic start | update-rc.d -f apache2 remove # to avoid automatic start | ||
+ | systemctl disable apache2 # in newer systems | ||
<li>Change VM name in hosts and hostname files:</li> | <li>Change VM name in hosts and hostname files:</li> | ||
sudo vi /etc/hosts # change name to vnx | sudo vi /etc/hosts # change name to vnx | ||
Line 49: | Line 50: | ||
<li>Disable auto-upgrades if enabled:</li> | <li>Disable auto-upgrades if enabled:</li> | ||
sed -i -e 's/"1"/"0"/g' /etc/apt/apt.conf.d/20auto-upgrades | sed -i -e 's/"1"/"0"/g' /etc/apt/apt.conf.d/20auto-upgrades | ||
+ | <li>Delete the "mesg n" command in root's .profile to avoid the nasty message | ||
+ | "mesg: ttyname failed: No such device" when executing commands with lxc-attach:</li> | ||
+ | sed -i '/^mesg n/d' /root/.profile | ||
<li>Exit and login again with user vnx/xxxx to delete ubuntu user:</li> | <li>Exit and login again with user vnx/xxxx to delete ubuntu user:</li> | ||
sudo deluser ubuntu | sudo deluser ubuntu |
Latest revision as of 01:36, 28 August 2019
How to create a LXC Ubuntu root filesystem for VNX
Basic installation
Follow this procedure to create a Ubuntu based LXC root filesystem for VNX. The procedure has been tested with Ubuntu versions from 13.10 to 18.04.
- Create the rootfs with:
lxc-create -t ubuntu -n vnx_rootfs_lxc_ubuntu-18.04
Note1: The default username/password is ubuntu/ubuntu.
Note2: This method creates an image with the same architecture (32 or 64 bits) as the host. To create a 32 bits image in a 64 bits host, the only method known to work is to follow the procedure described in this page inside a KVM 32 bits virtual machine.
mv /var/lib/lxc/vnx_rootfs_lxc_ubuntu-18.04/ /usr/share/vnx/filesystems/
lxc.rootfs.path -> lxc.rootfs lxc.uts.name -> lxc.utsname lxc.net.0.type -> lxc.network.type lxc.net.0.link -> lxc.network.link lxc.net.0.flags -> lxc.network.flags lxc.net.0.hwaddr -> lxc.network.hwaddr
lxc.rootfs = /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/rootfs lxc.mount = /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/fstab
touch vnx_rootfs_lxc_ubuntu-16.04/fstab
lxc-start -n vnx -F -f /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/config
- Add VNX user and change the passwords:
sudo adduser vnx sudo adduser vnx sudo sudo passwd root
sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install aptsh openssh-server traceroute telnet nmap apache2 wget tcpdump net-tools ifupdown update-rc.d -f apache2 remove # to avoid automatic start systemctl disable apache2 # in newer systems
sudo vi /etc/hosts # change name to vnx sudo vi /etc/hostname # "
echo "pts/0" >> /etc/securetty echo "pts/1" >> /etc/securetty echo "pts/2" >> /etc/securetty echo "pts/3" >> /etc/securetty
sed -i -e 's/"1"/"0"/g' /etc/apt/apt.conf.d/20auto-upgrades
sed -i '/^mesg n/d' /root/.profile
sudo deluser ubuntu
halt
tar --numeric-owner -czpf vnx_rootfs_lxc_ubuntu-16.04-v025.tgz vnx_rootfs_lxc_ubuntu-16.04-v025
cd /usr/share/vnx/filesystems ln -s vnx_rootfs_lxc_ubuntu-16.04 rootfs_lxc