Wszystkie polecenia tworzące pliki w / etc zawierają błąd „Nieprawidłowy argument”

2

Niedawno opracowałem problem na niektórych osadzonych urządzeniach z Linuksem, w których nie mogę już tworzyć plików bezpośrednio w katalogu / etc /. Najpierw zobaczyłem problem, gdy dpkg nie utworzył pliku tymczasowego, a następnie „sed -i” miał ten sam problem. Od tamtej pory próbowałem dotykać, cp i przekierowywać echa, ale wszystkie zawodzą przy nieprawidłowym argumencie.

Uruchomienie strace na „cp / etc / hostname /etc/hostname.bak” daje następujące dane wyjściowe:

stat64("/etc/hostname.bak", 0xbede4560) = -1 ENOENT (No such file or directory)
stat64("/etc/hostname", {st_mode=S_IFREG|0644, st_size=12, ...}) = 0
stat64("/etc/hostname.bak", 0xbede4398) = -1 ENOENT (No such file or directory)
open("/etc/hostname", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=12, ...}) = 0
open("/etc/hostname.bak", O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0644) = -1 EINVAL (Invalid argument)
write(2, "cp: ", 4cp: )                     = 4
write(2, "cannot create regular file `/etc"..., 46cannot create regular file `/etc/hostname.bak') = 46
write(2, ": Invalid argument", 18: Invalid argument)      = 18

podczas działania strace na „cp / etc / hostname /hostname.bak” daje wynik

stat64("/hostname.bak", 0xbec75570)     = -1 ENOENT (No such file or directory)
stat64("/etc/hostname", {st_mode=S_IFREG|0644, st_size=12, ...}) = 0
stat64("/hostname.bak", 0xbec753a8)     = -1 ENOENT (No such file or directory)
open("/etc/hostname", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=12, ...}) = 0
open("/hostname.bak", O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0644) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0

Gdy plik / nazwa_hosta.bak istnieje, mogę go przenieść do / etc / bez incydentów.

Uprawnienia do / etc / również wydają mi się odpowiednie

drwxr-xr-x 75 root root   36864 Mar 29 00:08 etc

Czy jakieś ustawienie lub konfiguracja może powodować takie zachowanie? Jeśli nie, jak mogę przejść do debugowania

Tigerbot
źródło
Nie odkryłem głównej przyczyny tego zachowania, ale dowiedziałem się, że aplikacja ponownie instaluje system plików rw (domyślnie jest to ro), aby utworzyć plik w / etc na wczesnym etapie procesu rozruchu. Opóźnienie tego procesu wydawało mi się rozwiązaniem problemu. Domyślam się, że jest to błąd w mojej starszej wersji jądra.
Tigerbot