Переменные сценария стартового сценария, ожидающие появления системных служб

Ваш вопрос вращается вокруг синтаксиса или формата файла исходного списка, который описывает другие программы, что, как & amp; откуда можно получить источники. Итак, вот он:

Apt (A dvanced p ackage t ool)

используется для управления репозиторием на Debian & amp; Debian (Ubuntu). Он использует файл, в котором перечислены Repository Sources, откуда пакеты должны и могут быть получены. Также файл перечисляет, как должны быть получены пакеты и из каких субпакетов (или наборов).

Все находится в файле /etc/apt/sources.list

Формат, в котором записываются сущности, указывает все на 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, какие именно слова вы задали. Давайте подробно рассмотрим формат.

1. Apt (A dvanced p ackage t ool)

Он сообщает, к какому источнику будет доступен доступ. Первое слово на каждой строке, возможно, deb или deb-src, указывает тип архива. deb указывает, что архив содержит двоичные пакеты (deb), предварительно скомпилированные пакеты, которые мы обычно используем. deb-src указывает исходные пакеты, которые являются исходными источниками программы, плюс Debian control files (.dsc) и diff.gz, содержащие изменения, необходимые для упаковки программы. Формат, синтаксис и имена параметров различаются между форматами однострочного стиля и формата deb822, как описано выше, но оба они имеют одинаковые доступные параметры.

2. URL-адрес репозитория или спецификация URI

Его просто URL / URI в исходный репозиторий, откуда вы хотите получить пакеты. Вы можете указать тип URL / URI, который может быть любым из существующих в настоящее время URI:

http | https | file | cdrom | ftp | copy | rsh,ssh 

Вы можете добавить более узнаваемые типы URI, если вы хотите.

3. Suite

Набор относится к комбинации двух атрибутов распределения, которые:

Формат в одной строке У них есть расширения .list Традиционный формат, поддерживаемый . В одной строке описывается источник. Пример:
deb http://security.debian.org stretch/updates main contrib non-free

Формат в однострочном стиле

Определяет фазу разработки пакета, которая может быть одной или комбинацией следующих:
stable testing unstable

4. Компоненты

Класс выпуска

Он сообщает, к какому источнику будет доступен доступ. Независимо (как в main) или имеет зависимости где-то в другом месте (как в contrib). Первое слово в каждой строке, возможно, deb или deb-src, указывает тип архива. Также сообщите разделы репозитория, которые могут быть main или restricted или universe или .

5. URL-адрес репозитория или спецификация URI

Компоненты сообщают, что пакет:

Независимо (как в main) или имеет зависимости где-то в другом месте ( как и в contrib). specific Language deb указывает, что архив содержит двоичные пакеты (deb), предварительно скомпилированные пакеты, которые мы обычно используем. Также расскажите в репозитории Разделы, которые могут быть main или restricted или universe или multiverse. deb-src указывает исходные пакеты, которые являются исходными источниками программы, плюс Debian control files (.dsc) и diff.gz содержащий изменения, необходимые для упаковки программы.

Синтаксис (пересмотренный):

specific Language

specific Language

]
Types: deb deb-src
URIs: uri
Suites: suite
Components: [component1] [component2] [...]
option1: value1
option2: value2

Взгляните на примеры

Формат . в вашем вопросе относится к тем, что называется параметрами. И, как говорится в названии, они являются необязательными, но при их использовании они изменяют исходную запись для получения определенных типов пакетов. Они могут определить:

2
задан 29 February 2012 в 21:44

1 ответ

Ну, правильный способ делать вещи - использовать события. Другие скрипты Upstart emit сигнализируют, когда они что-то делают, таким образом вы можете иметь:

start on (local-filesystems and net-device-up IFACE!=lo)

... и ваш скрипт не начнется, пока файловая система и локальная сеть не будут готовы к работе.

Это все еще может не сработать для вас (я не уверен, на каком уровне вам нужно подождать), но вы можете поиграть, слушая разные события.

Вы можете прочитать больше о start-on в поваренной книге.

2
ответ дан 25 May 2018 в 13:51
  • 1
    ОК. Я попробую. Команды, которые я использую, являются основными утилитами. Было бы неплохо узнать, какое событие делает доступным cp или ls. – bambuntu 1 March 2012 в 04:40
  • 2
    Я ожидаю, что они будут доступны очень рано, но они бесполезны, если у вас нет файловой системы для их работы. – Oli♦ 1 March 2012 в 05:10

Другие вопросы по тегам:

Похожие вопросы: