amigo |
|
Темы:
35
Сообщения:
2126
Участник с: 05 февраля 2007
|
Внимание! Использование изложенного материала может нанести вред и стать причиной неработоспособности операционной системы. Если Вы не понимаете суть вводимых команд, не используйте данный материал. В будущем эти рекомендации могут оказаться деструктивными. Участники этого обсуждения не несут ответственности за Вашу безответственность. :evil: Неоднократно встречаю в сети высказывания типа: “pacman тормоз!”. В большей степени, пользователи относят это к работе pacman с его же базой данных при операциях поиска, обновлениях. Если Вы сторонник данного высказывания, то эта статья может побудить Вас исправить своё мнение. База данных pacman расположена в файловой системе в каталоге /var/lib/pacman. Здесь содержится информация о пакетах из репозитория (sync) и локально установленных(local). В своей структуре это каталоги с названиями пакетов и их версиями (на примере local): tunguska% ls /var/lib/pacman/local | head a52dec-0.7.4-4 abs-2.3.3-1 acl-2.2.48-1 acpid-1.0.10-1 acpitool-0.5.1-1 akonadi-1.2.1-3 alsa-lib-1.0.21.a-1 alsa-utils-1.0.21-1 amarok-2.2.1-2 apr-1.3.9-1 tunguska% ls -l /var/lib/pacman/local/a52dec-0.7.4-4/ итого 3 -rw-r--r-- 1 root root 17 Ноя 17 17:45 depends -rw-r--r-- 1 root root 288 Ноя 17 17:45 desc -rw-r--r-- 1 root root 444 Ноя 17 17:45 files Теперь о цифрах. Репозитории core, extra, community в общей сложности содержат примерно 5000 пакетов, а локально установленных (у меня) - чуть более 700. В сумме ~6 000 пакетов или столько же каталогов в база данных pacman. Умножаем это число на два и получаем как минимум 12 000 маленьких файлов с метаданными о пакетах. Дальше ещё интереснее. На какой файловой системе хранится база данных pacman? У меня это ext4 размером 20GB монтируемая в корень (/). Учитывая размеры ФС и количество маленьких файлов метаданных пакетов, не трудно догадаться, какими требовательными будут операции файловой подсистемы, особенно при первом обращении (пустом кеше ФС) к базе данных pacman. Уже близко. Сколько же всё это добро использует дискового пространства? Смотрим: tunguska% du -hs /var/lib/pacman 72M /var/lib/pacman План свержения расточительного руководства pacman и захват власти в “свои руки”:
Разберемся, голубчик!
|
pioner14 |
|
Темы:
8
Сообщения:
196
Участник с: 21 января 2009
|
Интересно, сейчас попробую. |
pioner14 |
|
Темы:
8
Сообщения:
196
Участник с: 21 января 2009
|
После последней команды:# tar xfj ~/pacman.db.tar.bz2 tar: var/lib/pacman/local/gclient-svn-72-1/files: Невозможно open: На устройстве кончилось место tar: var/lib/pacman/local/gclient-svn-72-1/depends: Невозможно open: На устройстве кончилось место tar: var/lib/pacman/local/xorg-fonts-encodings-1.0.3-1: Невозможно mkdir: На устройстве кончилось место tar: var/lib/pacman/local/xorg-fonts-encodings-1.0.3-1/desc: Невозможно open: Нет такого файла или каталога tar: var/lib/pacman/local/xorg-fonts-encodings-1.0.3-1/install: Невозможно open: Нет такого файла или каталога tar: var/lib/pacman/local/xorg-fonts-encodings-1.0.3-1/files: Невозможно open: Нет такого файла или каталога tar: var/lib/pacman/local/xorg-fonts-encodings-1.0.3-1/depends: Невозможно open: Нет такого файла или каталога tar: var/lib/pacman/local/kdelibs3-3.5.10-7: Невозможно mkdir: На устройстве кончилось место pacman -Syu :: Синхронизируются базы данных пакетов... ошибка: не удалось начать запрос (не удалось заблокировать базу данных) если вы уверены, что pacman не запущен, можете удалить /var/lib/pacman/db.lck pacman -Syu :: Синхронизируются базы данных пакетов... ошибка: не удалось начать запрос (не удалось заблокировать базу данных) если вы уверены, что pacman не запущен, можете удалить /var/lib/pacman/db.lck Вот такие дела. Сразу вспоминается красная надпись. :( |
cucullus |
|
Темы:
256
Сообщения:
3437
Участник с: 06 июня 2007
|
стоит ли ради 5 секунд такой огород городить? лучше б гимп ускорили ;)
такие дела.
|
amigo |
|
Темы:
35
Сообщения:
2126
Участник с: 05 февраля 2007
|
pioner14конечно. я же ошибку допустил :) посмотри какого размера у тебя файл /var/lib/pacman.db
Разберемся, голубчик!
|
amigo |
|
Темы:
35
Сообщения:
2126
Участник с: 05 февраля 2007
|
В ходе обсуждения на irc канале выяснился прирост в производительности<amigo> pacman -Si 1,85s user 2,64s system 36% cpu 12,348 total
Разберемся, голубчик!
|
amigo |
|
Темы:
35
Сообщения:
2126
Участник с: 05 февраля 2007
|
исправил п.4 cd /var/lib/pacman cd /
Разберемся, голубчик!
|
pioner14 |
|
Темы:
8
Сообщения:
196
Участник с: 21 января 2009
|
Amigodu -hs /var/lib/pacman.dbpioner14конечно. я же ошибку допустил :) 101M /var/lib/pacman.db Как исправить???? |
h4tr3d |
|
Темы:
34
Сообщения:
2656
Участник с: 12 июля 2007
|
На ноуте jfs, попробывать погонять ext4 в таком хотя бы варианте:) да! jfs зло, или мне не везет - бывает содержимоей файлов теряется, даже при нормальном завершении работы, что-то тут не чисто. Где то был проект там базу засунули в мускуль, но тут уже нужно сам пакман фиксить
systemd должен умереть.
|
pioner14 |
|
Темы:
8
Сообщения:
196
Участник с: 21 января 2009
|
Amigo Может cd ~/ Все таки? |