Problems setting /etc/hosts

16 views
Skip to first unread message

mgla...@gmail.com

unread,
Jan 20, 2021, 12:36:25 PM1/20/21
to qubes-users
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: https://www.qubes-os.org/doc/config-files/ 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!

awokd

unread,
Jan 20, 2021, 5:34:31 PM1/20/21
to qubes...@googlegroups.com
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: https://www.qubes-os.org/doc/config-files/ 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.

--
- don't top post
Mailing list etiquette:
- trim quoted reply to only relevant portions
- when possible, copy and paste text instead of screenshots

unman

unread,
Jan 20, 2021, 8:19:05 PM1/20/21
to qubes...@googlegroups.com
On Wed, Jan 20, 2021 at 10:34:14PM +0000, 'awokd' via qubes-users wrote:
> 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: https://www.qubes-os.org/doc/config-files/ 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.

Stuart Perkins

unread,
Jan 21, 2021, 4:55:37 PM1/21/21
to 'awokd' via qubes-users


On Wed, 20 Jan 2021 22:34:14 +0000
"'awokd' via qubes-users" <qubes...@googlegroups.com> wrote:

>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: https://www.qubes-os.org/doc/config-files/ 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 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...)

mgla...@gmail.com

unread,
Feb 2, 2021, 6:45:01 AM2/2/21
to qubes-users
On Wednesday, 20 January 2021 at 22:34:31 UTC awokd wrote:
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: https://www.qubes-os.org/doc/config-files/ 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?

...

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 :(

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.

Ludovic

unread,
Feb 2, 2021, 7:48:26 AM2/2/21
to qubes...@googlegroups.com

Le 02/02/2021 à 12:45, mgla...@gmail.com a écrit :
>
>
> # 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 :(
>
Hi,

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

Ludovic

Martin Gladdish

unread,
Feb 2, 2021, 7:55:53 AM2/2/21
to Ludovic, qubes-users
> 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.

donoban

unread,
Feb 2, 2021, 8:03:33 AM2/2/21
to qubes...@googlegroups.com
On 2/2/21 1:55 PM, Martin Gladdish wrote:
>
>
>> On 2 Feb 2021, at 12:48, Ludovic <qubes...@zyrianes.net> wrote:
>>
>>
>> Le 02/02/2021 à 12:45, mgla...@gmail.com a écrit :
>>>
>>>
>>> # 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 :(

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

OpenPGP_signature

Martin Gladdish

unread,
Feb 2, 2021, 8:04:28 AM2/2/21
to donoban, qubes...@googlegroups.com
'docker --data-root /home/user/docker &’


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

Reply all
Reply to author
Forward
0 new messages