systemd :Не удалось отключить модуль :Чтение -Только файловая система

Обратите внимание, что файлы сжаты . Поэтому вы не можете использовать wc -lдля файлов напрямую, чтобы подсчитать исходное количество строк в них, не распаковав их сначала.

Можно использовать catдля объединения этих типов сжатых файлов, так как полученный файл сам по себе является действительным сжатым файлом. Последующее распаковывание приведет к созданию файла, представляющего собой объединение несжатых данных из двух файлов.

cat A_1P.gz B_1P.gz >C_1P.gz

Чтобы подсчитать количество строк вC_1P.gz:

zcat C_1P.gz | wc -l

или

gunzip -c C_1P.gz | wc -l

или

gzip -dc C_1P.gz | wc -l

но обратите внимание, что нам нужно распаковать файл для подсчета строк, иначе мы будем считать «случайные» новые строки, которые алгоритм сжатия файла генерирует как часть сжатых данных (они не имеют ничего общего с строк в вашем несжатом файле ).

0
08.08.2020, 00:02
1 ответ

Иногда во встраиваемых системах файловая система /монтируется только для чтения, обычно потому, что ее тип хранилища ухудшается при большом количестве операций записи, а долговечность является приоритетом.

Временным решением этой конкретной проблемы является перемонтирование файловой системы как rw, внесение необходимых изменений, а затем повторное монтирование к `ro. Это, скорее всего, будет временным, потому что изменение, вероятно, не было внесено в постоянное хранилище.

Иногда в образе есть способ сделать изменения постоянными, например, путем записи в файл конфигурации в постоянном хранилище, который считывается во время загрузки (в вашем случае, первое место, которое я бы посмотрел, было бы в /persist, но и в документации образа, если там есть ).

Если это действительно несовместимый набор служб, правильным решением, вероятно, будет исправление базового образа путем включения только необходимых служб, а затем перепрошивка устройства.

1
18.03.2021, 23:14

Теги

Похожие вопросы