Hi again Svante,
En 19 de febrero de 2020 19:48:02 aitor <aitor_czr@???> escribió:
> En 19 de febrero de 2020 18:42:34 aitor <aitor_czr@???> escribió:
>
>> Hi again,
>>
>> En 19 de febrero de 2020 17:11:28 aitor <aitor_czr@???> escribió:
>>
>>> Hi Svante,
>>>
>>> En 19 de febrero de 2020 16:16:39 Svante Signell via Dng
>>> <dng@???> escribió:
>>>
>>>> Hello,
>>>>
>>>>
>>>>
>>>>
>>>> No replies so far from the devuan-dev list. Maybe with a larger audience I can
>>>> get some help!
>>>>
>>>>
>>>>
>>>>
>>>> Thanks!
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ----------
>>>> eudev: Methods to detect if running in a container.
>>>> De: Svante Signell svante.signell@???
>>>> Fecha: 18 feb., 12:24
>>>> Para: devuan-dev devuan-dev@???
>>>>
>>>>
>>>>
>>>>
>>>> Hello,
>>>>
>>>>
>>>>
>>>>
>>>> I'm trying to solve the problem of detecting if you are within a container,
>>>> like
>>>> docker or LXC when running the eudev init script. If true udevd should not be
>>>> cstarted. The current version of eudev (3.2.9-4) has a buggy check for
>>>> containers, and people running runit as init have problems, see #392.
>>>>
>>>>
>>>>
>>>>
>>>> eudev-3.2.7-6 has the following test:
>>>> if ! ps --no-headers --format args ax | egrep -q '^\['; then
>>>> log_warning_msg "udev does not support containers, not started"
>>>> exit 0
>>>> fi
>>>> I don't know the origin of this test and have not found anything about the
>>>> output within a container.
>>>>
>>>>
>>>>
>>>>
>>>> udev-244-3 has the following test:
>>>> if [ ! -w /sys ]; then
>>>> log_warning_msg "udev does not support containers, not started"
>>>> exit 0
>>>> fi
>>>> This test is buggy since /sys is a directory not a file and /sys is always
>>>> writable when running. Any command triggers this test:
>>>> /etc/init.d/udev status
>>>> udev does not support containers, not started ... (warning).
>>>>
>>>>
>>>>
>>>>
>>>> Googling around the following tests shows:
>>>> https://stackoverflow.com/questions/20010199/how-to-determine-if-a-process-runs-inside-lxc-docker
>>>> https://stackoverflow.com/questions/23513045/how-to-check-if-a-process-is-running-inside-docker-container
>>>> https://en.wikipedia.org/wiki/Docker_(software)
>>>>
>>>>
>>>>
>>>>
>>>> 1) cat /proc/1/sched | head -n 1
>>>> # Container: bash (5276, #threads: 1)
>>>> # No container: init (1, #threads: 1)
>>>>
>>>>
>>>>
>>>>
>>>> 2) grep 'docker\|lxc' /proc/1/cgroup
>>>> Note 1: On a beowulf image it is empty??
>>>> Note 2: On a systemd-free Debian/bullseye image it shows
>>>> 1:name=elogind:/1
>>>> 0::/
>>>> Note 3: On a systemd-free Debian/buster image:
>>>> <same as above> after removing systemd-shim and cgmanager
>>>>
>>>>
>>>>
>>>>
>>>> 3) cat /proc/1/environ | tr '\0' '\n' | grep ^container
>>>>
>>>>
>>>>
>>>>
>>>> Any help on this subject is appreciated, especially the output of the above
>>>> tests when running in a container.
>>>>
>>>>
>>>>
>>>>
>>>> Thanks!
>>>
>>> The short answer from my mobile: maybe i can help you later at home,
>>> because i remember some similar issue related with the chroot jail of the
>>> live-sdk (another type of container after all) and the dev-assistant of the
>>> vdev packaging.
>>>
>>> Cheers,
>>>
>>> Aitor.
>>>
>>>
>>>
>>>>
>>>>
>>>>
>>>>
>>>> ----------
>>>> _______________________________________________
>>>> Dng mailing list
>>>> Dng@???
>>>> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
>>>
>>>
>>> Enviado con AquaMail para Android
>>> https://www.mobisystems.com/aqua-mail
>>>
>>>
>>> _______________________________________________
>>> Dng mailing list
>>> Dng@???
>>> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
>> Now i can remember the issue: some script in the vdev.install file trying
>> to detect if dev-assisntant is running or not, the "ps" throws an empty
>> output even being it running.
>
> Within the jail, that goes without saying, a sort of container as i said.
>
>
>
> Enviado con AquaMail para Android
> https://www.mobisystems.com/aqua-mail
>
>
> _______________________________________________
> Dng mailing list
> Dng@???
> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
I forgot: the "suid.cpp" file of simple-netaid contains C code detecting
the running processes (for kulling dhclient, wpa_suplicant and so...),
including an exception because time to time some files cannot be opened in
read mode i seem to remember. Have a look at the code of
"kill_all_processes" function. It might be useful for your purposses, i hope.
Recently i put a link to the newest sources of simple-netaid, here in the
mailing list.
Sorry, but i haven't any computer to hand so far :(
Aitor.
Enviado con AquaMail para Android
https://www.mobisystems.com/aqua-mail