Libvirt (ancien) » Historique » Version 61
Matthieu Herrb, 24/11/2020 09:33
mise en garde obsolète !
1 | 1 | Mehdi Abaakouk | h1. Libvirt |
---|---|---|---|
2 | 1 | Mehdi Abaakouk | |
3 | 60 | Matthieu Herrb | h2. /!\ tetaneutral utilise de nouveau libvirt /!\ |
4 | 1 | Mehdi Abaakouk | |
5 | 60 | Matthieu Herrb | https://chiliproject.tetaneutral.net/projects/tetaneutral/wiki/Cluster_with_libvirt |
6 | 60 | Matthieu Herrb | |
7 | 61 | Matthieu Herrb | Par contre toutes les infos sur cette page sont **obsolètes** et juste gardées pour archivage. |
8 | 59 | Mehdi Abaakouk | |
9 | 12 | Mehdi Abaakouk | h2. Resources/Liens |
10 | 12 | Mehdi Abaakouk | |
11 | 18 | Laurent GUERBY | * Virtualisation du routage IPv4 pour les VM http://lists.tetaneutral.net/pipermail/technique/2013-April/000810.html |
12 | 18 | Laurent GUERBY | |
13 | 12 | Mehdi Abaakouk | * libvirt |
14 | 12 | Mehdi Abaakouk | |
15 | 12 | Mehdi Abaakouk | http://builder.virt-tools.org/artifacts/libvirt-virshcmdref/html/index.html |
16 | 12 | Mehdi Abaakouk | http://docs.fedoraproject.org/en-US/Fedora/13/html/Virtualization_Guide/chap-Virtualization-Managing_guests_with_virsh.html |
17 | 12 | Mehdi Abaakouk | |
18 | 12 | Mehdi Abaakouk | * virt-install et preseed sans server web et pxe: |
19 | 12 | Mehdi Abaakouk | |
20 | 58 | Mehdi Abaakouk | http://honk.sigxcpu.org/con/Preseeding_Debian_virtual_machines_with_virt_install.html |
21 | 58 | Mehdi Abaakouk | |
22 | 58 | Mehdi Abaakouk | |
23 | 58 | Mehdi Abaakouk | |
24 | 28 | Mehdi Abaakouk | h2. Backup d'un VM n7 |
25 | 28 | Mehdi Abaakouk | |
26 | 28 | Mehdi Abaakouk | sur h2: |
27 | 28 | Mehdi Abaakouk | |
28 | 29 | Mehdi Abaakouk | <pre> |
29 | 28 | Mehdi Abaakouk | # VM=XXX.gz; cd /backup/libvirt-n7-vm-raw/20140319/ ; if [ ! -f ${VM} ]; then socat -u tcp4-listen:50555 - > $VM ; zcat $VM | md5sum -; du -hs *; else echo $VM already present;fi |
30 | 29 | Mehdi Abaakouk | </pre> |
31 | 28 | Mehdi Abaakouk | |
32 | 28 | Mehdi Abaakouk | sur la machine n7: |
33 | 28 | Mehdi Abaakouk | |
34 | 29 | Mehdi Abaakouk | <pre> |
35 | 28 | Mehdi Abaakouk | # virsh shutdown XXX |
36 | 1 | Mehdi Abaakouk | # LV=XXX; cat /dev/raid5/$LV | gzip --fast|socat -u - tcp4:h2.tetaneutral.net:50555;md5sum /dev/raid5/$LV |
37 | 29 | Mehdi Abaakouk | </pre> |
38 | 28 | Mehdi Abaakouk | |
39 | 1 | Mehdi Abaakouk | h2. Installation VM sans bridge avec routage static (en /32 pour l'ipv4) |
40 | 1 | Mehdi Abaakouk | |
41 | 28 | Mehdi Abaakouk | Note: tous les fichiers utilisés et créés ne sont peut être pas à jour, voir ici pour les dernières version: http://git.tetaneutral.net/libvirt.git/ |
42 | 11 | Mehdi Abaakouk | |
43 | 28 | Mehdi Abaakouk | Le répertoire /etc/libvirt/ttnn cité plustard est géré dans ce git. |
44 | 1 | Mehdi Abaakouk | |
45 | 1 | Mehdi Abaakouk | h3. Configuration de la libvirt |
46 | 1 | Mehdi Abaakouk | |
47 | 28 | Mehdi Abaakouk | On créé un réseau libvirt qui fait rien (déjà fait sur n7): |
48 | 1 | Mehdi Abaakouk | |
49 | 10 | Mehdi Abaakouk | <pre> |
50 | 1 | Mehdi Abaakouk | cat > libvirt_dump_network.xml <<EOF |
51 | 1 | Mehdi Abaakouk | <network ipv6='yes'> |
52 | 6 | Mehdi Abaakouk | <name>dump-net</name> |
53 | 1 | Mehdi Abaakouk | <bridge name='dumpbr0' /> |
54 | 1 | Mehdi Abaakouk | </network> |
55 | 1 | Mehdi Abaakouk | EOF |
56 | 10 | Mehdi Abaakouk | |
57 | 1 | Mehdi Abaakouk | virsh net-define libvirt_dump_network.xml |
58 | 1 | Mehdi Abaakouk | virsh net-autostart dump-net |
59 | 1 | Mehdi Abaakouk | virsh net-start dump-net |
60 | 1 | Mehdi Abaakouk | </pre> |
61 | 1 | Mehdi Abaakouk | |
62 | 28 | Mehdi Abaakouk | On créé un hook libvirt (déjà fait sur n7): |
63 | 1 | Mehdi Abaakouk | <pre> |
64 | 9 | Mehdi Abaakouk | mkdir -p /etc/libvirt/ttnn/hooks |
65 | 9 | Mehdi Abaakouk | ln -s /etc/libvirt/ttnn/hooks /etc/libvirt/hooks |
66 | 1 | Mehdi Abaakouk | vi /etc/libvirt/hooks/qemu |
67 | 1 | Mehdi Abaakouk | ----8<--------------->8---- |
68 | 1 | Mehdi Abaakouk | #!/bin/bash |
69 | 1 | Mehdi Abaakouk | |
70 | 1 | Mehdi Abaakouk | name="$1" |
71 | 1 | Mehdi Abaakouk | operation="$2" |
72 | 1 | Mehdi Abaakouk | suboperation="$3" |
73 | 1 | Mehdi Abaakouk | |
74 | 7 | Mehdi Abaakouk | [ "$operation" != "start" ] && exit 0 |
75 | 1 | Mehdi Abaakouk | [ "$suboperation" != "begin" ] && exit 0 |
76 | 1 | Mehdi Abaakouk | |
77 | 1 | Mehdi Abaakouk | # get interface from the libvirt xml |
78 | 1 | Mehdi Abaakouk | interface=$(cat - | sed -ne "/vnet/s/.*dev='\([^']*\)'.*/\1/gp") |
79 | 5 | Mehdi Abaakouk | |
80 | 5 | Mehdi Abaakouk | [ -f /etc/libvirt/ttnn/${name}.conf ] && source /etc/libvirt/ttnn/${name}.conf |
81 | 5 | Mehdi Abaakouk | |
82 | 1 | Mehdi Abaakouk | [ "$ip" -o "$ip6" ] && brctl delif dumpbr0 $interface |
83 | 1 | Mehdi Abaakouk | [ "$ip" ] && ip route add $ip/32 dev $interface |
84 | 1 | Mehdi Abaakouk | [ "$ip6" ] && ip route add $ip6/56 dev $interface |
85 | 1 | Mehdi Abaakouk | [ "$ip6" ] && ip -6 addr add fe80::31/64 dev $interface |
86 | 1 | Mehdi Abaakouk | exit 0 |
87 | 1 | Mehdi Abaakouk | ----8<--------------->8---- |
88 | 1 | Mehdi Abaakouk | </pre> |
89 | 1 | Mehdi Abaakouk | |
90 | 1 | Mehdi Abaakouk | |
91 | 4 | Mehdi Abaakouk | h3. Preparation de l'installer |
92 | 1 | Mehdi Abaakouk | |
93 | 28 | Mehdi Abaakouk | Pour une squeeze on met à jour virtinst (déjà fait sur n7): |
94 | 1 | Mehdi Abaakouk | |
95 | 9 | Mehdi Abaakouk | <pre> |
96 | 9 | Mehdi Abaakouk | wget http://ftp.us.debian.org/debian/pool/main/v/virtinst/virtinst_0.600.3-3_all.deb |
97 | 1 | Mehdi Abaakouk | dpkg -i virtinst_0.600.3-3_all.deb |
98 | 1 | Mehdi Abaakouk | </pre> |
99 | 1 | Mehdi Abaakouk | |
100 | 28 | Mehdi Abaakouk | On install le preseed.cfg attaché à la page dans /etc/libvirt/preseed.cfg (déjà fait sur n7) |
101 | 1 | Mehdi Abaakouk | |
102 | 1 | Mehdi Abaakouk | h4. Installation d'une VM |
103 | 4 | Mehdi Abaakouk | |
104 | 28 | Mehdi Abaakouk | Creation du disk (déjà fait sur n7): |
105 | 1 | Mehdi Abaakouk | <pre> |
106 | 1 | Mehdi Abaakouk | lvcreate -n picttn -L 50G /dev/raid5 |
107 | 1 | Mehdi Abaakouk | </pre> |
108 | 5 | Mehdi Abaakouk | |
109 | 5 | Mehdi Abaakouk | Configuration du routage static: |
110 | 5 | Mehdi Abaakouk | |
111 | 1 | Mehdi Abaakouk | <pre> |
112 | 5 | Mehdi Abaakouk | vi /etc/libvirt/ttnn/picttn.conf |
113 | 16 | Mehdi Abaakouk | # le /32 ipv4 |
114 | 1 | Mehdi Abaakouk | ip="91.224.148.252" |
115 | 16 | Mehdi Abaakouk | # le /56 ipv6 |
116 | 5 | Mehdi Abaakouk | ip6="2a01:6600:8080:FC00::" |
117 | 5 | Mehdi Abaakouk | </pre> |
118 | 8 | Mehdi Abaakouk | |
119 | 28 | Mehdi Abaakouk | Lancement de l'installation via le réseau natter de libvirt |
120 | 1 | Mehdi Abaakouk | <pre> |
121 | 1 | Mehdi Abaakouk | virt-install -n picttn -r 2048 --os-type=linux \ |
122 | 8 | Mehdi Abaakouk | --autostart \ |
123 | 1 | Mehdi Abaakouk | --disk /dev/raid5/picttn,bus=virtio,cache=none,io=native \ |
124 | 13 | Mehdi Abaakouk | --network network=default,model=virtio \ |
125 | 8 | Mehdi Abaakouk | --nographics \ |
126 | 6 | Mehdi Abaakouk | --noreboot \ |
127 | 1 | Mehdi Abaakouk | --wait -1 \ |
128 | 1 | Mehdi Abaakouk | --location http://ftp.debian.org/debian/dists/wheezy/main/installer-amd64/ \ |
129 | 6 | Mehdi Abaakouk | --serial pty \ |
130 | 8 | Mehdi Abaakouk | --initrd-inject /etc/libvirt/ttnn/preseed.cfg \ |
131 | 7 | Mehdi Abaakouk | --initrd-inject /etc/libvirt/ttnn/picttn.conf \ |
132 | 1 | Mehdi Abaakouk | --initrd-inject /etc/libvirt/ttnn/postinstall.sh \ |
133 | 1 | Mehdi Abaakouk | --extra-args "console=ttyS0,9600n8 DEBIAN_FRONTEND=text auto priority=critical hostname=picttn domain=le-pic.org" |
134 | 8 | Mehdi Abaakouk | </pre> |
135 | 8 | Mehdi Abaakouk | |
136 | 28 | Mehdi Abaakouk | Une fois l'installation terminée, on change la conf réseau: |
137 | 1 | Mehdi Abaakouk | |
138 | 14 | Mehdi Abaakouk | <pre> |
139 | 8 | Mehdi Abaakouk | EDITOR="sed -ie s/default/dump-net/g" virsh edit picttn |
140 | 8 | Mehdi Abaakouk | </pre> |
141 | 1 | Mehdi Abaakouk | |
142 | 28 | Mehdi Abaakouk | On peux démarrer la VM |
143 | 8 | Mehdi Abaakouk | <pre> |
144 | 8 | Mehdi Abaakouk | virsh start picttn |
145 | 3 | Mehdi Abaakouk | virsh console picttn |
146 | 1 | Mehdi Abaakouk | </pre> |
147 | 1 | Mehdi Abaakouk | |
148 | 28 | Mehdi Abaakouk | Ensuite on peux se connecte à la VM |
149 | 17 | Laurent GUERBY | <pre> |
150 | 17 | Laurent GUERBY | ssh root@2a01:6600:8080:FC00::1 |
151 | 17 | Laurent GUERBY | </pre> |
152 | 17 | Laurent GUERBY | |
153 | 28 | Mehdi Abaakouk | Le /etc/network/interfaces IPv4 après installation |
154 | 21 | Laurent GUERBY | |
155 | 21 | Laurent GUERBY | <pre> |
156 | 21 | Laurent GUERBY | iface eth0 inet static |
157 | 21 | Laurent GUERBY | address 91.224.148.xxx |
158 | 1 | Mehdi Abaakouk | netmask 32 |
159 | 1 | Mehdi Abaakouk | up ip route add 91.224.148.0/32 dev eth0 |
160 | 1 | Mehdi Abaakouk | up ip route add default via 91.224.148.0 |
161 | 1 | Mehdi Abaakouk | |
162 | 1 | Mehdi Abaakouk | iface eth0 inet6 static |
163 | 21 | Laurent GUERBY | address 2a01:6600:8080:xx00::1 |
164 | 1 | Mehdi Abaakouk | netmask 56 |
165 | 21 | Laurent GUERBY | gateway fe80::31 |
166 | 21 | Laurent GUERBY | pre-up /sbin/sysctl -w net.ipv6.conf.eth0.accept_ra=0 |
167 | 17 | Laurent GUERBY | pre-up /sbin/sysctl -w net.ipv6.conf.eth0.autoconf=0 |
168 | 19 | Laurent GUERBY | |
169 | 19 | Laurent GUERBY | </pre> |
170 | 19 | Laurent GUERBY | |
171 | 19 | Laurent GUERBY | h2. Misc |
172 | 19 | Laurent GUERBY | |
173 | 28 | Mehdi Abaakouk | <H4Mm3r> si tu lance la création de la VM sans avoir créé le disk --disk /vmroot/testnat.qcow2,format=qcow2,size=12,bus=virtio,cache=writeback |
174 | 28 | Mehdi Abaakouk | <H4Mm3r> le disk se créé mais dans le XML le format est à RAW |
175 | 28 | Mehdi Abaakouk | <H4Mm3r> si tu le créé à l'avance avec qemu-img create -f qcow2 |
176 | 19 | Laurent GUERBY | <H4Mm3r> et que tu lance ta commande --disk /vmroot/testnat.qcow2,format=qcow2 |
177 | 28 | Mehdi Abaakouk | <guerby> ok donc c'etait bien ça :) |
178 | 19 | Laurent GUERBY | <guerby> bbl (miam) |
179 | 28 | Mehdi Abaakouk | <H4Mm3r> dans le fichier XML le format est à RAW |
180 | 28 | Mehdi Abaakouk | <H4Mm3r> il faut en effet dumper un XML, modifier la valeur à QCOW2 |
181 | 28 | Mehdi Abaakouk | <H4Mm3r> et créer la VM depuis ce XML |
182 | 19 | Laurent GUERBY | <H4Mm3r> virsh create file.xml |
183 | 20 | Joris Michaux | <H4Mm3r> pourqu'enfin il comprenne que c'est du QCOW... |
184 | 28 | Mehdi Abaakouk | <H4Mm3r> et là mon disk fait bien 265ko, mais est détecté comme 12G :D |
185 | 20 | Joris Michaux | |
186 | 20 | Joris Michaux | h2. HOWTO by H4Mm3r (under contruction) |
187 | 20 | Joris Michaux | |
188 | 20 | Joris Michaux | h3. Usefull links |
189 | 20 | Joris Michaux | |
190 | 20 | Joris Michaux | #### Misc |
191 | 20 | Joris Michaux | |
192 | 20 | Joris Michaux | #OS Type |
193 | 20 | Joris Michaux | http://rhevdup.blogspot.fr/2012/05/list-available-os-types-for-kvm-on-rhel.html |
194 | 20 | Joris Michaux | |
195 | 20 | Joris Michaux | #Libvirt TTN |
196 | 20 | Joris Michaux | http://chiliproject.tetaneutral.net/projects/tetaneutral/wiki/Libvirt |
197 | 20 | Joris Michaux | |
198 | 20 | Joris Michaux | #### KVM management |
199 | 20 | Joris Michaux | |
200 | 20 | Joris Michaux | #Install QEMU KVM + LIBVIRT |
201 | 20 | Joris Michaux | http://www.howtoforge.com/virtualization-with-kvm-on-a-debian-squeeze-server |
202 | 20 | Joris Michaux | |
203 | 20 | Joris Michaux | #Edit XML file |
204 | 20 | Joris Michaux | http://vladnevzorov.com/2011/02/11/how-to-change-configuration-of-kvm-virtual-machine/ |
205 | 20 | Joris Michaux | |
206 | 20 | Joris Michaux | #Clone a KVM |
207 | 20 | Joris Michaux | https://help.ubuntu.com/community/KVM/CreateGuests#Cloning_a_virtual_machine |
208 | 20 | Joris Michaux | http://linux.die.net/man/1/virt-clone |
209 | 20 | Joris Michaux | |
210 | 20 | Joris Michaux | #### Network |
211 | 20 | Joris Michaux | |
212 | 20 | Joris Michaux | #NAT |
213 | 20 | Joris Michaux | http://www.linuxquestions.org/questions/linux-networking-3/kvm-qemu-and-nat-on-the-host-machine-mini-tutorial-697980/ |
214 | 20 | Joris Michaux | http://wiki.libvirt.org/page/Networking |
215 | 20 | Joris Michaux | http://libvirt.org/formatnetwork.html#examplesNAT |
216 | 20 | Joris Michaux | https://help.ubuntu.com/community/KVM/Networking |
217 | 20 | Joris Michaux | |
218 | 20 | Joris Michaux | #Bridge |
219 | 20 | Joris Michaux | http://toast.djw.org.uk/qemu.html |
220 | 20 | Joris Michaux | http://www.mediaonfire.com/en/tech_tips/QEMUNetworking.html (bridge, nat, arp) |
221 | 20 | Joris Michaux | |
222 | 20 | Joris Michaux | #### Improve performance |
223 | 20 | Joris Michaux | http://blog.bodhizazen.net/linux/improve-kvm-performance/ |
224 | 20 | Joris Michaux | http://www.linux-kvm.org/page/Tuning_KVM |
225 | 20 | Joris Michaux | http://www.ezunix.org/index.php?title=Boost_performance_of_KVM_guests |
226 | 20 | Joris Michaux | |
227 | 20 | Joris Michaux | #### Storage |
228 | 20 | Joris Michaux | http://doc.opensuse.org/products/draft/SLES/SLES-kvm_sd_draft/cha.libvirt.storage.html |
229 | 20 | Joris Michaux | |
230 | 20 | Joris Michaux | h3. HOWTO |
231 | 20 | Joris Michaux | |
232 | 20 | Joris Michaux | <pre> |
233 | 20 | Joris Michaux | [H] = Host |
234 | 20 | Joris Michaux | [G] = Guest |
235 | 20 | Joris Michaux | [XML] = XML content |
236 | 20 | Joris Michaux | "command" |
237 | 20 | Joris Michaux | </pre> |
238 | 20 | Joris Michaux | |
239 | 20 | Joris Michaux | #### Diskfile Storage |
240 | 20 | Joris Michaux | |
241 | 20 | Joris Michaux | #Create qcow2 disk |
242 | 20 | Joris Michaux | <pre> |
243 | 20 | Joris Michaux | [H] "qemu-img create -f qcow2 /path/to/disk.qcow2 $SIZE" (ex: 20G) |
244 | 20 | Joris Michaux | [H] "chmod +x /path/to/disk.qcow2" |
245 | 20 | Joris Michaux | </pre> |
246 | 20 | Joris Michaux | |
247 | 20 | Joris Michaux | #Convert raw to qcow2 |
248 | 20 | Joris Michaux | <pre> |
249 | 20 | Joris Michaux | [H] "qemu-img convert -O qcow2 disk.img disk.qcow2" |
250 | 20 | Joris Michaux | </pre> |
251 | 20 | Joris Michaux | |
252 | 20 | Joris Michaux | #Disable cache to improve performance |
253 | 20 | Joris Michaux | <pre> |
254 | 20 | Joris Michaux | [XML] <driver name='qemu' type='qcow2' cache='none'/> |
255 | 20 | Joris Michaux | </pre> |
256 | 20 | Joris Michaux | |
257 | 20 | Joris Michaux | #### LVM Storage |
258 | 20 | Joris Michaux | |
259 | 20 | Joris Michaux | <pre> |
260 | 20 | Joris Michaux | [H] Create "/etc/libvirt/storage/vmdata.xml" file : |
261 | 20 | Joris Michaux | <pool type="logical"> |
262 | 20 | Joris Michaux | <name>my_pool</name> |
263 | 20 | Joris Michaux | <source> |
264 | 20 | Joris Michaux | <device path="/path/to/dev"/> |
265 | 20 | Joris Michaux | </source> |
266 | 20 | Joris Michaux | <target> |
267 | 20 | Joris Michaux | <path>/target/path/path> (LV will be created there) |
268 | 20 | Joris Michaux | </target> |
269 | 20 | Joris Michaux | </pool> |
270 | 20 | Joris Michaux | [H] "virsh pool-define /etc/libvirt/storage/my_pool.xml" |
271 | 20 | Joris Michaux | [H] "virsh pool-start my_pool" |
272 | 20 | Joris Michaux | [H] "virsh pool-autostart my_pool" |
273 | 20 | Joris Michaux | [H] "virsh pool-info my_pool" |
274 | 20 | Joris Michaux | [H] "virsh vol-create-as my_pool my_logical_volume 12G" |
275 | 20 | Joris Michaux | [H] You must create a LV to be able to give it to a KVM "virsh vol-create-as my_pool my_vol 12G --format=lvm2" |
276 | 20 | Joris Michaux | </pre> |
277 | 20 | Joris Michaux | |
278 | 20 | Joris Michaux | h3. Create KVM |
279 | 20 | Joris Michaux | |
280 | 20 | Joris Michaux | #Bridged with TAP + LVM |
281 | 20 | Joris Michaux | <pre> |
282 | 20 | Joris Michaux | [H] "virt-install -d --hvm --vnc --name=my_kvm --vcpus=4 --cpuset=0-4 --ram 2048 --disk vol=my_pool/my_vol,bus=virtio,cache=none --network bridge=my_bridge,model=virtio -c /path/to/distrib.iso --keymap=fr --os-type=linux --noautoconsole" |
283 | 20 | Joris Michaux | </pre> |
284 | 20 | Joris Michaux | |
285 | 20 | Joris Michaux | #TAP (if you want to rename the default "vnetX" interface by "tapX" |
286 | 20 | Joris Michaux | <pre> |
287 | 20 | Joris Michaux | [H] "virsh dumpxml my_guest > my_guest.xml |
288 | 20 | Joris Michaux | [H] "virsh undefine my_guest" |
289 | 20 | Joris Michaux | [H] Edit the my_guest.xml file to rename VNETX by TAPX |
290 | 20 | Joris Michaux | [H] "virsh define my_guest.xml" |
291 | 20 | Joris Michaux | [H] "virsh start my_guest" |
292 | 20 | Joris Michaux | </pre> |
293 | 20 | Joris Michaux | |
294 | 20 | Joris Michaux | #NATed + LVM |
295 | 20 | Joris Michaux | <pre> |
296 | 20 | Joris Michaux | [H] "virt-install -d --hvm --vnc --name=my_kvm --vcpus=4 --cpuset=0-4 --ram 2048 --disk vol=my_pool/my_vol,bus=virtio,cache=none --network network=my_network,model=virtio -c /path/to/distrib.iso --keymap=fr --os-type=linux --noautoconsole" |
297 | 20 | Joris Michaux | </pre> |
298 | 20 | Joris Michaux | |
299 | 20 | Joris Michaux | #Clone VM |
300 | 20 | Joris Michaux | <pre> |
301 | 20 | Joris Michaux | [H] Create the LVM dest |
302 | 20 | Joris Michaux | [H] Pause the KVM "virsh suspend my_kvm" |
303 | 20 | Joris Michaux | [H] virt-clone -o my_orig_kvm -n my_cloned_kvm -f=/path/to/lvm/dev |
304 | 20 | Joris Michaux | [G] Go and change the hostname and resolv.conf |
305 | 20 | Joris Michaux | </pre> |
306 | 20 | Joris Michaux | |
307 | 20 | Joris Michaux | h3. Command explanation |
308 | 20 | Joris Michaux | |
309 | 20 | Joris Michaux | #Bridged with tap |
310 | 20 | Joris Michaux | <pre> |
311 | 20 | Joris Michaux | virt-install -d --hvm --vnc --name=testlvm \ |
312 | 20 | Joris Michaux | --vcpus=4 --cpuset=0-4 \ |
313 | 20 | Joris Michaux | --ram 2048 \ |
314 | 20 | Joris Michaux | --disk vol=vmdata/testlvm,bus=virtio,cache=none \ |
315 | 20 | Joris Michaux | --network bridge=br0,model=virtio \ |
316 | 20 | Joris Michaux | -c /data/isos/debian-testing-amd64-netinst.iso \ |
317 | 20 | Joris Michaux | --keymap=fr --os-type=linux --os-variant=debiansqueeze --noautoconsole |
318 | 20 | Joris Michaux | </pre> |
319 | 20 | Joris Michaux | |
320 | 20 | Joris Michaux | #NATed |
321 | 20 | Joris Michaux | <pre> |
322 | 20 | Joris Michaux | virt-install -d --hvm --vnc --name=testlvm \ |
323 | 20 | Joris Michaux | --vcpus=4 --cpuset=0-4 \ |
324 | 20 | Joris Michaux | --ram 2048 \ |
325 | 20 | Joris Michaux | --disk vol=vmdata/testlvm,bus=virtio,cache=none \ |
326 | 20 | Joris Michaux | --network network=frp_network,model=virtio \ |
327 | 20 | Joris Michaux | -c /data/isos/debian-testing-amd64-netinst.iso \ |
328 | 20 | Joris Michaux | --keymap=fr --os-type=linux --os-variant=debiansqueeze --noautoconsole |
329 | 20 | Joris Michaux | </pre> |
330 | 20 | Joris Michaux | |
331 | 20 | Joris Michaux | [OLD QCOW2] |
332 | 20 | Joris Michaux | <pre> |
333 | 20 | Joris Michaux | [H] "virt-install --connect qemu:///system -n puppetnode1 -r 1024 --vcpus=4 --cpuset=4-7 --disk path=/vmroot/puppetnode1.qcow2 -c /data/isos/debian-6.0.6-amd64-netinst.iso --vnc --keymap=fr --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network network=default --hvm" |
334 | 20 | Joris Michaux | [H] "virt-install --connect qemu:///system -n testnat -r 1024 --vcpus=2 --cpuset=2-3 --disk /vmroot/testnat.qcow2,format=qcow2,size=12,bus=virtio,cache=writeback -c /data/isos/debian-6.0.6-amd64-netinst.iso --vnc --keymap=fr --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network bridge=br0 --hvm" |
335 | 20 | Joris Michaux | </pre> |
336 | 20 | Joris Michaux | |
337 | 20 | Joris Michaux | #Start a KVM |
338 | 20 | Joris Michaux | <pre> |
339 | 20 | Joris Michaux | [H] "virsh start my_kvm" |
340 | 20 | Joris Michaux | </pre> |
341 | 20 | Joris Michaux | |
342 | 20 | Joris Michaux | #Stop node |
343 | 20 | Joris Michaux | <pre> |
344 | 20 | Joris Michaux | [H] Soft : "virsh shutdown my_kvm" |
345 | 20 | Joris Michaux | [H] Hard : "virsh destroy my_kvm" |
346 | 20 | Joris Michaux | </pre> |
347 | 20 | Joris Michaux | |
348 | 20 | Joris Michaux | #Suppr node del |
349 | 20 | Joris Michaux | <pre> |
350 | 20 | Joris Michaux | [H] "virsh undefine node" (+ remove files) |
351 | 20 | Joris Michaux | </pre> |
352 | 20 | Joris Michaux | |
353 | 20 | Joris Michaux | #Rename node |
354 | 20 | Joris Michaux | <pre> |
355 | 20 | Joris Michaux | [H] "virsh dumpxml my_kvm > foo.xml" |
356 | 20 | Joris Michaux | [H] <edit foo.xml, change the name, move storage> |
357 | 20 | Joris Michaux | [H] "virsh undefine my_kvm" |
358 | 20 | Joris Michaux | [H] "virsh define foo.xml" |
359 | 20 | Joris Michaux | </pre> |
360 | 20 | Joris Michaux | |
361 | 20 | Joris Michaux | # Connect to virsh qemu |
362 | 20 | Joris Michaux | <pre> |
363 | 20 | Joris Michaux | [H] "virsh --connect qemu:///system" |
364 | 20 | Joris Michaux | [H] "virsh # help" |
365 | 20 | Joris Michaux | </pre> |
366 | 20 | Joris Michaux | |
367 | 20 | Joris Michaux | #Start a network |
368 | 20 | Joris Michaux | <pre> |
369 | 20 | Joris Michaux | [H] "virsh net-start my_network" |
370 | 20 | Joris Michaux | </pre> |
371 | 20 | Joris Michaux | |
372 | 20 | Joris Michaux | #Configure VNC |
373 | 20 | Joris Michaux | |
374 | 20 | Joris Michaux | <pre> |
375 | 20 | Joris Michaux | [H] Edit /etc/libvirt/qemu.conf and set vnc_listen = "your.ip.addd" |
376 | 20 | Joris Michaux | [H] You need to restart service "/etc/init.d/libvirtd restart" |
377 | 20 | Joris Michaux | [H] "ps aux | grep -i kvm" (find vnc display for your KVM) |
378 | 20 | Joris Michaux | </pre> |
379 | 20 | Joris Michaux | |
380 | 20 | Joris Michaux | #Connect to a KVM through VNC |
381 | 20 | Joris Michaux | |
382 | 20 | Joris Michaux | <pre> |
383 | 20 | Joris Michaux | tightvncviewer -compresslevel 7 -encodings "copyrect tight hextile zlib corre rre raw" x.xxx.xxx.xxx:x |
384 | 20 | Joris Michaux | </pre> |
385 | 20 | Joris Michaux | |
386 | 20 | Joris Michaux | #Keyboard FR for KVM |
387 | 20 | Joris Michaux | <pre> |
388 | 20 | Joris Michaux | [H] "virsh edit my_kvm" |
389 | 20 | Joris Michaux | [XML] <graphics type='vnc' port='-1' autoport='yes' keymap='fr'/> |
390 | 20 | Joris Michaux | </pre> |
391 | 20 | Joris Michaux | |
392 | 20 | Joris Michaux | #Create your own NAT network |
393 | 20 | Joris Michaux | <pre> |
394 | 20 | Joris Michaux | [H] Create your_nat.xml file : |
395 | 20 | Joris Michaux | [XML] <network> |
396 | 20 | Joris Michaux | <name>frp_network</name> |
397 | 20 | Joris Michaux | <forward mode='nat'/> |
398 | 20 | Joris Michaux | <bridge name='br1' stp='on' delay='0' /> |
399 | 20 | Joris Michaux | <ip address='10.16.42.1' netmask='255.255.255.0'> |
400 | 20 | Joris Michaux | <dhcp> |
401 | 20 | Joris Michaux | <range start='10.16.42.2' end='10.16.42.50' /> |
402 | 20 | Joris Michaux | </dhcp> |
403 | 20 | Joris Michaux | </ip> |
404 | 20 | Joris Michaux | </network> |
405 | 20 | Joris Michaux | [H] "virsh net-define your_nat.xml" |
406 | 20 | Joris Michaux | [H] "virsh net-start your_nat.xml" |
407 | 20 | Joris Michaux | [H] "virsh net-autostart your_nat.xml" |
408 | 20 | Joris Michaux | [XML] Network type "interface type = network, source network=your_nat" |
409 | 20 | Joris Michaux | </pre> |
410 | 20 | Joris Michaux | |
411 | 20 | Joris Michaux | #IBM advisements to improve performance |
412 | 20 | Joris Michaux | <pre> |
413 | 20 | Joris Michaux | [H] Use LVM (or other direct access to HDD) for VMs storage (from 45 to 3' to install a VM) |
414 | 20 | Joris Michaux | [H] Set the swappiness value to 0 ("echo 0 > /proc/sys/vm/swappiness" && edit "/etc/sysctl.conf" and add "vm.swappiness=0") |
415 | 20 | Joris Michaux | [H] Disable zone_reclaim ("echo 0 > /proc/sys/vm/zone_reclaim_mode" && edit "/etc/sysctl.conf" and add "vm.zone_reclaim_mode=0") |
416 | 22 | Mehdi Abaakouk | [H] Enable KSM ("echo 1 > /sys/kernel/mm/ksm/run") and set the check time to 200ms ("echo 200 > /sys/kernel/mm/ksm/sleep_millisecs") |
417 | 22 | Mehdi Abaakouk | </pre> |
418 | 22 | Mehdi Abaakouk | |
419 | 22 | Mehdi Abaakouk | |
420 | 22 | Mehdi Abaakouk | |
421 | 22 | Mehdi Abaakouk | h2. PC velizy |
422 | 22 | Mehdi Abaakouk | |
423 | 22 | Mehdi Abaakouk | |
424 | 22 | Mehdi Abaakouk | <pre> |
425 | 22 | Mehdi Abaakouk | root@tetaneutral1:~# fdisk /dev/sdb |
426 | 22 | Mehdi Abaakouk | |
427 | 22 | Mehdi Abaakouk | Command (m for help): p |
428 | 22 | Mehdi Abaakouk | |
429 | 22 | Mehdi Abaakouk | Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes |
430 | 22 | Mehdi Abaakouk | 255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors |
431 | 22 | Mehdi Abaakouk | Units = sectors of 1 * 512 = 512 bytes |
432 | 22 | Mehdi Abaakouk | Sector size (logical/physical): 512 bytes / 512 bytes |
433 | 22 | Mehdi Abaakouk | I/O size (minimum/optimal): 512 bytes / 512 bytes |
434 | 22 | Mehdi Abaakouk | Disk identifier: 0x9bf0c7df |
435 | 22 | Mehdi Abaakouk | |
436 | 22 | Mehdi Abaakouk | Device Boot Start End Blocks Id System |
437 | 22 | Mehdi Abaakouk | |
438 | 22 | Mehdi Abaakouk | Command (m for help): n |
439 | 22 | Mehdi Abaakouk | Partition type: |
440 | 22 | Mehdi Abaakouk | p primary (0 primary, 0 extended, 4 free) |
441 | 22 | Mehdi Abaakouk | e extended |
442 | 22 | Mehdi Abaakouk | Select (default p): p |
443 | 22 | Mehdi Abaakouk | Partition number (1-4, default 1): |
444 | 22 | Mehdi Abaakouk | Using default value 1 |
445 | 22 | Mehdi Abaakouk | First sector (2048-3907029167, default 2048): |
446 | 22 | Mehdi Abaakouk | Using default value 2048 |
447 | 22 | Mehdi Abaakouk | Last sector, +sectors or +size{K,M,G} (2048-3907029167, default 3907029167): |
448 | 22 | Mehdi Abaakouk | Using default value 3907029167 |
449 | 22 | Mehdi Abaakouk | |
450 | 22 | Mehdi Abaakouk | Command (m for help): n |
451 | 22 | Mehdi Abaakouk | Partition type: |
452 | 22 | Mehdi Abaakouk | p primary (1 primary, 0 extended, 3 free) |
453 | 22 | Mehdi Abaakouk | e extended |
454 | 22 | Mehdi Abaakouk | Select (default p): ^C |
455 | 22 | Mehdi Abaakouk | root@tetaneutral1:~# fdisk /dev/sdb |
456 | 22 | Mehdi Abaakouk | |
457 | 22 | Mehdi Abaakouk | Command (m for help): n |
458 | 22 | Mehdi Abaakouk | Partition type: |
459 | 22 | Mehdi Abaakouk | p primary (0 primary, 0 extended, 4 free) |
460 | 22 | Mehdi Abaakouk | e extended |
461 | 22 | Mehdi Abaakouk | Select (default p): p |
462 | 22 | Mehdi Abaakouk | Partition number (1-4, default 1): 1 |
463 | 22 | Mehdi Abaakouk | First sector (2048-3907029167, default 2048): |
464 | 22 | Mehdi Abaakouk | Using default value 2048 |
465 | 22 | Mehdi Abaakouk | Last sector, +sectors or +size{K,M,G} (2048-3907029167, default 3907029167): |
466 | 22 | Mehdi Abaakouk | Using default value 3907029167 |
467 | 22 | Mehdi Abaakouk | |
468 | 22 | Mehdi Abaakouk | Command (m for help): p |
469 | 22 | Mehdi Abaakouk | |
470 | 22 | Mehdi Abaakouk | Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes |
471 | 22 | Mehdi Abaakouk | 255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors |
472 | 22 | Mehdi Abaakouk | Units = sectors of 1 * 512 = 512 bytes |
473 | 22 | Mehdi Abaakouk | Sector size (logical/physical): 512 bytes / 512 bytes |
474 | 22 | Mehdi Abaakouk | I/O size (minimum/optimal): 512 bytes / 512 bytes |
475 | 22 | Mehdi Abaakouk | Disk identifier: 0x9bf0c7df |
476 | 22 | Mehdi Abaakouk | |
477 | 22 | Mehdi Abaakouk | Device Boot Start End Blocks Id System |
478 | 22 | Mehdi Abaakouk | /dev/sdb1 2048 3907029167 1953513560 83 Linux |
479 | 22 | Mehdi Abaakouk | |
480 | 22 | Mehdi Abaakouk | Command (m for help): m |
481 | 22 | Mehdi Abaakouk | Command action |
482 | 22 | Mehdi Abaakouk | a toggle a bootable flag |
483 | 22 | Mehdi Abaakouk | b edit bsd disklabel |
484 | 22 | Mehdi Abaakouk | c toggle the dos compatibility flag |
485 | 22 | Mehdi Abaakouk | d delete a partition |
486 | 22 | Mehdi Abaakouk | l list known partition types |
487 | 22 | Mehdi Abaakouk | m print this menu |
488 | 22 | Mehdi Abaakouk | n add a new partition |
489 | 22 | Mehdi Abaakouk | o create a new empty DOS partition table |
490 | 22 | Mehdi Abaakouk | p print the partition table |
491 | 22 | Mehdi Abaakouk | q quit without saving changes |
492 | 22 | Mehdi Abaakouk | s create a new empty Sun disklabel |
493 | 22 | Mehdi Abaakouk | t change a partition's system id |
494 | 22 | Mehdi Abaakouk | u change display/entry units |
495 | 22 | Mehdi Abaakouk | v verify the partition table |
496 | 22 | Mehdi Abaakouk | w write table to disk and exit |
497 | 22 | Mehdi Abaakouk | x extra functionality (experts only) |
498 | 22 | Mehdi Abaakouk | |
499 | 22 | Mehdi Abaakouk | Command (m for help): t |
500 | 22 | Mehdi Abaakouk | Selected partition 1 |
501 | 22 | Mehdi Abaakouk | Hex code (type L to list codes): L |
502 | 22 | Mehdi Abaakouk | |
503 | 22 | Mehdi Abaakouk | 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris |
504 | 22 | Mehdi Abaakouk | 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- |
505 | 22 | Mehdi Abaakouk | 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- |
506 | 22 | Mehdi Abaakouk | 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT- |
507 | 22 | Mehdi Abaakouk | 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx |
508 | 22 | Mehdi Abaakouk | 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data |
509 | 22 | Mehdi Abaakouk | 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . |
510 | 22 | Mehdi Abaakouk | 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility |
511 | 22 | Mehdi Abaakouk | 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt |
512 | 22 | Mehdi Abaakouk | 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access |
513 | 22 | Mehdi Abaakouk | a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O |
514 | 22 | Mehdi Abaakouk | b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor |
515 | 22 | Mehdi Abaakouk | c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs |
516 | 22 | Mehdi Abaakouk | e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT |
517 | 22 | Mehdi Abaakouk | f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ |
518 | 22 | Mehdi Abaakouk | 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b |
519 | 22 | Mehdi Abaakouk | 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor |
520 | 22 | Mehdi Abaakouk | 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor |
521 | 22 | Mehdi Abaakouk | 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary |
522 | 22 | Mehdi Abaakouk | 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS |
523 | 22 | Mehdi Abaakouk | 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE |
524 | 22 | Mehdi Abaakouk | 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto |
525 | 22 | Mehdi Abaakouk | 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep |
526 | 22 | Mehdi Abaakouk | 1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT |
527 | 22 | Mehdi Abaakouk | 1e Hidden W95 FAT1 80 Old Minix |
528 | 22 | Mehdi Abaakouk | Hex code (type L to list codes): 8e |
529 | 22 | Mehdi Abaakouk | Changed system type of partition 1 to 8e (Linux LVM) |
530 | 22 | Mehdi Abaakouk | |
531 | 22 | Mehdi Abaakouk | Command (m for help): w |
532 | 22 | Mehdi Abaakouk | The partition table has been altered! |
533 | 22 | Mehdi Abaakouk | |
534 | 22 | Mehdi Abaakouk | Calling ioctl() to re-read partition table. |
535 | 22 | Mehdi Abaakouk | Syncing disks. |
536 | 22 | Mehdi Abaakouk | </pre> |
537 | 1 | Mehdi Abaakouk | <pre> |
538 | 23 | Mehdi Abaakouk | pvcreate /dev/sdb1 |
539 | 24 | Mehdi Abaakouk | vgcreate vm-velizy /dev/sdb1 |
540 | 1 | Mehdi Abaakouk | lvcreate -n velizy-vm1 -L 50G vm-velizy |
541 | 25 | Mehdi Abaakouk | apt-get install virtinst |
542 | 1 | Mehdi Abaakouk | |
543 | 25 | Mehdi Abaakouk | |
544 | 27 | Mehdi Abaakouk | /root/preseed.cfg @ http://git.tetaneutral.net/libvirt.git/ |
545 | 27 | Mehdi Abaakouk | |
546 | 1 | Mehdi Abaakouk | replace the late-command line at the end of the file by: |
547 | 27 | Mehdi Abaakouk | d-i preseed/late_command string cp -f /postinstall-velizy.sh /target/; in-target bash /postinstall-velizy.sh |
548 | 25 | Mehdi Abaakouk | |
549 | 25 | Mehdi Abaakouk | |
550 | 25 | Mehdi Abaakouk | vmname=velizy-vm1 |
551 | 25 | Mehdi Abaakouk | ip=192.166.143.24 |
552 | 25 | Mehdi Abaakouk | |
553 | 25 | Mehdi Abaakouk | virt-install -n $vmname -r 2048 --os-type=linux \ |
554 | 25 | Mehdi Abaakouk | --debug \ |
555 | 25 | Mehdi Abaakouk | --autostart \ |
556 | 25 | Mehdi Abaakouk | --disk /dev/vm-velizy/$vmname,bus=virtio,cache=none,io=native \ |
557 | 25 | Mehdi Abaakouk | --network bridge=br0,model=virtio \ |
558 | 25 | Mehdi Abaakouk | --nographics \ |
559 | 25 | Mehdi Abaakouk | --noreboot \ |
560 | 25 | Mehdi Abaakouk | --wait -1 \ |
561 | 1 | Mehdi Abaakouk | --location http://ftp.debian.org/debian/dists/wheezy/main/installer-amd64/ \ |
562 | 27 | Mehdi Abaakouk | --serial pty \ |
563 | 25 | Mehdi Abaakouk | --initrd-inject /root/preseed.cfg \ |
564 | 1 | Mehdi Abaakouk | --initrd-inject /root/postinstall-velizy.sh \ |
565 | 27 | Mehdi Abaakouk | --extra-args "console=ttyS0,9600n8 DEBIAN_FRONTEND=text auto priority=critical hostname=$vmname domain=tetaneutral.net netcfg/get_ipaddress=$ip netcfg/get_netmask=255.255.252.0 netcfg/get_gateway=192.166.143.254 netcfg/get_nameservers=192.166.143.23 netcfg/disable_dhcp=true" |
566 | 27 | Mehdi Abaakouk | |
567 | 27 | Mehdi Abaakouk | </pre> |
568 | 27 | Mehdi Abaakouk | |
569 | 27 | Mehdi Abaakouk | |
570 | 27 | Mehdi Abaakouk | postinstall-velizy.sh |
571 | 27 | Mehdi Abaakouk | <pre> |
572 | 27 | Mehdi Abaakouk | #!/bin/bash |
573 | 27 | Mehdi Abaakouk | sed -i -e 's/^.*Port.*$/Port 2222/' -e 's/^[# ]*PasswordAuthentication.*$/PasswordAuthenticati |
574 | 27 | Mehdi Abaakouk | on no/' /etc/ssh/sshd_config |
575 | 27 | Mehdi Abaakouk | |
576 | 27 | Mehdi Abaakouk | mkdir -p /root/.ssh |
577 | 27 | Mehdi Abaakouk | cat > /root/.ssh/authorized_keys <<EOF |
578 | 27 | Mehdi Abaakouk | ssh-dss AAAAB3NzaC1kc3MAAACBAJtnGLvuz4uVD6fnERDxDi/C0UyzwCiKmgNtEessopREYasAX4Gu6Fg10jAyIL5Nuc |
579 | 27 | Mehdi Abaakouk | 7YDnqj//pOfxNjD7hp99a2ZmkRQgh/ltClxYML9fqhBHgsUCpVse9nOYDHDnDgvXIPRSDUHat2UFpdchHVrFURNLIlZnBz |
580 | 27 | Mehdi Abaakouk | tsr+GCDURTV/AAAAFQD9SrBcH49ltaKOm6V5ssCPmgs1SwAAAIAbAvkQ3/tMzzdACO5B9s5Yb3ZuM7XImm0iqufivVf2Xy |
581 | 27 | Mehdi Abaakouk | 39g8HOBulUsN7eKEGPhVriqNolgIO7q7tVgYAff4/NE4yDP0Kp0SPg4tjt2yFJuL31Y3wzwHjnKrjgNlDSLl3uZnRXSipw |
582 | 27 | Mehdi Abaakouk | UMwGKbdHB6NZSqlq192VKbHilQ00pbiMlAAAAIB5dfB1lVHkJ0o5CcaVQRPbca9DvbbRwnoTSmKHc5DUcqsPqDhS07CkM9 |
583 | 27 | Mehdi Abaakouk | ZcJuY1Nh4wGl4Q9kArj7Tnsvvygf/HReSUcIk4+nbDytJ8/pca/Qx4fzQQyppa94TylN62LSFT6MIJKLoMwYa0dQURT7Mv |
584 | 27 | Mehdi Abaakouk | 5+9Qj2vk5pZ38w2iQ9zVCg== root@h1 |
585 | 27 | Mehdi Abaakouk | EOF |
586 | 25 | Mehdi Abaakouk | |
587 | 25 | Mehdi Abaakouk | passwd -d root |
588 | 1 | Mehdi Abaakouk | </pre> |
589 | 24 | Mehdi Abaakouk | |
590 | 24 | Mehdi Abaakouk | |
591 | 1 | Mehdi Abaakouk | apt-get install debconf-utils |
592 | 1 | Mehdi Abaakouk | debconf-get-selections > preseed.cfg # marche pas |