Упаковка двоичного файла или сценария очень проста. В самом тривиальном случае Вам нужен a .deb
пакет, который содержит копию Вашего двоичного файла в usr/bin/yourbinary
. Однако существует много вещей, необходимо заботиться о том, если Вы хотите, чтобы другие нашли это применимым.
Строго говоря взгляните на горячекатаный пакет - делают, который содержит всю инфраструктуру, необходимо создать пакет Debian хорошего поведения.
Когда Вы работаете dh_make -s -n
в каталоге, где Вы разрабатываете свой сценарий, Вы добираетесь для заполнения некоторых деталей, таких как описание пакета и имя и адрес электронной почты. Инструмент создаст a debian/
каталог с некоторыми шаблонными файлами, которые необходимо или изменить или удалить. (Те с *.ex
имена являются, вероятно, всей пользой для удаления.)
(dh_make
следит за именем каталога; это распечатает сообщение об ошибке, направляющее Вас для использования dh_make -s -n -p yourpackage_0.01
продолжаться, не переименовывая каталог.)
debian/control
файл. Это также, где можно заставить его зависеть от других пакетов или даже конкретных версий других пакетов.debian/README
и debian/changelog
должен быть обновлен для содержания больше, чем просто шаблон. Если у Вас есть примечания для самого пакета, Вы могли бы хотеть вставить их debian/README.Debian
; иначе удалите этот файл. Подобный для debian/README.source
, т.е. примечания для кого-то загружающего источники пакета apt-get source yourpackage
. Эти файлы закончатся в /usr/share/doc/yourpackage
когда Вы устанавливаете yourpackage
. Если Вы хотите поместить другие файлы там, добавьте их имена к (теперь пустой) текстовый файл debian/docs
. Иначе можно удалить этот файл, также.debian/copyright
и обновите его при необходимости. Это также закончится в /usr/share/doc/yourpackage
.Существует богатство материала об упаковке Debian и dh-make
на всем протяжении Интернета; этот ответ очевидно очень краток и summaric. Для действительно надлежащего пакета необходимо считать и понять всю политику Debian.
Существует несколько способов вывода идентификатора пользователя (UID) с помощью ps
; простой - с помощью -f
:
ps -fC X
предоставит вам информацию обо всех запущенных X-серверах (их может быть больше одного).
Предполагается, что исполняемый файл называется X
- если такого процесса нет, вам придется выбрать что-то другое. Поскольку в нем почти наверняка есть заглавная буква X (например, Xorg
, X11
), альтернативой является фильтрация через grep:
ps -o uid,comm -A | grep X
Это удаляет заголовки столбцов, но UID - это числовой слева. Если это 0
, значит, процесс выполняется с правами root. Если ничего не появляется, попробуйте ps -fA | grep X
; в этом больше беспорядка.
Наконец, если в названии нет процесса с большой буквы X
, попробуйте x
; вы можете по крайней мере найти команды, используемые для управления им, такие как startx
или xinit
. Вы также можете попробовать dm
, поскольку менеджеры дисплея обычно имеют это в своем имени ( gdm
и т. Д.). Однако на самом деле ни один из них не является X-сервером, и хотя xinit
запускает сервер, исполняемый файл сервера часто имеет бит setuid, установленный , то есть даже несмотря на то, что xinit
имеет непривилегированный UID, X будет работать как root .