Làm cách nào tôi có thể thiết lập Cygwin để tự động cập nhật?
Làm cách nào tôi có thể khiến Cygwin tải xuống một gói mà không phải thông qua điều GUI?
Làm cách nào tôi có thể thiết lập Cygwin để tự động cập nhật?
Làm cách nào tôi có thể khiến Cygwin tải xuống một gói mà không phải thông qua điều GUI?
Câu trả lời:
Cygwin: Unix :: Peaches: Trombone (đó là trên GRE của tôi;)
Cho rằng Cygwin có thể thay đổi kịch tính như thế nào , tôi thực sự cảnh giác khi thực hiện nó mà không có sự đồng ý rõ ràng của tôi. Nếu bạn táo bạo, bạn có thể gọi cron để chạy bất kỳ tập lệnh cập nhật nào bạn có thể chọn.
Nếu bạn đang tìm kiếm tài liệu xấu setup.exe --quiet-mode
cho hoạt động không giám sát, thì có nó.
Nguồn: Trang Wiki này
Chương trình Thiết lập Cygwin được thiết kế để tương tác, nhưng có một vài cách khác nhau để tự động hóa nó. Nếu bạn đang triển khai cho nhiều hệ thống, cách tốt nhất là chạy qua cài đặt đầy đủ một lần, lưu toàn bộ cây gói đã tải xuống. Sau đó, trên các hệ thống đích, hãy chạy setup.exe dưới dạng "Cài đặt cục bộ" chỉ vào cây gói đã tải xuống của bạn. Bạn có thể thực hiện việc này không tương tác với các tùy chọn dòng lệnh
setup.exe -q -L -l x:\cygwin-local\
, trong đó cây gói đã tải xuống của bạnx:\cygwin-local\
(xem Câu hỏi thường gặp tiếp theo để được giải thích về các tùy chọn đó.)Đối với các tùy chọn khác, tìm kiếm danh sách gửi thư với các thuật ngữ như cài đặt tự động cygwin hoặc cài đặt cygwin tự động .
Tôi đã tìm thấy một số vị trí quan trọng nơi điều này được thảo luận:
Bạn có thể muốn xem xét sử dụng cygcheck
là tốt.
Ngoài ra: Tôi đã không tự mình kiểm tra điều này, nhưng hiện tại có một dự án được gọi là apt-cyg
có vẻ như nó hoạt động theo cách tương tự như apt-get của debian. Đây là trang dự án
Đây là một cách dễ dàng mà tôi đã tìm thấy để sao chép cài đặt cho nhiều hệ thống với các gói được cập nhật khi cài đặt:
#Save some copies of the /etc/setup/installed.db file
cp /etc/setup/installed.db ~/installed.db.bak
cp /etc/setup/installed.db ~/installed.db
#Create a sed script to zero version numbers
cat > ~/zero-version-nums.sed<<-'EOM'
s/-[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0.0.0-0.tar/
s/-[0-9]\+\.[0-9]\+-[0-9]\.[0-9a-zA-Z]\+\.tar/-0.0-0.0.tar/
s/-[0-9]\+\.[0-9]\+\.[0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0.0-0.tar/
s/-[0-9]\+\.[_+0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0-0.tar/
s/-[0-9a-zA-Z]\+-[0-9]\+\.tar/-0-0.tar/
s/-[0-9]\+\.tar/-0.tar/
EOM
# Change all version numbers to 0 (run sed script)
sed -i -f ~/zero-version-nums.sed ~/installed.db
Bây giờ chỉ cần sao chép tệp này vào máy mới C:\cygwin\etc\setup\installed.db
và chạy trình cài đặt Setup.exe. Các gói được liệt kê nên được tự động chọn để cập nhật. Có thể tự động hóa quá trình này bằng các mẹo tôi đã đề cập ở trên và ở đây .
Nguồn:
Đây là câu trả lời từ superuser về việc thực hiện cập nhật không giám sát:
cd C:\cygwin
wget -N http://cygwin.com/setup.exe
setup.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode
Bạn nên khởi động lại sau khi hoàn thành nâng cấp để ngăn các ứng dụng cygwin hoạt động sai do nâng cấp cygwin1.dll
--no-desktop
Vô hiệu hóa việc tạo lối tắt trên màn hình
--no-shortcuts
Vô hiệu hóa việc tạo máy tính để bàn và menu bắt đầu
--no-startmenu
Vô hiệu hóa việc tạo phím tắt menu bắt đầu
--quiet-mode
Chế độ thiết lập không giám sát