Я создал новый файл с именем , новых
, который сейчас принадлежит пользователем root, как видно ниже.
ls -lat new
-rw-r--r-- 1 root root 42 Sep 9 13:37 new
Теперь я вошел в систему как обычный пользователь и оттуда я пытался стереть содержимое этого файла, используя команду ниже.
sudo sh -c " > /root/new"
Теперь я могу убедиться, что содержимое стирается, снова войдя в систему.
ls -lat new
-rw-r--r-- 1 root root 0 Sep 9 13:42 new
Ссылки
Это ответ имеет следующее, чтобы сказать.
В качестве альтернативы вы можете запустить sudo sh -c "Echo 'Text' >> /file.txt", который также работает, но немного хлопот со всеми Интерполяция / сбежание, которое может вмешиваться, если у вас сложно выражения.
Однако, поскольку вы просто опорожняете файл, я полагаю, что в вашем случае не должно быть никаких осложнений.
Я не думаю, что метаданные пакета включают списки файлов. Я считаю, что ipkg search
предназначен только для получения имен пакетов для установленных файлов, аналогично rpm -qf
. Возможно, вам потребуется указать полный путь к установленному файлу.
При поиске информации о пакете coreutils вы можете попробовать следующее:
ipkg info coreutils
ipkg status coreutils
ipkg files coreutils
Вы также можете увидеть, как результаты различаются для установленных и не установленных пакетов.
При поиске установленного пакета, содержащего определенный файл, вы можете использовать:
ipkg search /path/to/installed/file
Как вы указали в отредактированном вопросе, вы должны использовать звездочку , если вы не хотите указывать полное имя пути, например:
ipkg search \*file
ipkg search '*file'
На мой взгляд, вы не можете получить информацию о файлах, которые не существуют или не были установлены.
Вам также может потребоваться проверить, есть ли у вас вообще метаданные для загруженных пакетов, и загрузить их:
ipkg update
Как мне найти, какой пакет установить, если мне нужна данная программа / утилита, которая является частью более крупной коллекции но не знаете, в каком пакете он содержится?
ipkg здесь не поможет, так как в нем нет данных. Я не думаю, что в вашем дистрибутиве есть инструмент вроде apt-file
, который был бы решением. В этом случае вам обычно нужно вернуться к использованию веб-поиска, чтобы получить такую информацию.
Источники:
Заявление об ограничении ответственности: я использую только opkg в OpenWRT, что очень близко к ipkg .