Сначала заглавный вопрос:
Предполагая, что каталог debian уже существует, перейдите в исходный каталог (каталог, содержащий каталог debian) и запустите dpkg-buildpackage. Мне нравится запускать его с этими параметрами:
dpkg-buildpackage -us -uc -nc
что означает не подписывать результат и не чистить.
Как я могу проверить, правильно ли я перечислил все зависимости?
Получение зависимостей - это черное искусство. «Официальный» способ - проверить, зависит ли сборка, если пакет собирается только с базовой системой, пакетами «build-essential» и указанными зависимостями сборки. Не знаю общего ответа для обычных зависимостей, просто зайдите в:)
Как я могу предотвратить обновление системы установкой старой версии в репозитории при обновлении?
Как я могу предотвратить установку системой более новой версии (когда она выйдет), перезаписать мой пользовательский пакет?
Мое знание может быть устаревшим в этом, но для решения обоих:
Используйте dpkg --set-selections. Предполагая, что nullidentd был пакетом, который вы хотели оставить, запустите от имени пользователя root
echo 'nullidentd hold' | dpkg --set-selections
Кроме того, поскольку вы строите из исходного кода, вы можете использовать эпоху , чтобы установить номер версии искусственно высоким и никогда больше не беспокоиться. Чтобы использовать эпоху, добавьте новую запись в файл debian / changelog и поставьте 99: перед номером версии. Учитывая мой пример nullidentd, первая строка вашего обновленного журнала изменений будет выглядеть так:
nullidentd (99:1.0-4) unstable; urgency=low
Ссылка Бернарда хороша, особенно если вам нужно создать каталог debian самостоятельно - также полезны справочник разработчика и страница общих ресурсов . Ссылка Адама тоже хорошо выглядит, но я не знаком с ней.