나는 리눅스에서 사운드를 조작하고 패키지 설치를 시도했습니다 jackd
. 다음은 반환된 내용의 관련 발췌문입니다 apt
.
$ sudo apt install jackd
The following additional packages will be installed:
jackd2 jackd2-firewire libconfig++9v5 libffado2 libglibmm-2.4-1v5 libsigc++-2.0-0v5 libxml++2.6-2v5 python-dbus python-gi qjackctl
그런 다음 제거 결과는 다음과 같습니다.
$ sudo apt purge jackd
The following packages will be REMOVED:
jackd* qjackctl*
후속 설치:
$ sudo apt install jackd
The following NEW packages will be installed:
jackd
----------편집하다----------
그런 다음 :
sudo apt autoremove
The following packages will be REMOVED:
libfwup1
(jackd를 설치하기 전에 이미 언급한 패키지입니다)
----------편집 끝----------
이 실험에서는 apt
종속성을 제거하지 않는 것 같습니다. 그러나 제거 작업 qjackctl
으로 인해 제가 특별히 언급한 패키지( ) 외에 다른 패키지( ) 가 제거되었습니다 jackd
.
qjackctl
은 데몬의 해당 GUI 인터페이스에 대한 패키지이며 더 이상 jackd
필요하지 않으면 필요하지 않다는 것을 이해합니다 jackd
. 그러나 논리적으로 다른 종속성도 설치되므로 다음과 같습니다.
- 왜 제거되지 않았습니까?
- 왜
qjackctl
제거되었나요? qjackctl
두 번째 설치에서는 왜 가져오지 않았습니까?
오직실문제의 패키지에만 해당되는 것으로 나타났습니다.
도와 주셔서 정말로 고맙습니다
추신: 방금 Arch Linux 파티션 설치를 마쳤습니다(향후 Ubuntu 파티션을 대체할 예정입니다). pacman
지금은 별로 익숙하지 않습니다 . 이 패키지 관리자를 사용하면 이 동작을 더 잘 관리할 수 있습니까? (보다 정확하게는 무능한 작업과 예측 가능한 동작)
답변1
추가 패키지는 (아마도 간접적) 의존성으로 인해 설치되었습니다 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
's' 와 동일합니다 . 또한 매우 유용하다고 생각하는 텍스트 기반 전체 화면 사용자 인터페이스도 있습니다.