Changes for page proxmox
Last modified by Kevin Wiki on 2026/05/18 15:44
From version
9.5
edited by Kevin Wiki
on 2026/05/18 08:15
on 2026/05/18 08:15
Change comment:
There is no comment for this version
To version
11.5
edited by Kevin Wiki
on 2026/05/18 15:40
on 2026/05/18 15:40
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Content
-
... ... @@ -138,9 +138,20 @@ 138 138 139 139 After creating the VM and before making it into a template there are some programs and settings we want to ensure exists always. 140 140 141 - qemu-guest-agentisfor allowingproxmoxtoqueryinformationfromthe VMsuchasIPaddress,shutdowncommands,etc141 +(% id="cke_bm_721114S" style="display:none" %)** **(%%)**clear bash history** to not leave any configuration in history, clear and disable history file before proceeding: 142 142 143 143 {{code language="bash"}} 144 +unset HISTFILE 145 +export HISTSIZE=0 146 +export HISTFILESIZE=0 147 + 148 +sudo rm /.bash_history 149 +rm ~/.bash_history 150 +{{/code}} 151 + 152 +**qemu-guest-agent** is for allowing proxmox to query information from the VM such as IP address, shutdown commands, etc 153 + 154 +{{code language="bash"}} 144 144 sudo apt update 145 145 sudo apt upgrade -y 146 146 sudo apt install qemu-guest-agent -y ... ... @@ -149,8 +149,23 @@ 149 149 sudo systemctl start qemu-guest-agent.service 150 150 {{/code}} 151 151 152 - cloud-init is a great hook forinstallingorconfiguring programsor receiving variablesfrom cloudinit CDROM drive. Making it easiertochange IP, hostname,DNS, username/password, etc between VMs.163 +**reset machine-id** to not have overlapping ids from same template 153 153 165 +{{code language="bash"}} 166 +cat /dev/null > /etc/machine-id 167 +cat /dev/null > /var/lib/dbus/machine-id 168 +{{/code}} 169 + 170 +**cloud-init** is a great hook for installing or configuring programs or receiving variables from cloudinit CDROM drive. Making it easier to change IP, hostname, DNS, username/password, etc between VMs. 171 + 172 +If you used a cloud-init base image it will have run the default cloudinit which installs and configures a bunch of s 173 + 174 +{{code language="bash"}} 175 +cloud-init clean 176 +{{/code}} 177 + 178 +This is a debian example of what we are looking for: 179 + 154 154 {{code language="yaml"}} 155 155 # The top level settings are used as module 156 156 # and system configuration. ... ... @@ -157,10 +157,7 @@ 157 157 # A set of users which may be applied and/or used by various modules 158 158 # when a 'default' entry is found it will reference the 'default_user' 159 159 # from the distro configuration specified below 160 -users: 161 - - default 162 162 163 - 164 164 # If this is set, 'root' will not be able to ssh in and they 165 165 # will get a message to login instead as the default $user 166 166 disable_root: true ... ... @@ -173,18 +173,13 @@ 173 173 # which has been a source of surprise. 174 174 preserve_sources_list: true 175 175 176 -# If you use datasource_list array, keep array items in a single line. 177 -# If you use multi line array, ds-identify script won't read array items. 178 -# Example datasource config 179 -# datasource: 180 -# Ec2: 181 -# metadata_urls: [ 'blah.com' ] 182 -# timeout: 5 # (defaults to 50 seconds) 183 -# max_wait: 10 # (defaults to 120 seconds) 199 +# manually managed resolv 200 +manage_resolv_conf: false 184 184 202 +package_update: true 203 +packages: 204 + - qemu-guest-agent 185 185 186 - 187 - 188 188 # The modules that run in the 'init' stage 189 189 cloud_init_modules: 190 190 - seed_random ... ... @@ -204,8 +204,6 @@ 204 204 205 205 # The modules that run in the 'config' stage 206 206 cloud_config_modules: 207 - - snap 208 - - ssh-import-id 209 209 - keyboard 210 210 - locale 211 211 - set-passwords ... ... @@ -216,20 +216,11 @@ 216 216 - timezone 217 217 - disable-ec2-metadata 218 218 - runcmd 219 - - byobu 220 220 221 221 # The modules that run in the 'final' stage 222 222 cloud_final_modules: 223 223 - package-update-upgrade-install 224 - - fan 225 - - landscape 226 - - lxd 227 227 - write-files-deferred 228 - - puppet 229 - - chef 230 - - mcollective 231 - - salt-minion 232 - - reset_rmc 233 233 - scripts-vendor 234 234 - scripts-per-once 235 235 - scripts-per-boot ... ... @@ -236,25 +236,20 @@ 236 236 - scripts-per-instance 237 237 - scripts-user 238 238 - ssh-authkey-fingerprints 239 - - keys-to-console 246 +# - keys-to-console 240 240 - install-hotplug 241 - - phone-home 248 +# - phone-home 242 242 - final-message 243 243 - power-state-change 244 244 252 +runcmd: 253 + - systemctl enable qemu-guest-agent.service 254 + 245 245 # System and/or distro specific settings 246 246 # (not accessible to handlers/transforms) 247 247 system_info: 248 248 # This will affect which distro class gets used 249 249 distro: debian 250 - # Default user name + that default users groups (if added/used) 251 - default_user: 252 - name: debian 253 - lock_passwd: True 254 - gecos: Debian 255 - groups: [adm, audio, cdrom, dialout, dip, floppy, plugdev, sudo, video] 256 - sudo: ["ALL=(ALL) NOPASSWD:ALL"] 257 - shell: /bin/bash 258 258 # Other config here will be given to the distro class and/or path classes 259 259 paths: 260 260 cloud_dir: /var/lib/cloud/ ... ... @@ -265,7 +265,6 @@ 265 265 primary: https://deb.debian.org/debian 266 266 security: https://deb.debian.org/debian-security 267 267 ssh_svcname: ssh 268 - 269 269 {{/code}} 270 270 271 271