I am using Multipass on a Raspberry Pi with LXD driver to launch virtual machines (VMs). Given my setup, I need to view the live changes / updates that happen in the virtual machine on the host, i.e, externally from the virtual machine. The current way I can do this is by unmount and mount the VM image file (.img file) from time to time which is not ideal.
Is there a way of doing a real time follow up on the changes with the .img file?
What is it you are looking to monitor inside the VM?
For now I want to monitor the /var/log and home directories but i don’t want to use multipass shell
since it uses SSH and a log is generated.
If you’re running the lxd-agent
inside the VM then you could do lxc exec <instance> -- <cmd> <args>
Or to copy a file lxc file pull <instance>/path/in/vm /path/on/host
That’s it. Thanks.
Is there a way when running for example lxc exec <instance> -- tail -f /var/log/auth.log
the process not being showed inside the instance when doing ps or something similar? I know about hidepid
but I only would like to hide any lxc exec
process inside the instance.
Sadly no. ps
and similar tools read through /proc and /proc shows all the processes inside of that PID namespace.
Part of attaching to a container is attaching to its PID namespace and so a result of it is your process being visible inside it.