Сообщение об ошибке No rule to make target dl_params.inc, needed by angfrc.o.
средства, что Make-файл указывает файл dl_params.inc
как зависимость для здания файла angfrc.o
. Таким образом, необходимо так или иначе найти или создать dl_params.inc
файл.
Поиск документации указывает, что этот файл должен содержать параметры ФОРТРАНА, требуемые DL_POLY. Руководство пользователя в разделе 7.1.1 объясняет, что должен быть a utility
подпапка, содержащая программу PARSET
который может использоваться для генерации такого файла параметра (названный new_params.inc
по умолчанию). Вероятно, просто необходимо переименовать new_params.inc
файл к dl_params.inc
и поместите его в основную исходную папку.
Если ошибка сохранится затем, то Make-файл, очевидно, ожидает dl_params.inc
файл где-то в другом месте и необходимо было бы более внимательно рассмотреть в Make-файле.
Такая утилита zerofree
.
Из его описания:
Zerofree находит освобожденные, необнуленные блоки в ext2 или ext3 файловой системе и заполняет их, обнуляет. Это полезно, если устройство, на котором находится эта файловая система, является образом диска. В этом случае, в зависимости от типа образа диска, вторичная утилита может уменьшать размер образа диска после того, как zerofree был выполнен. Zerofree требует, чтобы файловая система была размонтирована или смонтирована только для чтения.
Обычный способ достигнуть того же результата (обнуляющий неиспользованные блоки) состоит в том, чтобы работать, "dd" действительно создают файл, полный, обнуляет, который занимает все свободное место на диске, и затем удалите этот файл. Это имеет много недостатков, которые облегчает zerofree:
- это медленно
- это заставляет образ диска (временно) вырасти до его максимальной степени
- это (временно) использует все свободное пространство на диске, таким образом, другие параллельные действия записи могут перестать работать.
Zerofree был записан, чтобы быть выполненным от систем GNU/Linux, установленных как гостевые Ose в виртуальной машине. Если это не Ваш случай, Вам почти наверняка не нужен этот пакет.
Описание .deb пакета содержит следующий параграф теперь, который подразумевал бы, что это будет хорошо работать с ext4 также.
Описание: обнулите свободные блоки от ext2, ext3 и ext4 файловые системы, которыми Zerofree находит освобожденные блоки с содержанием ненулевого значения в ext2, ext3 или ext4 файловая система и заполняет их, обнуляет...
Другое приложение эта утилита должна сжать образы дисков, которые являются резервным копированием реального диска. Типичным примером этого является дамп SD-карты в BeagleBone или Raspberry Pi. После того как вакуумы были обнулены, образы резервной копии могут быть сжаты более эффективно.
sfill
от безопасного - удаляют, может сделать это и несколько других связанных заданий.
например.
sfill -l -l -z /mnt/X
Существует исходное дерево, которое, кажется, используется проектом ArchLinux на GitHub, который содержит источник для sfill
который является инструментом, включенным в Безопасный пакет - Удаляют.
Также копия sfill
страница справочника здесь:
Если у вас e2fsprogs 1.42.9, то вы можете использовать e2image
для создания образа раздела без свободного места в первую очередь , так что вы можете пропустить этап обнуления.
Резюме методов (упомянутых в этом вопросе и в других) для очистки неиспользуемого пространства на ext2/ext3/ext4:
e2fsck -E discard src_fs
для удаления неиспользуемого пространства (требуется e2fsprogs 1.42.2 или выше). zerofree src_fs
) для явной записи нулей поверх неиспользуемых блоков. e2image -rap src_fs dest_fs
для копирования только используемых блоков (новая файловая система должна находиться на обнуленном "диске", требуется e2fsprogs 1.42.9 или выше). fstrim /mnt/fs/
, чтобы попросить файловую систему избавиться от неиспользуемого пространства. cat /dev/zero > /mnt/fs/zeros; sync; rm /mnt/fs/zeros
(sfill
из secure-delete использует эту технику). Этот метод неэффективен, не рекомендуется Тедом Ц'о (автором ext4), может не обнулить некоторые вещи и может замедлить будущие fsck
ы. Размонтирование файловой системы даст лучшие результаты, чем ее монтирование. Дисконтирование, как правило, является самым быстрым методом, когда необходимо обнулить много ранее использовавшегося пространства, но использование zerofree
после процесса дисконтирования иногда может обнулить немного больше (в зависимости от того, как дисконтирование реализовано на "диске").
Вам потребуется использовать соответствующий инструмент создания образа диска (например, qemu-img convert src_image dst_image
), чтобы обнуленное пространство было восстановлено и файл, представляющий образ, стал меньше.
Чтобы сделать файл разреженным (чтобы нулевые пробеги перестали занимать место), можно использовать одну из следующих техник:
cp --sparse=always src_image dst_image
. fallocate -d src_image
(требуется util-linux v2.25 или выше). В наши дни проще использовать такой инструмент, как virt-sparsify, чтобы выполнить эти и другие шаги за один раз.
zerofree
если вы не хотите прибегать к дополнительным инструментам, этот метод должен быть быстрее, чемcat /dev/zero > /mnt/fs/zeros
:
dd if=/dev/zero of="/mnt/fs/filler" bs=10485760
dd if=/dev/zero of="/mnt/fs/filler1" bs=1
rm /mnt/fs/filler
rm /mnt/fs/filler1
Мне нравится:
#!/bin/sh
# take available size from string
DISKSIZE=`df / | grep / | cut -d " " -f 5`
#minus 10mb (you can do 1Mb)
TODELETE=$(( (DISKSIZE - 10000)/1000 ))
dd if=/dev/zero of=/zero.dump bs=1M count=$TODELETE 2> /dev/null
sync
rm -f /zero.dump
dd
метод в исходном вопросе, так как это не работает над смонтированными файловыми системами. – jlh 04.03.2016, 12:10are_textfiles () { nontext=0; rem="return 0 if all args are files with terminating newline, or n [=number of non-textfiles]" ; for f in "$@" ; do [ -f "$f" ] && { tail -c 1 "$f" | od -An -vtc | grep "\\n" ;} >/dev/null 2>&1 || ((nontext++)) ; done ; return $nontext ; }
. Используйте как:if ( are_textfiles this that otherthing ) ; then echo all are text files ; else echo "are_textfiles returned : $?" ; fi
---------121 переговоры по странице--------69393----zerofree о патче, который позволяет Вам сделать "файловую систему, смонтированы с zerofree опцией" так, чтобы это всегда нули удаляло файлы непрерывно. это требует перекомпиляции ядра затем? существует ли более легкий способ выполнить то же самое? – endolith 14.10.2016, 19:33zerofree
на Astralinux (базирующийся Debian) … – Hubbitus 24.11.2016, 00:20