[qubes-users] Problems setting /etc/hosts

Hi,

Hopefully I’m doing something silly here.

I want to add a couple of entries into my /etc/hosts file in a specific VM. The instructions here are nice and clear: Config Files | Qubes OS except… that doesn’t work.

I’ve added the following to my /rw/config/rc.local :
echo ‘127.0.0.1 example.com’ >> /etc/hosts
And after a VM restart my /etc/hosts is unchanged.

Also, as an aside, is it odd that rc.local is owned by root, if it’s something that’s expected to be changed per-VM?

What am I missing?

Thanks!

mgla...@gmail.com:

Hi,

Hopefully I'm doing something silly here.

I want to add a couple of entries into my /etc/hosts file in a specific VM.
The instructions here are nice and
clear: Config files | Qubes OS except... that doesn't
work.

I've added the following to my /rw/config/rc.local :
echo '127.0.0.1 example.com' >> /etc/hosts
And after a VM restart my /etc/hosts is unchanged.

Might have to add "sudo" in front of that echo. Also, double-check that rc.local is set as executable and in proper script format. Does it work if you run it yourself from the command line?

Also, as an aside, is it odd that rc.local is owned by root, if it's
something that's expected to be changed per-VM?

No, because it's only the root account that belongs to the VM.

I do this with a (fairly) extensive list , and block dns.
I keep the entries in a file in /rw/config/hosts, and then in rc.local:
cat /rw/config/hosts >> etc/hosts

Doesn't need sudo for that - and the file should be in proper format and
executable already, (but always worth checking).
Works for me.

I setup a "hosts.ext" file in the home directory of the user on the VM and an /rw/config/rc.local script which cat's it to the end of /etc/hosts on boot. That makes entries for other machines on my home network (not Qubes) for my convenience (rdp/vinagre, ssh etc...)

Thanks.

It’s literally

#!/bin/sh

several lines of comment

docker --data-root /home/user/docker || true

echo ‘1.2.3.4 my-domain.example’ >> /etc/hosts
echo ‘1.2.3.4 another-domain.example’ >> /etc/hosts

Yes, when I run the script myself with sudo ./rc.local then it works fine.

Argh. I think I’ve found the issue. It’s the command to start docker that’s causing the rest of the file to be ignored :frowning:

I had presumed it was erroring, so appending || true would get me around that. But didn’t think that the dockerd command could be running in the foreground.

So, not for the first time, user error instead of an issue with the setup of Qubes itself!

Any ideas where I could find the output when this file is run? That may help me track down similar issues next time around.

Thanks for your help.

Hi,

note that '--data-root' is an option of the *dockerd* command, not *docker*...

Ludovic

Yes. Sorry, that was autocorrect being too aggressive. It is indeed dockerd in my file.

Do you mean that it runs docker in the foreground? try:
'docker --data-root /home/user/docker &'

Yep, that’s the “fix” that got everything working as expected.