Это ответ -на вопрос @Kusalananda в комментарии, связанном с вашим вопросом выше.
Предположим, у вас есть два пользователя, user1
и user2
. Предположим, что user1
имеет домашнюю директорию /home/user1
. Теперь предположим, что в домашнем каталоге user1
вы создаете каталог, принадлежащий user2
, скажем, /home/user1/sources
, может ли user2
получить доступ к этому каталогу?
Чтобы user2
мог получить доступ к /home/user1/sources
, user2
необходимо иметь разрешениеx
(на обход )для каждого каталога от корня до каталога sources
включительно :
$ ls -ld /
dr-xr-xr-x 31 root root 4096 Feb 28 11:37 /
^ Check (this will almost always be OK)
$ ls -ld /home
drwxr-xr-x 4 root root 4096 Feb 28 11:38 /home
^ Check (this will almost always be OK)
$ ls -ld /home/user1
drwx------ 9 user1 group1 4096 Mar 21 00:36 /home/user1
^ ^ In this case, no, user2 cannot traverse here
$ ls -ld /home/user1/sources
drwxr-xr-x 9 user2 group2 4096 Mar 21 00:36 /home/user1/sources
^ Check
В этом примере, поскольку user2
не может перейти в /home/user1
, user2
не может получить доступ к /home/user1/sources
(, даже если user2
владеет этим каталогом ).
В своем вопросе вы сказали, что каталог sources
находится в домашнем каталоге первого пользователя. Я предполагаю, что второй пользователь не может получить доступ к домашнему каталогу первого пользователя.
Вы можете рассмотреть возможность размещения каталога sources
за пределами домашнего каталога пользователя.
Дополнительные пакеты были установлены, потому что они (возможно косвенные )зависимости отjackd
:jackd2
напрямую, остальные через jackd2
. qjackctl
был установлен, потому что jackd2
рекомендует его, а рекомендуемые пакеты устанавливаются по умолчанию.
Подробно дерево зависимостей установленных пакетов выглядит следующим образом:
jackd
└─ jackd2
├─ python-dbus
│ └─ python-gi (recommended)
├─ jackd2-firewire (recommended)
│ └─ libffado2
│ ├─ libconfig++9v5
│ ├─ libglibmm-2.4-1v5
│ │ └─ libsigc++-2.0-0v5
│ └─ libxml++2.6-2v5
└─ qjackctl (recommended)
Две дополнительные зависимости не влияют на шаг установки, но становятся значимыми позже:jackd2-firewire
зависит от jackd2
, а qjackctl
зависит от jackd
.
Последняя зависимость означает, что когда jackd2
был удален, qjackctl
также должен был быть удален (вы не можете установить пакет без его строгих зависимостей ). Остальные пакеты не зависят от jackd
, поэтому не были удалены; они были бы от apt autoremove
, за исключением того, что поскольку jackd2-firewire
зависит от jackd2
, ни один из пакетов не становится ненужным...(apt
не помнит , какой конкретный пакет вызвал другой пакет быть установлен; autoremove
проверяет только автоматически установленные пакеты, чтобы убедиться, что от них больше ничего не зависит. В качестве дополнительной особенности autoremove
считает рекомендации достаточно важными, чтобы пакет оставался установленным.)
Во второй раз, когда вы установили jackd
, apt
просмотрел его зависимости, , т.е.jackd2
или jackd1
, заметил, что jackd2
уже установлен, и остановился на этом; поэтому он не заметил, что qjackctl
«отсутствует», поскольку он рекомендован jackd2
, а не самим jackd
.
aptitude
удалит ненужные пакеты, как только будут удалены зависимые от них пакеты, без отдельного шага autoremove
; вам может быть проще в использовании. Команды такие же, как и у apt
; он также имеет текстовый -полноэкранный пользовательский интерфейс -, который я считаю очень полезным.