Дуга Linux - действительно ли возможно дать pacman команду устанавливать определенные пакеты в определенный каталог?

fork запускает процесс в фоновом режиме. Когда приоритетный процесс (тот, который звонит fork) завершается, оболочка вызова уведомляется, и она показывает новую подсказку. Оболочка является родителем исходного, приоритетного процесса; это не родитель ни одного разветвленного процесса.

Порядок, в котором выполняются исходный процесс и разветвленный процесс, не фиксируется, но он вряд ли отклонится любым соответствующим способом из-за 2-секундной задержки. В Вашем тесте это так происходит, которым была временная шкала:

  1. fork первый ребенок от исходного процесса.
  2. fork второй ребенок от первого ребенка.
  3. Исходный процесс печатает waitid проследите и запускается waitpid звоните для ожидания первого ребенка.
  4. Первый ребенок печатает exit трассировка и выходы.
  5. Исходный процесс уведомляется относительно смерти дочернего процесса и waitpid назовите возвраты.
  6. Исходный процесс печатает will exit трассировка.
  7. Оболочка уведомляется, что исходный процесс, из которого выходят и, печатает свою подсказку.
  8. Немного менее чем 2 секунды спустя, sleep вызов во втором ребенке завершается, и второй ребенок печатает has parent трассировка.

Оболочка не получает уведомления вообще о том последнем событии, потому что это не родитель процесса смерти. В любом случае это уже отобразило подсказку и ожидает Вас для ввода новой команды; это не имело бы никакой причины сделать что-либо (при вводе команды которая могла бы быть разрушительной).

11
02.10.2012, 12:25
1 ответ

Да, это возможно путем определения другого корневого местоположения,

- r, - корень Указывает альтернативный корень установки (значение по умолчанию/). Это не должно использоваться в качестве способа установить программное обеспечение в/usr/local вместо/usr. Эта опция используется, если Вы хотите установить пакет на временном смонтированном разделе, который "принадлежит" другой системе.Примечание: если путь к базе данных или файл журнала не будут указаны или на командной строке или в pacman.conf (5), то их местоположение по умолчанию будет в этом корневом пути.

8
27.01.2020, 19:59
  • 1
    Что я должен сделать о dbpath с тем методом? –  Ayrx 02.10.2012, 12:46
  • 2
    @TerryChia, который Вы хотите чередовать, где pacman хранит информацию установленных пакетов? –  daisy 02.10.2012, 12:52
  • 3
    Нет, но я получил ошибку: не удалось инициализировать alpm библиотеку (не мог найти или прочитать каталог), который от некоторого поиска с помощью Google - я принимаю, чтобы быть ошибкой с dbpath. –  Ayrx 02.10.2012, 12:56
  • 4
    @TerryChia Хм, я думаю, что '-r' используется для установки новой системы точно так же, как то, что делает Установочный носитель, у меня нет Дуги под рукой прямо сейчас, попробует его позже. Если это не работает, Вы собираетесь изменить файл PKGBUILD, функция, определяемая XXX_install там. (Префикс может быть указан для большей части программного обеспечения на основе autogen) –  daisy 03.10.2012, 13:06

Теги

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