Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Xubuntu 24.04: система виснет при запуске dpkg-scanpackages (?)  (Прочитано 516 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Skif_off

  • Автор темы
  • Активист
  • *
  • Сообщений: 425
    • Просмотр профиля
Xubuntu 24.04, после переезда с Win разделы с NTFS не стал менять, оставил NTFS: ФС известная, доступ есть, проблемы решаемы, софта куча в случае чего, время от времени обслужить (chkdsk, дефрагментация) - не проблема.

Подключен локальный репозиторий: deb-файлы и файлы для сборки оных аккуратно разложены по каталогам на диске с NTFS, отдельно в хомяке (уже на ext4) создан каталог со структурой, схожей с типичным репозиторием, и в него накиданы симлинки с deb-файлов. Скрипт, создающий служебные файлы репозитория, update:
#!/bin/sh

DIR=`dirname "$0"`
cd $DIR

if [ -f "$DIR/Packages" ]; then
    chmod 644 "$DIR/Packages"
fi
if [ -f "$DIR/Packages.gz" ]; then
    chmod 644 "$DIR/Packages.gz"
fi
if [ -f "$DIR/Release" ]; then
    chmod 644 "$DIR/Release"
fi

dpkg-scanpackages -m . > Packages
cat ./Packages | gzip -c > Packages.gz

./generate-release.sh "noble" > Release

chmod 444 ./Packages
chmod 444 ./Packages.gz
chmod 444 ./Release

echo "Done."
и generate-release.sh:
#!/bin/sh

# Idea from https://earthly.dev/blog/creating-and-hosting-your-own-deb-packages-and-apt-repo/

set -e

cat << EOF
Suite: $1
Codename: $1
Architectures: amd64 i386
Description: Local repo
Date: $(date -Ru)
EOF
echo "MD5Sum:"
echo " $(md5sum Packages | cut -d" " -f1) $(wc -c Packages)"
echo " $(md5sum Packages.gz | cut -d" " -f1) $(wc -c Packages.gz)"

echo "SHA1:"
echo " $(sha1sum Packages | cut -d" " -f1) $(wc -c Packages)"
echo " $(sha1sum Packages.gz | cut -d" " -f1) $(wc -c Packages.gz)"

echo "SHA256:"
echo " $(sha256sum Packages | cut -d" " -f1) $(wc -c Packages)"
echo " $(sha256sum Packages.gz | cut -d" " -f1) $(wc -c Packages.gz)"
Пакетов сейчас несколько сотен. Как бы ничего такого особенного...

Иногда, не часто, после запуска update система вешается наглухо, реагирует только на кнопку перезагрузки. (Раза три пришлось прогонять chkdsk на диске, где физически лежат deb-файлы.)
Грешу на dpkg-scanpackages, т.к. после её работы, до запуска generate-release.sh, утилита в выхлоп выдаёт количество просканированных пакетов, чего не происходит при зависании.

Подскажите, пожалуйста, с чего начать поиск причин(ы)?

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7817
  • We were here
    • Просмотр профиля
Раздел с ntfs как монтируется?
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Skif_off

  • Автор темы
  • Активист
  • *
  • Сообщений: 425
    • Просмотр профиля
ALiEN, fstab не использую, либо файловый менеджер, либо Gigoglo, т.е. ничего от root.

Пользователь добавил сообщение 29 Июня 2025, 15:05:19:
Вспомнил, что файл Packages растёт по ходу работы dpkg-scanpackages, а не записывается целиком в конце, на всякий случай сам скрипт dpkg-scanpackages посмотрел - таки да: посмотрел Packages, а он пустой.
Т.к. файл Packages до запуска существовал и не был пуст, то вешается после открытия его на запись и до завершения анализа первого deb-файла.
Получается, что вешается
- или при открытии Packages,
- или при поиске deb-файлов в подкаталоге,
- или при попытке просканировать первый найденный deb-файл.
После ребута скрипт update отрабатывает как положено (как и в подавляющем большинстве случаев).

Фиг знает, куда вообще смотреть. Может быть, есть смысл попробовать добавить предварительное удаление Packages, Packages.gz и Release, чтобы не перезаписывались каждый раз?

Пользователь добавил сообщение 29 Июня 2025, 15:10:06:
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 29 Июня 2025, 15:10:06 от Skif_off »

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3269
    • Просмотр профиля
Что касается dpkg-scanpackages, то я никогда им не пользовался.
В /var/lib/apt/lists лежат все Packages.
Пётр.

Оффлайн Skif_off

  • Автор темы
  • Активист
  • *
  • Сообщений: 425
    • Просмотр профиля
В /var/lib/apt/lists лежат все Packages.
У всех там лежат :) А откуда они там берутся? Сливаются с подключенных репозиториев...

Тут другое: папка с deb-файлами в виде локального репозитория и изредка генерация списка пакетов в нём (то, что происходит в любых репозиториях до их подключения, запуска "apt update" и наполнения "/var/lib/apt/lists") наглухо вешает систему. Совсем наглухо - Ctrl+Alt+F[1-6] не работает, REISUB тоже не работает.

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3269
    • Просмотр профиля
Skif_off, я строил локальные репозитарии утилитой reprepro, никогда проблем не было.
Пётр.

Оффлайн РыжийПёс

  • Активист
  • *
  • Сообщений: 847
  • 好红狼
    • Просмотр профиля
Раза три пришлось прогонять chkdsk на диске, где физически лежат deb-файлы
Быть может виноват плохой диск (дефекты поверхности, механики или электроники), либо его подключение (кабели, разъёмы, питание)?
Каждый отдельно взятый человек, перешедший на GNU Linux, приближает всё остальное человечество к Светлому Будущему.

Оффлайн Skif_off

  • Автор темы
  • Активист
  • *
  • Сообщений: 425
    • Просмотр профиля
Peter_I, используемый мной способ вполне допустимый (п. 3.2), крайне простой, но рабочий вариант. Он и работает, но изредка вылезает проблема.

Быть может виноват плохой диск (дефекты поверхности, механики или электроники), либо его подключение (кабели, разъёмы, питание)?
Диск не молод, SMART посматриваю, претензий к нему пока нет.
Если какой-то процесс работает с файлами и мы вдруг ребутим кнопкой, то файловую систему может побить, так? Из нескольких таких ребутов в двух или трёх случаях пришлось прогнать chkdsk. А дальше перезагрузка и update отрабатывает как должно.
Я это упомянул, на случай если такая подробность сможет оказаться полезной.
---------

Можно ли добавить что-то в скрипты, получив больше подробностей происходящего, и куда смотреть после жёсткого зависания и ребута?

 

Страница сгенерирована за 0.018 секунд. Запросов: 21.