В пакете FreeBSD, действие которого помечает пакет как неавтоматический.

Я не знаю общего инструмента для такого рода кэширования, но я знаю специфический инструмент для кэширования результатов компиляции файлов C или C++, ccache compiler cache.

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

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

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

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

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

1
28.05.2016, 21:33
1 ответ
 pkg set -A 0 myPackage-1.2.3_4

Или используйте -A 1, чтобы отметить его как автоматический.

Кроме того, pkg query -a "%o %a"перечислит все пакеты и их автоматическую -принадлежность. Или RTFM pkg-queryдля примера того, как перечислить только автоматические или не -автоматические пакеты.

3
27.01.2020, 23:35

Теги

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