Если бы экран и устройства ввода данных (клавиатура и мышь или сенсорная панель) заморозились, то первое место для запуска путем взгляда было бы в /var/log/Xorg.0.log
(предполагающий, что Xorg работает на первом сервере дисплея).
Если бы это не приводит ни к каким непосредственным подсказкам, следующие журналы, которые проверят, были бы /var/log/messages.log
и /var/log/dmesg.log
.
Если Вы не можете найти что-нибудь в журналах, и замораживание происходит с любой частотой, Вам можно было бы рекомендовать проверить Вашу память с утилитой как memtest86 +.
Моя рекомендация состоит в том, чтобы сделать исходный пакет. Существенная для сборки установка, debhelper, горячекатаный - делает. Изменитесь на каталог, где файлы, которые Вы хотите установить, (имя каталога должно иметь форму $PACKAGE-$VERSION
, например. myapp-4.2-1
для Вашей первой попытки упаковки Myapp V4.2), и выполненный dh_make --createorig
.Ответьте на вопросы. Debhelper создаст основную инфраструктуру, должен был создать пакет путем генерации файлов в названном подкаталоге debian
, и некоторые обязательные файлы и шаблоны для дополнительных файлов. Вы, возможно, должны изменить некоторые из этих файлов:
debian/rules
создавать, что нуждается в здании и устанавливает файлы в правильном месте. Если просто необходимо скопировать некоторые файлы а не скомпилировать материал, просто отредактируйте файл debian/install
указывать, какие файлы должны быть установлены где.debian/copyright
добавить информацию о лицензии о Вашем пакете и информации о том, где получить последнюю версию (при необходимости).debian/changelog
удалить ссылку на ITP (это только релевантно, если Вы работаете на проект Debian). Переименовать debian/postinst.ex
кому: debian/postinst
и добавьте свои команды после установки там. Если Вы позже обновляете свой пакет, работаете debchange -i
добавить запись журнала изменений или отредактировать файл в Emacs (с установленным dpkg-dev-el).Выполненный dpkg-buildpackage -rfakeroot -us -uc
создавать .deb
пакет (удаляют -us -uc
если Вы хотите подписать пакет со своим ключом PGP).
Если Вы решите сделать двоичный пакет непосредственно, не создавая его из исходного пакета, который не действительно легче, потому что нет как много инструментов для упрощения процесса, то Вам будет нужно некоторое основное знакомство с форматом deb пакетов. Это описано в Руководстве политики Debian, в особенности ch. 3 (формат двоичных пакетов), ch. 5 (управляют файлами), ch. 6 (сценарии установки) и приложение B (двоичное управление пакетом).
Вы удостоверяетесь, что Ваш пакет устанавливает ожидаемые файлы /usr/share/doc/copyright
(содержащий лицензию содержания пакета, а также где найти последнюю версию пакета), и /usr/share/doc/changelog.Debian.gz
(содержащий журнал изменений deb пакета). Вам не нужны они, если Вы только собираетесь использовать внутренний пакет, но лучше иметь их.
Если Вы имеете инструменты Debian в наличии, использовать dpkg-deb
создать пакет. В каталоге, содержащем данные для установки, добавьте названный каталог DEBIAN
на верхнем уровне, содержа файлы управления и обслуживающие сценарии.
$ ls mypackage-42
DEBIAN etc usr var
$ dpkg-deb -b mypackage-42
Если Вы не имеете инструментов Debian, создаете архив файлов, Вы хотите упаковать названный data.tar.gz
, называют отдельный архив файлов управления control.tar.gz
(никакие подкаталоги), и названный текстовый файл debian-binary
и содержание текста 2.0
.
cd mypackage-42
tar czf ../data.tar.gz [a-z]*
cd DEBIAN
tar czf ../../control.tar.gz *
cd ../..
echo 2.0 > debian-binary
ar r mypackage-42.deb debian-binary control.tar.gz data.tar.gz
Вам нужен, по крайней мере, файл управления с полями Package
, Maintainer
, Priority
, Architecture
, Installed-Size
, Version
, и любое необходимое объявление зависимости.
Сценарий, который будет выполняться после установки, называют postinst
. Обязательно сделайте это исполняемым файлом. Это идет рядом control
.
Если у Вас уже есть двоичный пакет от другого распределения, можно использовать чуждый для преобразования его.
Прежде всего необходимо создать папку сборки и архив файлов: tar czvf data.tar.gz files
Затем в папке сборки необходимо создать файл управления с некоторой требуемой информацией:
Package: xxxxxx
Version: 0.0.1
Section: user/hidden
Priority: optional
Architecture: armel
Installed-Size: `du -ks usr|cut -f 1`
Maintainer: Your Name <xxx@xxx.xx>
Description: This is optional, but creates warnings if left out
Затем можно добавить независимо preinst, postint, prerm и postrm сценарии оболочки для управления пред, и установка сообщения и пред и сообщение удаляет поведение .deb файла, и затем можно создать архив управления с tar: tar czvf control.tar.gz control preinst postinst prerm postrm
Затем Вам нужен debian-двоичный-файл: echo 2.0 > debian-binary
. В Вашей папке сборки у Вас должны быть теперь эти файлы: debian-binary
control.tar.gz
и data.tar.gz
.
Наконец Вам нужно ar
пакет для создания .deb файла: ar -r xxx.deb debian-binary control.tar.gz data.tar.gz
ar -r xxx.deb debian-binary control.tar.gz data.tar.gz
могло стоить, чтобы подчеркнуть, что порядок важен: управление должно произойти перед данными.
– Hibou57
25.09.2017, 07:16
Я делаю много пакетов, и сделать, полный не является тривиальным вопросом. На положительной ноте файлы и сценарии являются намного меньшим количеством работы. Можно создать такой пакет, очень просто, с инструментом, известным как debreate.
Debreate является действительно простой GUI, для того, чтобы просто создать простые пакеты DEB. Можно просто указать, какие файлы, куда они идут, и если/какой должен выполниться на установке/удалении сообщения/пред. Я раньше просто делал все мои пакеты стандартный путь, но после того, как я начал использовать этот инструмент, я только возвращусь при необходимости.
Посмотрите Wiki Debian на Упаковке, возможно equivs
(см. ссылку), уже удовлетворяет Ваши требования.
Страница Википедии на deb
формат файла также включает много полезных ссылок.
$ apt-get install build-essential dh-make debhelper devscripts
$ wget http://nmap.org/dist/nmap-LAST.tar.bz2
$ tar xf nmap-LAST.tar.bz2
$ cd nmap-LAST
$ dh_make -s -e youremail@site.org -f ../nmap-LAST.tar.bz2
$ apt-get install libgtk2.0-dev flex bison libpcap0.8-dev \
libpcre3-dev binutils-dev python-all-dev
$ dpkg-buildpackage
Разберитесь с этим с помощью Zimbra 7 в Debian, используя его пакеты Ubuntu. (Я упрямый, мне нравится Debian> bUbuntu, несмотря на то, что Zimbra выпускается только для Ubuntu.) Не знаю, как я работал над этим раньше, я уверен, что мне не приходилось этого делать, когда я устанавливал это ранее!
mkdir new
for i in *.deb
do echo `date`: working on $i
ar x $i
cd control
rm * 2> /dev/null
tar -xzpvf ../control.tar.gz
tr "_" "-" < control > control2
mv -v control2 control
tar -czpvf ../control.tar.gz .
cd ..
ar r new/$i debian-binary control.tar.gz data.tar.gz
done
rm -rf debian-binary control.tar.gz data.tar.gz control
Все ваши новые файлы .deb будут в new /
.
Примечание : это было на squeeze - dpkg на wheezy теперь имеет --force-bad-version.
Для быстрой создания пакетов вы можете пользовательскую программу CheckInstAll. Это делает установку программы, изменений в часах - и создать его пакет DEB или RPM.
Вы можете использовать Alien для преобразования Slackware tgz в формат.deb. Пакеты Slackware безумно просты в том смысле, что они на самом деле не делают ничего большего, чем то, о чем просил OP, а именно: копируют некоторые файлы и запускают скрипт. Это позволит сэкономить на создании контрольного файла и так далее, потому что Alien сгенерирует его.
mkdir pkg
pushd pkg
mkdir -p usr/local/bin install
touch usr/local/bin/xxx # <--- something to install
touch install/slack-desc # <---- optional description
cp <<script>> install/doinst.sh # <---- your post-install
tar zcvf../xxx-1-x86_64-1.tgz *
popd
alien --to-deb --scripts xxx-1-x86_64-1.tgz
Если вы не знакомы с форматом пакета Slackware, обратите внимание, что ваш установочный каталог в архиве не будет установлен в цель, и если вы хотите.deb, который делает обновить файлы в /install это, вероятно, не сработает!
dch -i
. – Faheem Mitha 31.01.2012, 06:27ar
выполнение этогоtar
не? – mmstick 20.06.2016, 20:00