Ваш вопрос вращается вокруг синтаксиса или формата файла исходного списка, который описывает другие программы, что, как & amp; откуда можно получить источники. Итак, вот он:
используется для управления репозиторием на Debian & amp; Debian (Ubuntu). Он использует файл, в котором перечислены Repository Sources, откуда пакеты должны и могут быть получены. Также файл перечисляет, как должны быть получены пакеты и из каких субпакетов (или наборов).
Формат, в котором записываются сущности, указывает все на apt. Тем не менее, существует два варианта формата.
Формат в однострочном формате У них есть расширения .list Традиционный формат, поддерживаемый all version of apt. В одной строке описывается источник. Пример:deb http://security.debian.org stretch/updates main contrib non-free
Формат в формате deb822 У них есть расширение .sources Поддерживается самим apt since version 1.1 Отдельные записи разделяются пустой строкой, где каждая запись содержит информацию в форме fieldname : value. Пример: Types: deb
URIs: http://deb.debian.org/debian
Suites: stretch
Components: main contrib non-free
Как вы можете получить представление от deb822-style format, какие именно слова вы задали. Давайте подробно рассмотрим формат.
Его просто URL / URI в исходный репозиторий, откуда вы хотите получить пакеты. Вы можете указать тип URL / URI, который может быть любым из существующих в настоящее время URI:
http | https | file | cdrom | ftp | copy | rsh,ssh
Вы можете добавить более узнаваемые типы URI, если вы хотите.
Набор относится к комбинации двух атрибутов распределения, которые:
Формат в одной строке У них есть расширения .list Традиционный формат, поддерживаемый . В одной строке описывается источник. Пример:deb http://security.debian.org stretch/updates main contrib non-free
Формат в однострочном стиле
Определяет фазу разработки пакета, которая может быть одной или комбинацией следующих:stable testing unstable
Класс выпуска
Он сообщает, к какому источнику будет доступен доступ. Независимо (как в main) или имеет зависимости где-то в другом месте (как в contrib). Первое слово в каждой строке, возможно, deb или deb-src, указывает тип архива. Также сообщите разделы репозитория, которые могут быть main или restricted или universe или .Компоненты сообщают, что пакет:
Независимо (как в main) или имеет зависимости где-то в другом месте ( как и в contrib). specific Language deb указывает, что архив содержит двоичные пакеты (deb), предварительно скомпилированные пакеты, которые мы обычно используем. Также расскажите в репозитории Разделы, которые могут быть main или restricted или universe или multiverse. deb-src указывает исходные пакеты, которые являются исходными источниками программы, плюс Debian control files (.dsc) и diff.gz содержащий изменения, необходимые для упаковки программы.specific Language
]Types: deb deb-src
URIs: uri
Suites: suite
Components: [component1] [component2] [...]
option1: value1
option2: value2
Формат . в вашем вопросе относится к тем, что называется параметрами. И, как говорится в названии, они являются необязательными, но при их использовании они изменяют исходную запись для получения определенных типов пакетов. Они могут определить:
Ну, правильный способ делать вещи - использовать события. Другие скрипты Upstart emit сигнализируют, когда они что-то делают, таким образом вы можете иметь:
start on (local-filesystems and net-device-up IFACE!=lo)
... и ваш скрипт не начнется, пока файловая система и локальная сеть не будут готовы к работе.
Это все еще может не сработать для вас (я не уверен, на каком уровне вам нужно подождать), но вы можете поиграть, слушая разные события.
Вы можете прочитать больше о start-on в поваренной книге.