apt-get สำหรับ Cygwin?


127

มีapt-getโปรแกรมที่เหมือนสำหรับใช้กับ Cygwin หรือไม่?

ฉันลองแล้วcyg-aptแต่เมื่อฉันลองฉันได้รับข้อผิดพลาดนี้:

cyg-apt: downloading: http://cygwin.mirrors.pair.com/setup-2.bz2
cyg-apt: downloading: http://cygwin.mirrors.pair.com/setup-2.ini
cyg-apt: bad URL http://cygwin.mirrors.pair.com/setup-2.ini, exiting.

ไฟล์มีอยู่ในที่เก็บซอร์ส
Bruno

เป็นไปได้ไหมที่จะดาวน์โหลดจาก repo อื่นที่ไม่ใช่ cygwin จริงๆแล้วฉันต้องการส่วนหัวของลินุกซ์สำหรับคอมพิวเตอร์ออฟไลน์กับ linux แต่ฉันต้องการดาวน์โหลดบน windows ด้วย apt-get
Alex


2
cyg-aptมีการอัปเดตล่าสุดเมื่อ 5 ปีที่แล้ว โครงสร้างที่เก็บปัจจุบันแตกต่างกัน ดังนั้นมันจะไม่ทำงาน
David Ferenczy Rogožan

2
อย่าสับสนกับcyg-apt apt-cygอย่างหลังดีกว่ามาก (จำไว้ว่าอันที่ฟังดูใกล้เคียงที่สุดapt-getคืออันที่ดี)
Sridhar Sarnobat

คำตอบ:


131

ดีที่สุดที่ฉันเคยใช้:

ตัวจัดการแพ็คเกจ apt-cyg


apt-cyg orks ได้ดีจริงๆ เพิ่งติดตั้ง rsync, openssh, mc และอื่น ๆ
Jako

9
มันสามารถติดตั้งและลบแพ็คเกจได้เท่านั้นใช่หรือไม่? ไม่สามารถอัปเกรดแพ็กเกจเฉพาะหรือแพ็กเกจทั้งหมดเป็นเวอร์ชันใหม่ล่าสุดด้วย apt-cyg ได้ มันดี แต่ก็ไม่มีประโยชน์เพราะฉันต้องใช้การตั้งค่าของ Cygwin ด้วย ฉันจะยินดีถ้าฉันผิด
David Ferenczy Rogožan

1
apt-cyg updateจะอัพเดต setup.ini เป็นต้นหากใครมีปัญหาโดยไม่มีวันที่ setup.ini
nwgat

มีกระจกบ้างไหม?
Danny Lo

2
@CodeMonkey repo กลับมาพร้อมกับคู่แข่ง: Sage
Brian Brownton

91

คุณสามารถทำได้โดยใช้ setup.exe ของ Cygwin จากบรรทัดคำสั่งของ Windows ตัวอย่าง:

cd C:\cygwin64
setup-x86_64 -q -P wget,tar,qawk,bzip2,subversion,vim

สำหรับติดตั้งที่สะดวกมากขึ้นคุณอาจต้องการที่จะใช้ แพคเกจผู้จัดการ apt-CYG ไวยากรณ์คล้ายกับ apt-get ซึ่งเป็นข้อดี สำหรับสิ่งนี้ให้ทำตามขั้นตอนข้างต้นจากนั้นใช้ Cygwin Bash สำหรับขั้นตอนต่อไปนี้:

wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg
install apt-cyg /bin

ตอนนี้apt-cygติดตั้งแล้ว นี่คือตัวอย่างบางส่วนของการติดตั้งแพ็คเกจบางอย่าง:

apt-cyg install nano
apt-cyg install git
apt-cyg install ca-certificates

หลังจากทำขั้นตอนข้างต้น apt-cyg สำหรับ 64 บิตจะให้ข้อยกเว้น / usr / local / bin / apt-cyg: บรรทัดที่ 1: $ '\ r': ไม่พบคำสั่ง / usr / local / bin / apt-cyg: บรรทัดที่ 3: $ '\ r': ไม่พบคำสั่ง / usr / local / bin / apt-cyg: บรรทัดที่ 19: $ '\ r': ไม่พบคำสั่ง / usr / local / bin / apt-cyg: บรรทัดที่ 21: $ '\ r' : ไม่พบคำสั่ง / usr / local / bin / apt-cyg: บรรทัดที่ 27: ข้อผิดพลาดทางไวยากรณ์ใกล้โทเค็นที่ไม่คาดคิด||' 'usr/local/bin/apt-cyg: line 27: || ทดสอบ "- $ GAWK-" = "-"
Shahjahan Khan

@sagunms มันมีเสน่ห์! นี่เป็นปัญหาที่น่ารำคาญจนกว่าฉันจะพบวิธีแก้ปัญหา ขอบคุณ
Yoon Lee

@ Shahjahan Khan: ดูเหมือนว่าคุณทำลายจุดสิ้นสุดของบรรทัดด้วยโปรแกรมแก้ไขข้อความของ Windows ใช้การลงท้ายบรรทัดของ Linux (\ n หรือ LF หรือ 0x0A) ไม่ใช่ Windows (\ r \ n หรือ 0x0D 0x0A หรือ CR LF)
David Ferenczy Rogožan

เฮ้ .. ฉันจะติดตั้ง gcc โดยใช้เครื่องมือนั้นได้อย่างไรสมมติว่าฉันลืมติดตั้งแพ็คเกจ Devel ในขณะที่ติดตั้ง cygwin
Olu Smith

