Linux/usr/bin файл исчезает после перезагрузки

Я переместил исполняемый двоичный файл в/usr/bin. Это работало, позволяя мне запустить программу как ожидалось.

Однако после следующей перезагрузки, я заметил, что команда не ответила, и когда я проверил/usr/bin, файл больше не был в нем. Что-то удалило его.

Я несколько раз тестировал его и пробовал символьные ссылки также. Тот же эффект произошел.

Я помню подобное поведение на поле Fedora Core 5, когда у меня был файл в одном из этих путей, и каждый раз я заменил его более новой версией, более старая версия вновь появилась через некоторое время. Что-то создало резервную копию файла и не позволило мне изменять его. Это действительно позволяло мне удалить его позже.

Подобное поведение в двух системах. Данный компьютер является полем Thecus RAID, запускающим Linux.

Два вопроса:

  1. Что продолжается?

  2. Как я помещаю или заменяю эти файлы, таким образом, они остаются, куда я поместил их?

0
задан 28.09.2014, 01:30

3 ответа

Вы настраивали эти поля? Особенно с полем Thecus, это возможно восстановления системы определенные области ОС от ROM каждый раз, когда это загружается как меры безопасности. Если так, Вы могли бы исследовать, можно ли высветить ROM с более новым/user/bin.

0
ответ дан 24.11.2019, 12:43

Я согласился бы с диагнозом CarlF - вероятно, система работает в RAMFS, загружая из ROM каждую начальную загрузку. Для постоянного изменения его, необходимо было бы повторно высветить ROM.

Могли бы быть другие опции, но необходимо будет дать нам подробные сведения - какую модель Thecus Вы используете?

Я нашел страницу при выполнении Debian на Thecus n4100. Это указывает, что n4100 имеет слот MiniPCI, который мог использоваться для добавления карты CF для обеспечения некоторого перезаписываемого устройства хранения данных или альтернативного раздела начальной загрузки. Ваша модель могла бы иметь подобную функцию.

С другой стороны, Вы можете монтировать сетевой ресурс (CIFS/SMB/NFS) и загружать его Вашим программным обеспечением.

0
ответ дан 24.11.2019, 12:43

Большая часть Linux базировалась, встроенные устройства используют ЭЛЕКТРОННЫЙ ДИСК для монтирования "/" для лучшей производительности по сравнению со стандартным Linux ПК/сервер. Linux "initrd" смонтирован в / во время начальной загрузки. initrd содержит/usr/bin, / мусорное ведро,/sbin и другие каталоги. Таким образом, если бы Вы добавляете/заменяете какой-либо файл в "/", на него пошли бы следующая начальная загрузка как, ее смонтированный на RAM и и старый initrd будет смонтирован на следующей начальной загрузке.

Существует 2 решения.

(1) Проверьте вывод монтирования и посмотрите, смонтирована ли какая-либо внешняя память или нет. Можно сохранить исполняемый файл в общем каталоге здесь и добавить его в переменной ПУТИ. Однако необходимо удостовериться, что некоторый сценарий запуска (вход в систему или .bashrc) обновления СОЕДИНЯЕТ переменную каналом при каждой начальной загрузке.

(2) Обновление initrd. Если Вы знаете, какой initrd используется, можно ли открыться (gunzip?) это, смонтируйте его, скопируйте исполняемый файл, umount он, близкий (gzip) он, и сохраните его.

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

1
ответ дан 24.11.2019, 12:43

Теги

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