Сообщить, является ли файл "разреженным файлом"

Вики Yum содержит страницу с обзором решений для кэширования

Немного по теме:

  • Установите «IntelligentMirror » и зарегистрируйтесь в MirrorManager .

    Pros
        Zero configuration, on the client side.
        Post setup it mostly just works and everything should be immediate.
        Only downloads what is required by the users.
        Fully automated server side, once setup/working. 
    Cons
        Requires setting up a local Squid + Apache-httpd + IntelligentMirror to serve the data.
        If the server is down then metalinks/MM will route you to an external mirror.
        Only intelligently caches packages, not metadata. 
    
  • (beta )avahi -пакеты -поддержка server.py и yum avahi (см.:http://james.fedorapeople.org/yum/avahi)

    Pros
        Zero configuration client.
        Zero configuration server.
        Only downloads what is required by the users. 
    Cons
        Not upstream yet (still beta).
        A client that doesn't run the avahi server side doesn't share it's downloads (so all clients need to run the "server").
        Requires working avahi on the network. 
    

0
04.10.2020, 23:50
2 ответа

Хотите проверить на терминале?

find FILENAME -type f ! -size 0 -printf '%S\n'

Если он печатает что-то меньшее, чем 1, это разреженный файл.

1
18.03.2021, 23:00

Принятый ответ: один -лайнер:

# find / -type f -printf "%S\t%p\n" | gawk '$1 < 1.0 {print}'

Здесь есть несколько частей. Давайте разберемся:

find / -type f

Эта часть будет искать все файлы на машине

-printf "%S\t\%p\n"

Эта часть распечатает "разреженность" файла и полное имя файла.

Таким образом, на этом этапе вывод будет выглядеть как список записей в следующем формате:

1.23456 /tmp/a/file

Если первое число меньше 1,0, файл считается «разреженным».

Итак, мы можем отфильтровать это через awk:

gawk '$1 < 1.0 {print}'

Это ограничит вывод только разреженными строками, сообщая только о тех, где первое число < 1,0

Результатом является список всех разреженных файлов вместе с их «разреженностью».

Слишком много работы для простой команды!

Если вы просто хотите проверить, является ли конкретный файл разреженным, вы можете использовать вариант этого. например.

find file_to_test -printf "%S"

вернет число. Можно проверить, что он < 1,0

.
1
18.03.2021, 23:00

Теги

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