Tôi đang cố gắng cài đặt gói apt mà không có một trong các phần phụ thuộc của nó (cụ thể là git không có Perl để giảm kích thước hình ảnh Docker xuống> 50 MB).
Tôi có thể nghĩ đến hai lựa chọn:
- cài đặt gói mà không có sự phụ thuộc cụ thể này
- cài đặt gói với tất cả các phụ thuộc và loại bỏ phụ thuộc
sau đó
và tôi đã điều tra cả hai, và không cái nào hiệu quả. Vì vậy, câu hỏi của tôi là: có cách nào sạch sẽ để làm điều đó không?
Dưới đây là những gì tôi đã cố gắng cho đến nay.
1. Cài đặt gói không có phụ thuộc cụ thể này
Phần lớn gợi ý giới thiệu
apt tải xuống git
dpkg --ignore-depends=perl -i git*.deb
Thật không may, điều này không cài đặt các phụ thuộc khác, vì vậy bản sao git
thất bại vì thiếu thư viện
.
Vì vậy, để khắc phục điều đó, một số đề xuất khác khuyên bạn nên sử dụng
cài đặt apt-get -f
sau đó, nhưng lệnh này sẽ cố cài đặt Perl, đây là điều tôi đang cố gắng tránh.
Ok, vì vậy tôi khuyên bạn không nên chạm vào Perl với:
apt-mark giữ perl
nhưng sau đó cài đặt apt-get -f
cố gắng loại bỏ git.
Ok, vì vậy tôi đang bảo hãy để git một mình:
apt-mark giữ git
nhưng sau đó cài đặt apt-get -f
bỏ cuộc, vì nó không thể cài đặt Perl và không thể gỡ cài đặt git. Sự kết thúc của câu chuyện.
2. cài đặt gói với tất cả các phụ thuộc và loại bỏ phụ thuộc
sau đó
Tôi đã cài đặt git với Perl:
cài đặt apt -y git
sau đó loại bỏ Perl với
dpkg -P --force-phụ thuộc perl
nhưng điều này không loại bỏ các phụ thuộc khác do Perl mang lại, vd. perl-mô-đun. Vì vậy, nỗ lực không thành công.