ฉันจะตั้งค่า Cygwin ให้อัปเดตและดาวน์โหลดโดยอัตโนมัติโดยไม่ใช้ GUI ได้อย่างไร


17

ฉันจะตั้งค่า Cygwin ให้อัปเดตตัวเองโดยอัตโนมัติได้อย่างไร

ฉันจะให้ Cygwin ดาวน์โหลดแพคเกจโดยไม่ต้องผ่าน GUI ได้อย่างไร

cygwin 

1
Cygwin ทำงานบน Windows; อาจเป็นของSU
Michael Mrozek

3
Urgh Cygwin เป็นรุ่นของ Unix

2
ฉันรู้ว่ามีคนจำนวนมากที่จะร้องไห้เมื่อได้ยิน "Cygwin เป็นรุ่นของ Unix" แต่ฉันเดาว่าเราจะไปกับมันด้วย
Michael Mrozek

คำตอบ:


13

Cygwin: Unix :: Peaches: Trombone (นั่นคือ GRE ของฉัน)

เนื่องจากการเปลี่ยนแปลงที่น่าทึ่งของ Cygwinฉันจะต้องระมัดระวังอย่างมากหากไม่ได้รับความยินยอม หากคุณกล้าคุณสามารถเรียก cronให้เรียกใช้สคริปต์อัปเดตใด ๆ ที่คุณอาจเลือก

หากคุณกำลังมองหาเอกสารที่setup.exe --quiet-modeไม่ถูกต้องสำหรับการดำเนินการแบบอัตโนมัตินั่นก็คือ


7

การติดตั้ง Cygwin อัตโนมัติ

ที่มา: หน้า Wiki นี้

โปรแกรมการตั้งค่า Cygwin ได้รับการออกแบบให้มีการโต้ตอบ แต่มีวิธีการต่าง ๆ ในการทำให้เป็นอัตโนมัติ หากคุณกำลังปรับใช้กับหลาย ๆ ระบบวิธีที่ดีที่สุดคือเรียกใช้การติดตั้งแบบเต็มครั้งเดียวโดยบันทึกทรีแพ็กเกจที่ดาวน์โหลดทั้งหมด จากนั้นในระบบเป้าหมายให้รัน setup.exe เป็น "Local Install" ซึ่งชี้ไปที่แผนผังแพ็คเกจที่คุณดาวน์โหลดมา คุณสามารถทำสิ่งนี้แบบไม่โต้ตอบกับตัวเลือกบรรทัดคำสั่งsetup.exe -q -L -l x:\cygwin-local\ที่ทรีแพ็คเกจดาวน์โหลดของคุณอยู่x:\cygwin-local\(ดูคำถามที่พบบ่อยถัดไปสำหรับคำอธิบายของตัวเลือกเหล่านั้น)

สำหรับตัวเลือกอื่น ๆ , การค้นหารายชื่อผู้รับจดหมายที่มีข้อตกลงเช่นการตั้งค่าอัตโนมัติ Cygwinหรืออัตโนมัติ Cygwin ติดตั้ง

ฉันพบสถานที่สำคัญบางแห่งที่กล่าวถึงเรื่องนี้:

  1. รายชื่อผู้รับจดหมาย Cygwin: ตั้งค่าโคลน cygwin-setup จากพีซีเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง
  2. คลังจดหมาย Cygwin: คำถามเกี่ยวกับการสำรองข้อมูล
  3. รายชื่อผู้รับจดหมาย Cygwin: การติดตั้ง Cygwin อัตโนมัติ
  4. รายชื่อผู้รับจดหมาย Cygwin: สามารถคัดลอกทั้งโฟลเดอร์ cygwin ไปยังเครื่องอื่นได้หรือไม่
  5. บล็อกส่วนที่เป็นเกลียว: ติดตั้ง cygwin-packages จาก cmdline

คุณอาจต้องการใช้งานcygcheckเช่นกัน

นอกจากนี้: ฉันยังไม่ได้ทดสอบตัวเอง แต่ตอนนี้มีโครงการที่เรียกว่าapt-cygดูเหมือนว่ามันจะทำงานในลักษณะที่คล้ายกับการรับ apt-get ของเดเบียน นี่คือหน้าโครงการ

คัดลอกแพคเกจ Cygwin ไปยังระบบใหม่

นี่เป็นวิธีที่ง่ายที่ฉันพบว่าซ้ำการติดตั้งไปยังหลายระบบด้วยแพ็คเกจที่อัพเดตเมื่อเวลาติดตั้ง:

#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

ตอนนี้เพียงคัดลอกไฟล์นี้ไปยังเครื่องใหม่ในC:\cygwin\etc\setup\installed.dbและเรียกใช้โปรแกรมติดตั้ง Setup.exe แพ็คเกจที่ระบุควรได้รับการเลือกโดยอัตโนมัติสำหรับการอัพเดต อาจเป็นไปได้ที่จะทำให้กระบวนการนี้เป็นแบบอัตโนมัติโดยใช้เคล็ดลับที่กล่าวถึงข้างต้นและที่นี่ที่นี่

แหล่งที่มา:

  1. รายชื่อผู้รับจดหมาย Cygwin
  2. ข้อมูลโค้ดบน Snipplr: สคริปต์ Sed
  3. บล็อกโพสต์: ติดตั้ง cygwin-packages จาก cmdline
  4. คลังจดหมาย Cygwin: คำถามเกี่ยวกับการสำรองข้อมูล

3

นี่คือคำตอบจาก superuser เกี่ยวกับการทำการปรับปรุงแบบอัตโนมัติ:

cd C:\cygwin
wget -N http://cygwin.com/setup.exe
setup.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode

คุณควรรีบู๊ตหลังจากการอัพเกรดเสร็จสิ้นเพื่อป้องกันไม่ให้แอป cygwin ทำงานผิดปกติเนื่องจากการอัพเกรด cygwin1.dll

--no-desktop ปิดใช้งานการสร้างทางลัดบนเดสก์ท็อป

--no-shortcuts ปิดใช้งานการสร้างเดสก์ท็อปและเมนูเริ่ม

--no-startmenu ปิดใช้งานการสร้างทางลัดเมนูเริ่ม

--quiet-mode โหมดการตั้งค่าแบบอัตโนมัติ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.