Se avete bisgono, come il sottoscritto, di creare un ambiente CentOS all’interno della vostra Slackware e volete usare le funzionalità messe a dispozione dai “Linux Containers” ecco una possibile soluzione ai vostri problemi.
Preparazione
- (ri)configurate il vostro kernel in modo che l’output di lxc-checkconfig dia “enabled” su tutte le voci e che sia abilitato il supporto di rete per i “bridge”
- aggiornate il pacchetto rpm con quello presente qui
- installate il pacchetto yum presente qui
- assicuratevi di aver installato il pacchetto lxc presente nei repository slackware
- assicuratevi di aver installato il pacchetto bridge-utils presente nei repository Slackware
- assicuratevi di avere abbastanza spazio su disco (nel mio test ho avuto visogno di circa 400MB)
- aggiungere al file /etc/rc.d/rc.local le seguenti linee
/usr/sbin/brctl addbr br0
/usr/sbin/brctl br0 10.0.0.1/24
/usr/sbin/iptables -t nat -A POSTROUTING -s 10.0.0.100 -o eth0 -j MASQUERADE
/sbin/sysctl net.ipv4.ip_forward=1
Installazione Container
- lanciare lxc-create –name NomeContainer –template=centos –dir=Path , NomeContainer è il nome che volete dare alla macchina, Path è il percorso sul vostro filesystem in cui verranno salvati i file (suppongo non vogliate usare una partizione)
- aspettare e/o rispondere alle domande
- entrare nella directory Path
- estrarre dal file tmp_root_pass la password di default dell’utente root da usare per il container
- modificare il file config andando a indicare, per la parte di rete, le seguenti linee
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.ipv4=10.0.0.100
lxc.network.ipv4.gateway=10.0.0.1
lxc.network.flags=up
lxc.network.mtu=1500
Gestione “minima” Container
- per avviare il container lanciare lxc-start –name=NomeContainer
- per fermare il container lanciare lxc-stop –name=NomeContainer
- per vedere la lista dei container lanciare lxc-ls
Note finali
- questa configurazione ovviamente vi permette di accedere alla vostra CentOS solo dalla macchina che lo ospita, in caso abbiate bisogno di acedere anche da fuori di essa dovete cambiare la configurazione di rete del bridge e del container.
- per vedere quali altri comandi avete a disposizione aprite una console come root, digitate lxc- e poi premete 2 volte <tab>
- con i passaggi sopra descritti l’indirizzo ip del vostro container sarà 10.0.0.100, l’indirizzo del bridge che permette il dialogo sistema-container sarà invece 10.0.0.1