Làm cách nào tôi có thể buộc apt để tối ưu hóa cây phụ thuộc cho kích thước tải xuống tối thiểu?


10

Một số thông tin cơ bản :

Như bạn có thể biết, trong gói Debian, có thể có các phụ thuộc thay thế, được ghi trong tệp KIỂM SOÁT như Depends: apache2|something-else, chẳng hạn. Làm cách nào để aptchọn phụ thuộc nào để chọn và làm cách nào tôi có thể ghi đè lên điều này để tôi có thể giảm thiểu kích thước tải xuống?

Tôi đang kết nối chậm trên một số vị trí và cần nó để sử dụng tổng kích thước tải xuống nhỏ nhất. Làm thế nào tôi có thể buộc nó làm như vậy?

Chỉnh sửa: Tôi không hỏi về việc bỏ qua đề xuất.

Chỉnh sửa 2: Tôi không hỏi về việc bỏ qua các phụ thuộc. Tôi đang cố gắng để có được tất cả các phụ thuộc, chỉ trong tổng kích thước nhỏ nhất, đặc biệt là lưu ý và vượt qua các package1|package2lựa chọn.

Chỉnh sửa 3: Một grepkịch bản shell hoặc chấp nhận được.

Thật không may, vì các câu trả lời hiện tại không thực sự trả lời câu hỏi, họ thực sự không thể nhận được tiền thưởng. Vẫn còn đó cho một người sẵn sàng viết một kịch bản bash!

Chỉnh sửa 4: Mặc dù tiền thưởng đã được trao cho một câu trả lời hay mà tôi khuyến khích bạn nâng cao, tôi vẫn đang tìm kiếm một câu trả lời cụ thể hơn . Nếu nó cũng xử lý một cách tao nhã các gói ảo được cung cấp bởi một hoặc nhiều gói, thì tôi có thể sẽ đưa ra một tiền thưởng sau thực tế khác để trao giải cho câu trả lời đó .

Câu trả lời:


3

Bạn luôn có thể có danh sách apt tất cả các phụ thuộc sau đó bằng tay bạn có thể cài đặt các gói mà bạn muốn cài đặt nhưng tôi đã tìm kiếm các trang man và một số diễn đàn nhưng tôi không thể trả lời câu hỏi chính xác của bạn ngoài việc viết lại nguồn thành apt đó là cách openource dù sao đi nữa


Điều này có thể giúp nhưng tôi sẽ cần một cái gì đó cụ thể hơn thế. Hãy thử làm sáng tỏ bài đăng của bạn với nhiều chi tiết hơn hoặc tập lệnh shell trong khi bạn đang ở đó và chào mừng bạn đến hỏi Ubuntu!.
nanofarad

1
@ ObsessiveSSOℲ Thành thật tôi không có thời gian, tuy nhiên nếu bạn muốn làm điều đó thì lệnh này: VAR = $ (apt-cache show gedit | grep "Size" | grep -Ev 'I' | sed 's / Size: // g ') sẽ giúp bạn có kích thước gói mà bạn có thể sử dụng để so sánh với các giá trị trong một mảng được điền bằng lệnh này. Xin lỗi tôi không thể giúp nhiều hơn.
David

Nếu không có gì tốt hơn, bạn thực sự là người chiến thắng trong số tiền thưởng này.
nanofarad

@ ObsessiveSSOℲ bạn có thể đưa ra một ví dụ về gói có phụ thuộc thay thế
David

Một cái gì đó đơn giản như wordpress, bao gồm apache2|httpd. Cũng lưu ý rằng đó httpdlà một gói ảo. Tôi cũng sẽ cung cấp cho bạn tiền thưởng. Mặc dù vậy, tôi sẽ không chấp nhận.
nanofarad

1

Theo tôi biết, không có cách nào để tối ưu hóa điều đó. Hầu hết mọi thứ đã được nén rất nhiều, vì vậy bạn không tải xuống gần như toàn bộ kích thước tệp. (Lần tới khi bạn cài đặt gói, hãy xem sự khác biệt giữa lượng dữ liệu sẽ được tải xuống và tổng dung lượng ổ cứng sẽ được sử dụng.)

Nếu bạn biết những gì bạn đang làm, (ví dụ, bạn đã cài đặt foo, nhưng nó nói rằng bạn cần cài đặt lại nó,) và muốn tắt tất cả các phụ thuộc khi bạn cài đặt một tệp, thêm cờ --no-install-recommends.
Một số câu trả lời cho câu hỏi này giải thích cách cài đặt các gói cụ thể mà không phụ thuộc. Họ đã che đậy nó sâu hơn một chút so với tôi, vì vậy nếu bạn vẫn gặp sự cố hoặc câu trả lời của tôi không giải quyết được vấn đề của bạn, tôi khuyên bạn nên xem qua chủ đề đó.


-2

Tôi nghĩ rằng bạn đang nhầm lẫn làm thế nào phụ thuộc làm việc. Nếu một cái gì đó phụ thuộc- thì theo định nghĩa nó là cần thiết. Tôi cho rằng những gì bạn có thể làm là tìm ra chính xác các tệp từ phụ thuộc mà ứng dụng bạn muốn sử dụng ... và xóa mọi thứ mà nó không gọi .. nhưng có vẻ như rất nhiều công việc cho một vài megabyte ..

Có vẻ như bạn đang yêu cầu một chiếc xe vẫn lái thiếu bánh xe thứ 4 (giả sử 'phía sau bên trái', vì lợi ích của phép ẩn dụ này), để tiết kiệm trọng lượng. Tại một số điểm bạn sẽ cần phải rẽ phải. Chiếc xe vẫn sẽ lăn bánh, nhưng chỉ với một số chức năng nhất định ... bằng cách không cài đặt 'Khuyến nghị' tôi nghĩ rằng bạn sẽ đi càng nhẹ càng an toàn mà không cần phải đi sâu vào phát triển.


6
Bạn thực sự không hiểu câu hỏi. Anh ấy biết sự phụ thuộc. Nhưng bạn nên biết rằng, có thể có hai gói thỏa mãn cùng một phụ thuộc. trong trường hợp đó, anh ta muốn cái nhỏ hơn
Anwar

IMO thật không may là những câu trả lời này phải chịu đựng downvote. Chúng là những câu trả lời hay và tôi hy vọng không ai nản lòng. Chỉ cần chắc chắn rằng bạn trả lời câu hỏi.
nanofarad

@as ty để làm rõ và thông báo. :) (tôi không
bận

Tôi đã không đánh giá thấp bạn trước, chỉ giải thích vấn đề. Nhưng bây giờ, tôi đã đưa ra, vì câu trả lời không giải quyết được vấn đề @ ObsessiveSSOℲ đã nói trong câu hỏi của anh ấy
Anwar
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.