aptitude: 중괄호의 의미, 즉 package1{b} package2{a} package3{u}

aptitude: 중괄호의 의미, 즉 package1{b} package2{a} package3{u}

그것을 사용할 때자격, 변경된 패키지 목록에 일부 패키지 이름 뒤에 중괄호 안에 단일 문자가 포함되는 경우가 있었습니다. 매뉴얼 페이지에는 두 가지 예가 있지만 설명하지 않습니다(버전 0.6.10-1).

지금까지 나는 {b}, {a} 및 {u}를 확인했습니다. 첫 번째는 런타임에 나타나서 aptitude install제거한 패키지를 다시 설치하려고 시도하는 것 같습니다(예: debfoster를 통해 어떻게 비활성화합니까?). 후자의 두 개는 자동 종속성 해결과 관련된 것으로 보입니다.

이 문자는 무엇을 의미합니까? 다른 캐릭터도 있나요? 다른 작업에 어떤 영향을 미치나요? dpkg아니면 이 추가 정보가 제공됩니까 apt?

답변1

이 중 아무것도 기록되지 않습니다. 내 생각에 이것은 a자동 설치용이고, u(자동?) 업그레이드용이며, b손상된 패키지를 수정하기 위한 패키지 설치용인 것 같습니다.

이는 debfoster제거해서는 안 되는 패키지를 제거하는 것을 의미합니다. 웹사이트에는 다음과 같은 내용이 나와 있습니다.

As of 2006-01-01, debfoster is officially deprecated.

수년간 시스템 변경으로 인해 오류가 발생할 수 있습니다 apt. aptitude search '~b'사용 후 실행하여 이를 확인할 수 있습니다 debfoster(깨진 패키지가 나열됩니다).

이제 apt종속 패키지의 자동 플래그 지정이 지원되며 apt-get autoremove자격을 사용하면 이를 수행할 수도 있습니다 aptitude remove '~g'.

고쳐 쓰다

aptitude를 조금 시도한 결과 메시지 가 표시될 때 ?키를 누르면 Do you want to continue? [Y/n/?]다음 메시지가 표시되는 것으로 나타났습니다.

In the list of actions to be performed, some packages will be followed by one or
more characters enclosed in braces; for instance: "aptitude{u}".  These
characters provide extra information about the package's state, and can include
any combination of the following:
  
  'a': the package was automatically installed or removed.
  'b': some of the package's dependencies are violated by the proposed changes.
  'p': the package will be purged in addition to being removed.
  'u': the package is being removed because it is unused.

그래서 이것은 b손상된 패키지에 대한 것 같습니다. 하지만 귀하의 경우 깨진 것이 없다면 버그인 것 같습니다. 문제를 재현할 수는 없지만 중괄호 안에 아무것도 추가 aptitude하지 않고 제거한 패키지를 다시 설치해 보았습니다 .apt-get

또한 aptitude keep-all삭제하는 것보다 안전할 수도 있습니다./var/lib/aptitude/pkgstates

답변2

이 게시물적성 저자가 설명 {a}하고 {u}:

  • {a}이는 요청한 패키지 외에 이 패키지도 설치된다는 의미입니다.
  • {u}패키지가 시스템에서 사용되지 않으며 삭제될 것임을 나타냅니다.

불행하게도 설명이 없습니다 {b}.

관련 정보