dtc_reinstall_os - reinstall an operating system in a VM
] [ OPTIONS ] -vpsid <ID>
-ram <RAM size MB> -nic
<root-password> -os <operating-system>
<default-gateway> ] [ -dns <dns1-ip>[,<dns2-ip>] ]
This shell script is a part of the dtc-xen package that
is to be used by the dtc panel to manage a Xen VPS server.
dtc_reinstall_os will bootstrap an operating system for you, so you can later
use it in a virtual machine (a VM), otherwise called a virtual private server
(a VPS). This script will be called by dtc-xen when you order it to install a
VPS through the SOAP server of dtc-xen. You can as well use it directly on the
shell if you don't have a DTC control panel server already setup.
Additional configuration files
Parameters and options conventions
- When doing it's setup, dtc_reinstall_os will copy the file
/etc/dtc-xen/authorized_keys2 into the VPS's /root/.ssh/authorized_keys2
and /root/.ssh/authorized_key, so the administrator has access to the VPS
without the need of shutting it down. So it's a good idea to copy your shh
public key in /etc/dtc-xen/authorized_keys2. dtc_reinstall_os will also
copy /etc/dtc-xen/motd into the /etc/motd of the VPS (and /etc/motd.tail
if a Debian operating system is installed), and /etc/dtc-xen/bashrc into
Another very important configuration file is /etc/dtc-xen/dtc-xen.conf, that
will hold the configuration for both this script, and the SOAP server of
- All parameters described here are mandatory.
dtc_reinstall_os will exit if one of the parameters is missing from both
the configuration file /etc/dtc-xen/dtc-xen.conf and the command line. If
a parameter is on both the configuration file and the command line, then
the command line has priority. The parameters not marked like [ this ] are
not mandatory in the command line, if and only if, they are defined in the
configuration file. If a parameter is defined in the configuration file,
then it can be omitted from the command line. The parameters defined above
-like <this> are mandatory. Options are always defined with a double
minus sign, while mandatory parameters have only a single minus sign.
All the parameters defined in this section (eg: PARAMETERS) are the
mandatory on the command line.
-ram <RAM size MB>
- ID has to be a number between 01 and 99. Each time a new
VPS is created, an associated user xen<ID> will be created on the
system, using /usr/bin/dtc-xen_userconsole so your users can login into
the system. When they login, "xm console xen<ID>" will in
fact be their shell, so they can access the physical console of the VPS
- This is the amount of memory in mega bytes that you want to
have setup in the Xen startup file for this virtual machine.
- This parameter defines the network configuration of the
virtual machine, together with the -gw option (see below). There can be as
many -nic parameter as you need. If there is more than one, then
dtc_reinstall_os will setup a physical NIC configuration, and as many
eth0:X virtual alias as needed to match the number of -nic parameters on
the command line.
If the <netmask> or <broadcast> parameter is missing, then the
values will be taken from /etc/dtc-xen/dtc-xen.conf. It is mandatory to
have at least the netmask and broadcast defined in either the command line
or in the configuration file. These variables are called NETMASK and
BROADCAST in /etc/dtc-xen/dtc-xen.conf. Note that each IP address will be
added to the Xen startup configuration file of the virtual machine, so
that you can use the anti-spoof facility of the Xen firewall (highly
recommended, if you are reselling VPS). See Xen documentation on how to
activate the anti-spoof feature of xend, but in short, you should use
something like this: (network-script 'network-bridge antispoof=yes') while
network-bridge can be replaced by the network scheme that you need.
DTC-Xen will NOT touch the /etc/xen/xend-config.sxp file, it's up to you
to customize it to your needs before using dtc-xen.
[ -dns <dns1-ip>[,<dns2-ip>] ]
- You can then specify lvm or loopback. Currently the only
value the script compares to is lvm (or anything else), but this might
change in the future. If omitted, then lvm loopback is used.
- This defines the default DNS to be setup in
/etc/resolv.conf in the VPS that will be setup. If not present, then
dtc-xen will use the file in /etc/resolv.conf of your dom0 to find the DNS
- This is the root password you wish to have setup inside the
VPS. Not all operating system setup will support it, but it's still a
mandatory parameter. If this parameter is not used, then the VPS will be
setup without a root password, which is, as opposed to many people think,
very fine. The user will just need to log into his VPS and setup the root
password using the passwd utility.
- This parameter that can be debian, centos, or netbsd for a
default setup of dtc-xen. It can also be set to any of the folder names
present in /usr/share/dtc-xen-os, so that dtc-xen will use the setup
script of the dtc-xen-os module to initialize a partition.
This parameter can also be the name of any folder present in
/usr/share/dtc-xen-app. These are appliances that will be installed
automatically at the first boot of the VPS. They depend on the support of
the unix distribution that is supported by dtc-xen, or any of the
dtc-xen-os module installed in the system.
If you don't set these options, then they may have to be set in
/etc/dtc-xen/dtc-xen.conf. Some options can be omitted completely.
- Without -v, dtc_reinstall_os normally outputs everything in
/var/lib/dtc-xen/mnt/XX.stderr and /var/lib/dtc-xen/mnt/XX.stdout (or
wherever you have set the vps mountpoint to be), to keep a log of the
installation. With -v, the redirection of standard output and error is not
- VNC password for the physical console of your HVM VPS. See
the Xen documentation if you don't know what is HVM or full
virtualization. If this parameter is omitted, then the VPS will be setup
to NOT use the VNC server (recommended when in production).
- Name of the ISO file stored in
/var/lib/dtc-xen/ttyssh_home/xenXX/ folder so the VPS can be set to boot
on it. If this parameter is omitted, then the VPS will boot on the hard
drive. Note that your users would, in a normal scheme, upload the ISO file
using FTP and the ssh physical console password they have set using DTC.
The list of uploaded ISO files will then be presented in the user
interface. Because these ISO files can be sometimes big, it is advised to
protect your /var filesystem by using a dedicated partition for
/var/lib/dtc-xen/ttyssh_home, in order to avoid that your users fill up
the /var space with ISO files.
- Full path to the init ram disk image to setup in the
startup configuration file for this VPS. This parameter is normally to be
defined in /etc/dtc-xen/dtc-xen.conf as it should normally not be changed
- Full path to the kernel boot image to setup in the startup
configuration file for this VPS. This parameter is normally to be defined
in /etc/dtc-xen/dtc-xen.conf as it should normally not be changed often.
- Kernel release number that will be used when setting-up
this VPS. To be used only if you are using the --initrd and --kernel
options, and if the release number is different from the one of your dom0.
This will be used to run a depmod -a <kernel-release-number> in the
- Full path to the kernel modules to be used when copying the
kernel modules in the VPS.
- dtc_reinstall_os -v -vpsid 01 -ram 512 -nic
192.168.2.176,255.255.255.0,192.168.2.255 -pass MyRootPass -os debian -gw
192.168.2.1 -dns 192.168.2.1
This will setup the VM called xen01, build it's startup file in /etc/xen/xen01
with a vif containing ip=192.168.2.176 and 512 MB of RAM, setting-up a debian
operating system with the /etc/network/interfaces using 192.168.2.176 as IP,
255.255.255.0 as netmask, 192.168.2.255 as broadcast, 192.168.2.1 as gateway,
and 192.168.2.1 as DNS.
- dtc_reinstall_os -vpsid 02 -ram 1024 -nic 192.168.9.2 -nic
192.168.9.3 -gw 192.168.9.1 -pass MyRootPass -os kde-nx-server-3.3.0
This will setup the VM called xen02, build it's startup file in /etc/xen/xen02
with a vif containing ip=192.168.9.2 and 192.168.9.3 and 1 GB of RAM,
setting-up a debian operating system with the /etc/network/interfaces using
192.168.2.176 as IP for eth0, and eth0:1 with 192.168.9.3. The gateway
192.168.9.1 will be used for eth0, the broadcast, network, and netmask
addresses will be used from the default in /etc/dtc-xen/dtc-xen.conf (as they
are omitted here, it's mandatory that this config file has been edited to
match your network and in order to use dtc_reinstall_os this way). The dom0
/etc/resolv.conf will be used to set the VPS's /etc/resolv.conf.
This documentation describes dtc_reinstall_os