Quản lý gói Cygwin


16

Trong Cygwin, làm thế nào để tôi:

  • Liệt kê tất cả các gói đã cài đặt
  • Liệt kê các tập tin thuộc một gói
  • Cho biết tập tin thuộc về gói nào
  • Cài đặt gói mới
  • Gỡ cài đặt gói
  • Nhận thông tin về gói đã cài đặt (deps, phiên bản, v.v.)
cygwin 

Câu trả lời:


23

Liệt kê tất cả các gói đã cài đặt

cygcheck --check-setup --dump-only
  • không có --dump-onlylệnh sẽ mất vài phút để hoàn thành vì nó sẽ KIỂM TRA tất cả các gói. Bạn sẽ thấy OK cho mỗi gói nếu mọi thứ đều ổn;)

Liệt kê các tập tin thuộc một gói

Đối với gói bashlàm:

cygcheck --list-package bash
  • nó chỉ hoạt động cho các gói được cài đặt

Cho biết gói nào thuộc về:

Đối với tập tin /usr/bin/bash.exe

cygcheck --find-package /usr/bin/bash.exe
  • nó chỉ hoạt động cho các gói được cài đặt

Cài đặt gói mới

Xem xét bạn đã chạy GUI thiết lập và có (các) nhân bản hợp lệ, thư mục gói cục bộ và các tùy chọn khác được đặt, bạn có thể chạy để cài đặt abook:

/path/to/setup-1.7.exe --quiet-mode --download --local-install --packages abook
  • nó cũng sẽ tự động cập nhật tất cả các gói đã cài đặt của bạn lên phiên bản mới nhất hiện có
  • bạn cũng có thể chọn máy nhân bản và các tùy chọn khác trong dòng lệnh, xem /path/to/setup-1.7.exe --help
  • Tôi biết phiên bản mới của cygwin 1.7 (phiên bản beta, nhưng khá ổn định) hiện đang sử dụng thiết lập 2.649 hỗ trợ các tùy chọn này, nhưng tôi đã không thử nghiệm trên 1.6

Gỡ cài đặt gói

Theo tôi biết, chỉ có GUI hỗ trợ tùy chọn này.

Nhận thông tin về gói đã cài đặt (deps, phiên bản, v.v.)

Phiên bản được liệt kê cùng với mỗi gói trên danh sách (mục đầu tiên). Deps thực sự khó tìm: khi thiết lập chạy, nó sẽ tạo trên thư mục gói cục bộ một mục nhập cho mỗi máy nhân bản. Ở đó, bạn có thể tìm thấy danh sách tất cả các gói có sẵn trên máy nhân bản đó (setup.ini cho phiên bản 1.6 và setup-2.ini cho phiên bản 1.7) với tên gói đứng trước a @và dep trước đó requires:. Nếu vì bất kỳ lý do nào, máy nhân bản bạn đang sử dụng đã lỗi thời, thiết lập sẽ hiển thị thông báo cảnh báo khi tải xuống thông tin.


Ít nhất là từ phiên bản 2.8, cũng có tùy chọn -x --remove-gói để loại bỏ các gói thông qua dòng lệnh.
Howler

@Howler apt-cyg removehoạt động, nhưng trước tiên bạn cần công cụ này, xem câu trả lời của @ kevin.
dùng3123159

apt-cyg install packageĐể cài đặt.
dùng3123159

3

Chạy setup.exe. Nó sẽ cung cấp cho bạn một GUI với các hộp kiểm cho các gói khác nhau.


5
IMO đây là thất bại chính của cygwins. Chúng tôi cần một người quản lý gói thực sự!
Joseph Kern

1
Tôi thấy một số bài viết trên maillist. Ai đó đang làm việc trên một apt tương đương với cygwin. Nó có thể xuất hiện như một phần của 1.7
Zoredache

@Joseph: nghe thật tuyệt. Cảm ơn vì đã cho chúng tôi biết.
Sinh ra để đi xe

Trình quản lý gói thực sự là không thể, vì không thể ghi đè lên các tệp đang sử dụng trên Windows. Bạn phải đóng Cygwin trước khi thực hiện nâng cấp và sau đó bạn có thể sử dụng trình quản lý gói bên ngoài (Cygwin's setup.exe). Trình quản lý gói hoàn chỉnh nhất là apt-cyg , tôi không nghĩ, sẽ có gì tốt hơn.
Dawid Ferenczy Rogožan

3

Tôi đã tìm thấy apt-cyg hữu ích cho việc cài đặt các gói dòng lệnh mà không cập nhật tất cả các gói khác của tôi nhưng nó không phải là tất cả mọi thứ bạn cần làm.


Không có tương đương với apt show, apt policyhoặc apt searchtrong ubuntu.
dùng3123159


0

Cho phép tôi giới thiệu bạn với Câu hỏi thường gặp về Cygwin

  • Danh sách được cài đặt
  • Làm cách nào để gỡ cài đặt các gói riêng lẻ
  • Làm cách nào để gỡ cài đặt các gói riêng lẻ
  • Nhận thông tin về một gói cài đặt

Chạy cài đặt Cygwin

  • Liệt kê các tập tin thuộc một gói
  • Cho biết tập tin thuộc về gói nào

Tìm kiếm tại http://cygwin.com/packages/


0

Bây giờ cũng có thể gỡ cài đặt các gói:

/path/to/setup.exe -x yourpackagename
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.