Tôi đã thấy điều này: Loại bỏ các phụ thuộc không cần thiết khỏi Cygwin ... nhưng có vẻ như tập lệnh đó chỉ đề xuất xác định các gói mà không có gói nào khác phụ thuộc: làm cho nó trở thành một tập lệnh rất thông minh, nhưng có lẽ không hoàn toàn là tất cả những gì bạn cần ... và (có vẻ như đối với tôi) sau đó sẽ liên quan đến việc loại bỏ các gói thủ công, có thể trong một số giai đoạn (vì mỗi lần xóa có thể tiết lộ thêm các gói cần gỡ bỏ). Ngoài ra, tôi chỉ muốn biết liệu một giải pháp thanh lịch hơn có tồn tại trong Cygwin hay không.
Tôi đã phạm sai lầm khi không sao chép thư mục Cygwin trước khi cài đặt make
. Tôi chỉ cài đặt nó vì một thử nghiệm cụ thể nhỏ mà tôi muốn làm.
make
tất nhiên dẫn đến toàn bộ ngôn ngữ C được cài đặt ... tăng kích thước thiết lập Cygwin của tôi thêm 1,5 GB!
Gỡ cài đặt make
(bất ngờ!) Chỉ gỡ cài đặt anh đào trên đỉnh núi kem bên dưới. Tôi nhận ra rằng việc gỡ cài đặt mọi phụ thuộc cần thiết make
sẽ không nghi ngờ gì sẽ phá vỡ mọi thứ tôi cần ... nhưng liệu có khả năng Cygwin giữ một số "nhật ký" về những gì đã được cài đặt, khi nào và thậm chí có thể tại sao ...? Và sau đó có một số cơ chế để hoàn tác một hành động cài đặt gần đây?
một lát sau
Sau tiết lộ hữu ích của David Posthill rằng có một bản ghi điều này không may tiết lộ thêm sự phức tạp phụ thuộc: xác định chính xác những gì phải được loại bỏ.
Những gì người ta thực sự cần là một tiện ích để tạo ra một DAG của các phụ thuộc được cài đặt, có lẽ được kết hợp với một niên đại của những gì đã được cài đặt khi nào và tại sao ... và một tiện ích để thực hiện tất cả công việc kiểm tra và loại bỏ!
Điều này hơi gây ngạc nhiên cho tôi bởi vì, hãy sửa cho tôi nếu tôi sai, các nhà quản lý gói Linux thực sự có khả năng làm điều này: bạn cài đặt gói cấp cao ... và khi bạn gỡ cài đặt, nó cũng loại bỏ tất cả các phụ thuộc mà ' Trước đây và không cần thiết cho bất kỳ gói cài đặt nào sau đó ... Có vẻ như không có cơ chế nào như vậy tồn tại cho Cygwin.
/var/log/setup.log
và/var/log/setup.log.full
(nhỏ hơn sosetup.log
với một số lý do)