aptitude: Ý nghĩa của dấu ngoặc nhọn, tức là gói1 {b} gói2 {a} gói3 {u}


14

Khi sử dụng aptitude , danh sách các gói đã thay đổi đôi khi có một ký tự đơn trong dấu ngoặc nhọn phía sau một số tên gói. Trang man có hai ví dụ về chúng nhưng không giải thích chúng (phiên bản 0.6.10-1).

Tôi đã nhận thấy {b}, {a} và {u} cho đến nay. Cái trước dường như xuất hiện khi chạy aptitude installvà cố gắng cài đặt lại các gói tôi đã xóa (ví dụ: thông qua debfoster, làm thế nào tôi có thể vô hiệu hóa nó?), Hai cái sau dường như có liên quan đến độ phân giải phụ thuộc tự động.

Những nhân vật này có ý nghĩa gì, có những người khác, và họ có ý nghĩa gì đối với các hoạt động khác? Là thông tin bổ sung có sẵn cho dpkghoặc apt?

Câu trả lời:


8

Đây không phải là tài liệu. Tôi đoán là adành cho cài đặt tự động, udành cho nâng cấp (tự động?) Và bdành cho các gói được cài đặt để sửa các gói bị hỏng.

Điều này có nghĩa debfosterlà loại bỏ các gói mà nó không phải là, lưu ý rằng trang web nói:

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

Có thể điều này đã phát triển lỗi trong những năm qua do những thay đổi trong apthệ thống. Bạn có thể xác nhận điều này bằng cách thực hiện aptitude search '~b'sau khi sử dụng debfoster(nó sẽ liệt kê các gói bị hỏng).

Lưu ý rằng aptbây giờ hỗ trợ cờ tự động cho các gói phụ thuộc và có apt-get autoremove. Với năng khiếu bạn cũng có thể làm được aptitude remove '~g'.

Cập nhật

Chơi xung quanh với năng khiếu, hóa ra nếu tôi nhấn ?khi tôi nhận được Do you want to continue? [Y/n/?]lời nhắc, tôi nhận được thông báo sau:

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.

Vì vậy, có vẻ như bđược cho là cho một gói bị hỏng. Mặc dù, trong trường hợp của bạn, nó dường như là một lỗi mà nó được hiển thị nếu không có gì bị hỏng. Tôi không thể tạo lại vấn đề, nhưng aptitudetôi cố gắng cài đặt lại các gói tôi loại bỏ apt-getmà không có bất cứ thứ gì trong niềng răng.

Cũng lưu ý rằng aptitude keep-allcó lẽ an toàn hơn là loại bỏ/var/lib/aptitude/pkgstates


ps auxfcho thấy debfoster chỉ gọi apt-get --purge remove pkg1 pkg2 etc., tìm kiếm '~ b' không trả về gì, và lần aptitude installcài đặt lại tiếp theo pgk1 pkg2, v.v.
màu xám hữu hạn 24/03/2016

1
@finitegraygreen, tôi đoán nó không dành cho các gói bị hỏng rồi! Bạn có thể thử sử dụng aptitude whyđể tìm những gì đang xảy ra hoặc chỉ là --show-whytùy chọn.
Graeme

@finitegraygreen, kết luận ở đây là gì? Đã bbị phá vỡ sau khi tất cả hoặc đã aptitude whybật lên một số lý do khác? Tôi chắc chắn rằng tôi sẽ bắt gặp điều này một lần nữa vào một lúc nào đó, sẽ rất vui được biết ...
Graeme

Chà, kết luận là "Những điều này không được ghi nhận." Và tôi đã ngăn chặn sự giao thoa giữa apt-get và aptility bằng cách buộc mất trí nhớ sau đó bằng cách xóa /var/lib/aptitude/pkgstates. Nếu không, tôi vẫn nhận được apt-get remove pkg; aptitude why pkg"Không thể tìm thấy lý do để cài đặt"; aptitude installsau đó cài đặt pkg.
màu xám hữu hạn

@finitegraygreen, hóa ra có một mô tả về ý nghĩa của những điều này. Xem câu trả lời cập nhật.
Graeme

1

Bài đăng này của tác giả năng khiếu giải thích {a}{u}:

  • {a} có nghĩa là gói sẽ được cài đặt bổ sung bên cạnh những gì bạn yêu cầu.
  • {u} có nghĩa là gói không được sử dụng bởi hệ thống và sẽ bị xóa.

Thật không may, nó không giải thích {b}.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.