1
ใช้ได้ผลสำหรับฉัน! a
Nick Gallimore

26

อัปเดต:คุณสามารถอ่านคำตอบที่ซับซ้อนมากขึ้นซึ่งมีวิธีการและข้อมูลเพิ่มเติม

มีสคริปต์อยู่สองสามสคริปต์ซึ่งสามารถใช้เป็นตัวจัดการแพ็คเกจอย่างง่าย แต่เท่าที่ฉันทราบไม่มีสิ่งใดที่อนุญาตให้คุณอัปเกรดแพ็คเกจเนื่องจากไม่ใช่เรื่องง่ายบน Windows เนื่องจากไม่มีความเป็นไปได้ที่จะเขียนทับไฟล์ที่ใช้งานอยู่ ดังนั้นคุณต้องปิดอินสแตนซ์ Cygwin ทั้งหมดก่อนจากนั้นคุณจึงสามารถใช้ setup.exe แบบเนทีฟของ Cygwin ได้ (ซึ่งทำการอัปเกรดด้วยวิธี“ แทนที่หลังจากรีบูต” เมื่อไฟล์ถูกใช้งาน)


apt-CYG

สิ่งที่ดีที่สุดสำหรับฉัน เพียงเพราะเป็นหนึ่งในรายการล่าสุด ทำงานได้อย่างถูกต้องสำหรับทั้งสองแพลตฟอร์ม - x86 และ x86_64 มีส้อมจำนวนมากพร้อมคุณสมบัติเพิ่มเติมบางอย่าง ตัวอย่างเช่นส้อม kou1okadaเป็นหนึ่งในเวอร์ชันที่ปรับปรุงแล้ว


setup.exe ของ Cygwin

มันยังมีโหมดบรรทัดคำสั่ง นอกจากนี้ยังช่วยให้คุณสามารถอัพเกรดแพ็คเกจที่ติดตั้งทั้งหมดได้ในครั้งเดียว

setup.exe-x86_64.exe -q --packages=bash,vim

ตัวอย่างการใช้งาน:

setup.exe-x86_64.exe -q --packages="bash,vim"

คุณสามารถสร้างนามแฝงเพื่อให้ใช้งานได้ง่ายขึ้นตัวอย่างเช่น

alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"

จากนั้นคุณสามารถติดตั้งแพ็คเกจVimด้วย:

cyg-get vim


18

คุณสามารถสร้างนามแฝง bash เพื่อติดตั้งไฟล์ * .exe ใน $ home / .bashrc ได้ตลอดเวลา

cygwin 32 บิต

alias cyg-get="/cygdrive/c/cygwin/setup-x86.exe -q -P"

cygwin 64 บิต

alias cyg-get="/cygdrive/c/cygwin64/setup-x86_64.exe -q -P"

ตอนนี้คุณสามารถติดตั้งแพ็คเกจด้วยไฟล์

cyg-get <package>

6

ไม่เครื่องมือเดียวที่ได้รับการสนับสนุนอย่างเป็นทางการสำหรับการดาวน์โหลดและอัปเดตแพ็คเกจ Cygwin คือไฟล์ setup.exe ที่คุณใช้ในการติดตั้งครั้งแรกแม้ว่าจะสามารถเรียกใช้ด้วยอาร์กิวเมนต์บรรทัดคำสั่งเพื่อช่วยในกระบวนการ

จากหน้าเดียวกัน:

เหตุผลพื้นฐานที่ไม่มีตัวจัดการแพ็คเกจที่มีคุณสมบัติครบถ้วนคือโปรแกรมดังกล่าวต้องการการเข้าถึงฟังก์ชัน POSIX ทั้งหมดของ Cygwin อย่างไรก็ตามนั่นเป็นเรื่องยากที่จะจัดเตรียมในสภาพแวดล้อมที่ปราศจาก Cygwin เช่นที่มีอยู่ในการติดตั้งครั้งแรก นอกจากนี้ Windows ไม่อนุญาตให้เขียนทับไฟล์ปฏิบัติการที่ใช้งานได้อย่างง่ายดายดังนั้นการติดตั้ง Cygwin DLL เวอร์ชันใหม่ในขณะที่ตัวจัดการแพ็คเกจกำลังใช้ DLL จึงเป็นปัญหา


1
สิ่งเหล่านี้เป็นรายละเอียดที่ดีเกี่ยวกับสาเหตุที่ไม่สามารถทำได้โดยทั่วไป ควรรวมอยู่ในเอกสาร cyg-get หรือ apt-cyg
oligofren

5

สิ่งนี้ทำให้ฉันได้ผล:

curl https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg > \
apt-cyg && install apt-cyg /bin

1
wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg && install apt-cyg /binเป็นอีกทางเลือกหนึ่งหากไม่มี curl
Alex Telon

1
โปรดจำไว้ว่าrm apt-cygหลังจากนั้น
Alex Telon

-1

คุณสามารถใช้Chocolateyเพื่อติดตั้งcyg-getแล้วติดตั้งแพ็คเกจของคุณด้วย

ตัวอย่างเช่น:

choco install cyg-get

แล้ว:

cyg-get install my-package

1
แต่น่าเสียดายที่การดาวน์โหลดนี้ Cygwin การติดตั้งsetup-x86_64.exeและติดตั้ง Cygwin apt-cygอีกครั้งไม่ได้เป็นเพียง ฉันต้องยกเลิกการติดตั้ง
Metafaniel

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