Điểm:0

Buster => Nâng cấp Bullseye: Không cài đặt các gói không mong muốn

lá cờ cn

Tôi đang trong quá trình nâng cấp lên Debian Bullseye. Khi làm nâng cấp đầy đủ apt Tôi thấy rằng apache2 sắp được cài đặt. Tôi không muốn apache trên hệ thống của mình, tôi đã chạy nginx.

Làm thế nào tôi có thể ngăn chặn điều này?

Có an toàn để làm không dấu apt giữ apache2, dấu apt giữ apache2-bin, v.v. và sau đó thực hiện nâng cấp?


Cập nhật:

Được rồi, từ Ghi chú phát hành Bullseye, tôi biết được rằng "Bạn nên xóa mọi khoản giữ trước khi nâng cấp."

Và khi tôi làm apt -o Debug::pkgDepCache::AutoInstall=1 -sV nâng cấp đầy đủ Tôi nhận được như sau:

[…]
Cài đặt php7.4 như Hằngt ab von của php
Đang cài đặt libapache2-mod-php7.4 như Hằngt ab von của php7.4
  Cài đặt php7.4-cli như Hängt ab von của libapache2-mod-php7.4
    Cài đặt php7.4-json như Hằngt ab von của php7.4-cli
    Cài đặt php7.4-opcache như Hängt ab von của php7.4-cli
    Cài đặt php7.4-readline như Hängt ab von của php7.4-cli
  Đang cài đặt [b]apache2-bin[/b] với tên Hängt ab von của [b]libapache2-mod-php7.4[/b]
    Cài đặt libapr1 như Hằngt ab von của apache2-bin
    Cài đặt libaprutil1 như Hangt ab von của apache2-bin
    Cài đặt libaprutil1-dbd-sqlite3 dưới dạng Hangt ab von của apache2-bin
    Cài đặt libaprutil1-ldap như Hằngt ab von của apache2-bin
    Cài đặt libjansson4 như Hằngt ab von của apache2-bin
  Cài đặt [b]apache2 làm Empfiehlt của libapache2-mod-php7.4[/b]
    Cài đặt apache2-data như Hằngt ab von của apache2
    Cài đặt apache2-utils như Hằngt ab von của apache2
    […]

(xin lỗi vì đoạn tiếng Đức ngu ngốc, "Hängt ab von" có nghĩa là phụ thuộc, "Empfiehlt" có nghĩa là khuyến nghị)

Khi tôi thêm --no-install-recommends, nó sẽ cho:

Cài đặt php7.4 như Hằngt ab von của php
    Đang cài đặt libapache2-mod-php7.4 như Hằngt ab von của php7.4
      Cài đặt php7.4-cli như Hängt ab von của libapache2-mod-php7.4
        Cài đặt php7.4-json như Hằngt ab von của php7.4-cli
        Cài đặt php7.4-opcache như Hängt ab von của php7.4-cli
        Cài đặt php7.4-readline như Hängt ab von của php7.4-cli
      Cài đặt apache2-bin dưới dạng Hängt ab von của libapache2-mod-php7.4
        Cài đặt libapr1 như Hằngt ab von của apache2-bin
        Cài đặt libaprutil1 như Hangt ab von của apache2-bin
        Cài đặt libaprutil1-dbd-sqlite3 dưới dạng Hangt ab von của apache2-bin
        Cài đặt libaprutil1-ldap như Hằngt ab von của apache2-bin
        Cài đặt libjansson4 như Hằngt ab von của apache2-bin

Vì vậy, thêm --no-install-recommends, tôi có thể sống với điều đó, chỉ có gói apache2-bin nằm ở đó. Nhưng làm thế quái nào mà php(7.4) có thể đề nghị cài đặt apache đầy đủ trong khi đã có nginx trên hệ thống??? (nginx đã được cài đặt thông qua repo tiêu chuẩn và sẽ được cập nhật khi thực hiện nâng cấp đầy đủ)

A.B avatar
lá cờ cl
A.B
Nginx có phải là một trong 3 gói Debian sau không: [nginx](https://packages.debian.org/buster/nginx), hoặc được cài đặt bằng cách sử dụng kho lưu trữ Debian không chính thức (ví dụ: từ thượng nguồn), hoặc được cài đặt mà không sử dụng gói của Debian hệ thống gì cả? Tất cả điều này có thể quan trọng đối với việc nâng cấp dist.
archygriswald avatar
lá cờ cn
@ A.B cảm ơn vì đã xem xét nó; Tôi đã cài đặt nginx bình thường thông qua repo tiêu chuẩn (xem bản cập nhật của tôi ở trên)
A.B avatar
lá cờ cl
A.B
gợi ý về ngôn ngữ: `export LANG=C.UTF-8` trước lệnh cắt/dán trên Stackexchange. Giới thiệu về apache: có `libapache2-mod-php7.4` có thể được kéo bởi `libapache2-mod-php` và ai biết được cái gì khác kéo `libapache2-mod-php`. bạn có thể chỉ định thứ gì đó như `apache2-bin-` hoặc `libapache2-mod-php-` hoặc cả hai (hoặc nhiều hơn nữa. Lưu ý dấu trừ được thêm vào cuối tên gói) làm mục nhập bổ sung sau `full-upgrade` và trình giải quyết thay vào đó, bạn nên chọn một thứ khác hoặc chỉ phàn nàn về một xung đột có thể giúp bạn hơn nữa. Dù sao tôi không có ý tưởng gì thêm.
archygriswald avatar
lá cờ cn
@A.B đã tìm ra giải pháp nhờ sự giúp đỡ của bạn, Cảm ơn bạn rất nhiều!!!
Điểm:2
lá cờ cn

Nâng cấp thành công!

Bây giờ tôi đang ở ngày 11.3, nginx & php7.4 đang chạy và không có một gói apache nào trên hệ thống của tôi. Nó là đủ để

apt nâng cấp đầy đủ libapache2-mod-php7.4-

Giải trình:

Như người ta có thể thấy trên https://packages.debian.org/bullseye/php7.4, một phụ thuộc của php7.4 là libapache2-mod-php7.4 HOẶC php7.4-fpm. Và php-fpm đã có trên hệ thống của tôi trước đây và nó sẽ được cập nhật ngay bây giờ. Vì vậy, tôi có thể loại trừ libapache2-mod-php7.4 khỏi bản nâng cấp (bằng cách thêm "dấu trừ" ở cuối) và các phụ thuộc cho php7.4 vẫn được đáp ứng. Và bằng cách này, tôi có thể tránh apt kéo toàn bộ máy chủ apache vào hệ thống của mình.

Cảm ơn tất cả đã xem xét vấn đề của tôi. Đặc biệt @A.B cảm ơn bạn rất nhiều, gợi ý của bạn với libapache2-mod-php- là chìa khóa của giải pháp!!!

archygriswald avatar
lá cờ cn
CẢNH BÁO cho người khác: Giải pháp này hoạt động trong trường hợp của tôi, nhưng người đàn ông apt nói về dấu trừ được thêm vào sau tên gói: "install, remove, purge (apt-get(8)) - Thực hiện hành động được yêu cầu trên một hoặc nhiều gói được chỉ định thông qua regex(7), glob(7) hoặc khớp chính xác. Hành động được yêu cầu có thể được ghi đè cho các gói cụ thể bằng cách nối thêm dấu cộng (+) vào tên gói để cài đặt gói này hoặc dấu trừ (-) để xóa gói đó." Vì vậy, hãy cẩn thận để không xóa các gói mà bạn vẫn cần.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.