Это учебное пособие по созданию базового файла .deb из данного образца сценария. В этом учебном пособии сначала мы создаем образец программы в bash, который просто показывает «HELLO FROM PROGRAM». Затем мы создаем файл управления для программы, чтобы сделать установщик debian. Наконец, они упакованы в файл .deb.
mkdir "$HOME/create_deb/pgmdir"
gedit "$HOME/create_deb/pgmdir/zenity_hello.sh"
вставить в него следующий код #!/bin/bash
echo 'HELLO FROM PROGRAM' | zenity --text-info
Сделать исполняемый файл программы chmod +x "$HOME/create_deb/pgmdir/zenity_hello.sh"
Создать управляющий файл для пакета debian Сделать файл с именем control внутри папки DEBIAN mkdir "$HOME"/create_deb/DEBIAN
gedit "$HOME"/create_deb/DEBIAN/control
и вставить следующие данные Package: hellodeb
Version: 0.1
Architecture: all
Maintainer: totti
Installed-Size: 6
Depends: zenity, bash
Section: testing
Priority: optional
Homepage: http://askubuntu.com
Description: This is my first debian package.
Guided by Totti Torvalds.
In Description new line start with a space.
Вы можете отредактировать содержимое, если хотите. Подробнее о формате этого файла читайте здесь и здесь. Создайте скрипт postinst, который выполняется сразу после установки пакета gedit "$HOME"/create_deb/DEBIAN/postinst
, затем вставьте #!/bin/sh
set -e
echo 'Installing program : zenity_hello.sh ......' | zenity --text-info
и создайте его исполняемый файл chmod +x "$HOME/create_deb/DEBIAN/postinst"
Создайте скрипт prerm, который выполняется перед удалением пакета #!/bin/sh
set -e
echo 'Removing program : zenity_hello.sh ......' | zenity --text-info
и сделать его исполняемый файл chmod +x "$HOME/create_deb/DEBIAN/prerm"
Создание структуры пакета и копирование программ, данных и т. д. Создайте структуру установленных программ и их данных. В этом примере мы помещаем файл в /bin. mkdir -p "$HOME"/create_deb/bin
cp "$HOME/create_deb/pgmdir/zenity_hello.sh" "$HOME/create_deb/bin/zenity_hello"
Создайте файл .deb. dpkg-deb --build "$HOME"/create_deb .
. автоматически укажет файл .deb с версией, arch и т. д. Или ваше пользовательское имя dpkg-deb --build "$HOME"/create_deb "$HOME"/create_deb/hellodeb.deb
. Или если вы создадите файл .deb с debuild -k'your GPG key here' -S
, вы можете загрузить его в Ubuntu Launchpad с помощью [ f15], как описано здесь (источник: создать пакет .deb из сценариев или двоичных файлов) Установите новый созданный пакет .deb. Вы можете открыть его с помощью software-center, но это может не позволить вам установить. Поэтому я рекомендую использовать диспетчер пакетов gdebi. sudo apt-get install gdebi
gdebi "$HOME"/create_deb/hellodeb.deb
Теперь вы можете установить его. Во время установки вы должны увидеть диалог gtk. Установка программы: zenity_hello.sh ...... После установки откройте терминал и введите zenity_hello. Если программа правильно установлена и все ОК, вы должны увидеть диалог gtk ПРИВЕТ ИЗ ПРОГРАММЫ Удаление пакета sudo apt-get remove zenity_hello
Поскольку OP хочет простой способ
Требование: удалить (или любой другой сервис, например, github) учетную запись в общей папке.
создать образец программа в bashmkdir "$HOME/create_deb/pgmdir"
gedit "$HOME/create_deb/pgmdir/zenity_hello.sh"
вставляет в нее следующий код #!/bin/bash
echo 'HELLO FROM PROGRAM' | zenity --text-info
создает образец программы в bash
gedit import.sh
, помещая это в него: #!/bin/bash
dpkg-scanpackages . /dev/null |gzip > Packages.gz
вставьте следующий код в
chmod x import.sh
Сделайте исполняемый файл программы chmod +x "$HOME/create_deb/pgmdir/zenity_hello.sh"
Зайдите в эту папку и создайте скрипт, который при выполнении создает Packages.gz, содержащий всю необходимую информацию о ваших deb-пакетах. create:
http://dl.getdropbox.../Packages.gz
сделать его исполняемым:
deb http://dl.getdropbox.../deb-packages ./
Теперь подождите, пока Dropbox синхронизирует папку и возьмет программу sample . Он должен выглядеть примерно так:
Избавьтесь от конца этой ссылки, добавьте еще несколько слов, и теперь вы можете использовать и заполнить следующую строку для sources.list:
### main/02_exim4-config_options
#################################
disable_ipv6
dns_ipv4_lookup='*'
#dns_ipv4_lookup = *gmail.com
Я планирую получить немного более мелкозернистый, в настоящее время я пояс и брекеты, не требующие квалификации, чтобы говорить SMTP через IPv6 в Google Mail. Действительно, это кажется немного антиэтическим для этого аспекта сферы.
Я думаю, вы можете проверить и найти файл config /etc/exim4/update-exim4.conf. Вы можете добавить опцию disable_ipv6=true и перезапустить exim с помощью команды service exim4 restart.
После добавления опции вы можете проверить и netstat прослушивать порт 25 по адресу IPv6 как: netstat -tulpn | grep :25. Если порт 25 прослушивает IPv6, возможно, вы можете изменить dc_local_interfaces='127.0.0.1 ; ::1' -> dc_local_interfaces='127.0.0.1'.
Наконец, наконец, я заметил, что есть файл шаблона конфигурации /etc/exim4/exim4.conf.template. Любопытно, что я добавил директиву disable_ipv6=true там, перезапустил exim и, возможно, начал работать.
Надеюсь, вы найдете эту статью полезной и сэкономьте некоторое время, когда столкнетесь с аналогичной проблемой с exim.
### main/02_exim4-config_options
#################################
disable_ipv6
dns_ipv4_lookup='*'
#dns_ipv4_lookup = *gmail.com
Я планирую получить немного более мелкозернистый, в настоящее время я пояс и брекеты, не требующие квалификации, чтобы говорить SMTP через IPv6 в Google Mail. Действительно, это кажется немного антиэтическим для этого аспекта сферы.
Я думаю, вы можете проверить и найти файл config /etc/exim4/update-exim4.conf. Вы можете добавить опцию disable_ipv6=true и перезапустить exim с помощью команды service exim4 restart.
После добавления опции вы можете проверить и netstat прослушивать порт 25 по адресу IPv6 как: netstat -tulpn | grep :25. Если порт 25 прослушивает IPv6, возможно, вы можете изменить dc_local_interfaces='127.0.0.1 ; ::1' -> dc_local_interfaces='127.0.0.1'.
Наконец, наконец, я заметил, что есть файл шаблона конфигурации /etc/exim4/exim4.conf.template. Любопытно, что я добавил директиву disable_ipv6=true там, перезапустил exim и, возможно, начал работать.
Надеюсь, вы найдете эту статью полезной и сэкономьте некоторое время, когда столкнетесь с аналогичной проблемой с exim.