Ваша проблема кажется, Будьте скомпилированы Python без поддержки Zlib. Убедитесь, что у вас установлен zlib-devel ( sudo apt-apt-rot stall zlib1g-dev
) до Компиляция Python.
Нет ничего плохого в использовании Python скомпилированного вами, кроме того или вместо системы. Однако вы должны не забывать быть явным при вызове Python и вызвать тот, который вы намерены использовать, указав полный путь, как / usr / local / bin / python
вместо простых python
. В качестве альтернативы вы можете добавить ( / usr / local / bin /
) до вашего Путь
до / usr / bin /
, чтобы при наличии Python
Система запускает ваш сборник Python.
Основываясь на решении , есть другая возможность, что может быть быстрее.
Вместо того, чтобы вычислить размер с DU
для файлов в файле
, мы можем использовать объявленный размер в элементе управления
.
Что-то вроде моего маленького opkg_sizes
скрипт
cd /usr/lib/opkg/info
for i in *.control
do
echo `grep Size "$i" | cut -f 2 -d :` "${i%.control}"
done
Если вы хотите отсортировать вывод, вы можете запустить его через Сортировка
:
./opkg_sizes | sort -n
Сравнение моего сценария Результаты yeti раскрытые различия.
Это потому, что он упоминал / overlay / usr / lib / opkg / info
, когда я думал, что префикс / Overlay
не нужен. Ну, я не понимаю, почему, но / usr / lib / opkg / info
дает также пакеты системы, а / overlay / usr / lib / opkg / info
дает только пакеты пользователя.
Итак, если пользователь также заинтересован в пакетах системы, используйте первую версию. Но для того, чтобы добиться только пакетов пользователя, просто замените первую строку в:
cd /overlay/usr/lib/opkg/info
после этого, оба скрипты относятся к той же упаковкам, но с разными номерами ... (помимо очевидной зависимости между байтами и килобайтами: - ))
root@ap8:~# ls -l 1412453029-14.07-wdr4300-default-packages
-rw-r--r-- 1 root root 2683 Oct 4 20:03 1412453029-14.07-wdr4300-default-packages
root@ap8:~# du 1412453029-14.07-wdr4300-default-packages
3 1412453029-14.07-wdr4300-default-packages
LS
показывает размер в байтах, du
показывает размер всех блоков, выделенных файлом.
Как я прокомментировал (и по очевидным причинам производительности), ядро использует кэш страниц . Так что это особенность, а не проблема. См. http://linuxatemyram.com/ для получения дополнительной информации.
Вы можете (но я не рекомендую это делать), используя некоторые параметры mount
(для отключения или уменьшения использования кеша страниц), и вам нужно umount
] любое устройство (например, USB-ключ) перед его отключением или извлечением. Затем ядро сбрасывает все данные перед размонтированием.
Вы также можете выполнить синхронизацию
.
Именно по замыслу ядра сообщает утилитам пользовательского пространства, что файловая операция была успешно завершена во время буферизации кэша.
Попробуйте отредактировать /etc/hdparm.conf, чтобы отключить кэширование при записи с опцией write_cache = off
. Однако, это снизит производительность, и обычно предпочтительнее использовать sync
, если вы хотите, чтобы буферы записи были промыты на диск.