ฉันจะตั้งค่า Cygwin ให้อัปเดตตัวเองโดยอัตโนมัติได้อย่างไร
ฉันจะให้ Cygwin ดาวน์โหลดแพคเกจโดยไม่ต้องผ่าน GUI ได้อย่างไร
ฉันจะตั้งค่า Cygwin ให้อัปเดตตัวเองโดยอัตโนมัติได้อย่างไร
ฉันจะให้ Cygwin ดาวน์โหลดแพคเกจโดยไม่ต้องผ่าน GUI ได้อย่างไร
คำตอบ:
Cygwin: Unix :: Peaches: Trombone (นั่นคือ GRE ของฉัน)
เนื่องจากการเปลี่ยนแปลงที่น่าทึ่งของ Cygwinฉันจะต้องระมัดระวังอย่างมากหากไม่ได้รับความยินยอม หากคุณกล้าคุณสามารถเรียก cronให้เรียกใช้สคริปต์อัปเดตใด ๆ ที่คุณอาจเลือก
หากคุณกำลังมองหาเอกสารที่setup.exe --quiet-mode
ไม่ถูกต้องสำหรับการดำเนินการแบบอัตโนมัตินั่นก็คือ
ที่มา: หน้า Wiki นี้
โปรแกรมการตั้งค่า Cygwin ได้รับการออกแบบให้มีการโต้ตอบ แต่มีวิธีการต่าง ๆ ในการทำให้เป็นอัตโนมัติ หากคุณกำลังปรับใช้กับหลาย ๆ ระบบวิธีที่ดีที่สุดคือเรียกใช้การติดตั้งแบบเต็มครั้งเดียวโดยบันทึกทรีแพ็กเกจที่ดาวน์โหลดทั้งหมด จากนั้นในระบบเป้าหมายให้รัน setup.exe เป็น "Local Install" ซึ่งชี้ไปที่แผนผังแพ็คเกจที่คุณดาวน์โหลดมา คุณสามารถทำสิ่งนี้แบบไม่โต้ตอบกับตัวเลือกบรรทัดคำสั่ง
setup.exe -q -L -l x:\cygwin-local\
ที่ทรีแพ็คเกจดาวน์โหลดของคุณอยู่x:\cygwin-local\
(ดูคำถามที่พบบ่อยถัดไปสำหรับคำอธิบายของตัวเลือกเหล่านั้น)สำหรับตัวเลือกอื่น ๆ , การค้นหารายชื่อผู้รับจดหมายที่มีข้อตกลงเช่นการตั้งค่าอัตโนมัติ Cygwinหรืออัตโนมัติ Cygwin ติดตั้ง
ฉันพบสถานที่สำคัญบางแห่งที่กล่าวถึงเรื่องนี้:
คุณอาจต้องการใช้งานcygcheck
เช่นกัน
นอกจากนี้: ฉันยังไม่ได้ทดสอบตัวเอง แต่ตอนนี้มีโครงการที่เรียกว่าapt-cyg
ดูเหมือนว่ามันจะทำงานในลักษณะที่คล้ายกับการรับ apt-get ของเดเบียน นี่คือหน้าโครงการ
นี่เป็นวิธีที่ง่ายที่ฉันพบว่าซ้ำการติดตั้งไปยังหลายระบบด้วยแพ็คเกจที่อัพเดตเมื่อเวลาติดตั้ง:
#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 แพ็คเกจที่ระบุควรได้รับการเลือกโดยอัตโนมัติสำหรับการอัพเดต อาจเป็นไปได้ที่จะทำให้กระบวนการนี้เป็นแบบอัตโนมัติโดยใช้เคล็ดลับที่กล่าวถึงข้างต้นและที่นี่ที่นี่
แหล่งที่มา:
นี่คือคำตอบจาก 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
โหมดการตั้งค่าแบบอัตโนมัติ