Apakah ada alat dalam paket Cygwin mirip dengan apt-get
di Debian atau yum
di redhat yang memungkinkan saya untuk menginstal komponen dari baris perintah?
command-line
cygwin
ay32
sumber
sumber
Jawaban:
Tidak ada alat khusus di penginstal 'setup.exe' yang menawarkan fungsionalitas apt-get. Namun, ada penginstal paket baris-perintah untuk Cygwin yang dapat diunduh secara terpisah, tetapi tidak sepenuhnya stabil dan bergantung pada solusi.
apt-cyg: http://github.com/transcode-open/apt-cyg
Periksa tab masalah untuk proyek untuk melihat masalah yang diketahui.
sumber
setup-x86.exe -q -P packagename1,packagename2
. Tidak semewahapt-get
atau bahkanapt-cyg
tetapi itu berhasil dalam banyak kasus. Dan Anda juga dapat menjalankan ini daricmd.exe
(setelah menutup Cygwin).Setup Cygwin menerima argumen baris perintah untuk menginstal paket dari baris perintah.
mis.
setup-x86.exe -q -P packagename1,packagename2
untuk menginstal paket tanpa interaksi GUI ('mode pengaturan tanpa pengawasan').(Perhatikan bahwa Anda perlu menggunakan
setup-x86.exe
atausetup-x86_64.exe
jika perlu.)Lihat http://cygwin.com/packages/ untuk daftar paket.
sumber
setup-x86_64 --packages="openssh,python"
Untuk penginstal yang lebih nyaman, Anda mungkin ingin menggunakan
apt-cyg
sebagai manajer paket Anda. Sintaksnya mirip denganapt-get
, yang merupakan nilai tambah. Untuk ini, ikuti langkah-langkah di atas dan kemudian gunakan Cygwin Bash untuk langkah-langkah berikutSekarang
apt-cyg
sudah terpasang. Berikut adalah beberapa contoh menginstal beberapa paketsumber
wget
dan unduhanapt-cyg
tanpa masalah. Kapan 404 muncul?Ada beberapa skrip, yang dapat digunakan sebagai manajer paket sederhana untuk Cygwin. Tapi penting untuk diketahui, bahwa mereka akan selalu sangat terbatas , karena ... ehm ... Windows.
Menginstal atau menghapus paket tidak masalah, setiap manajer paket untuk Cygwin dapat melakukannya. Tetapi memperbarui itu menyusahkan karena Windows tidak memungkinkan Anda untuk menimpa executable, yang saat ini sedang berjalan. Jadi, Anda tidak dapat memperbarui mis. Cygwin DLL atau paket apa pun yang berisi executable yang sedang berjalan dari Cygwin itu sendiri. Ada juga catatan ini di halaman Instalasi Cygwin :
Setup Cygwin menggunakan registri Windows untuk menimpa executable yang sedang digunakan dan metode ini membutuhkan reboot Windows . Oleh karena itu, lebih baik untuk menutup semua proses Cygwin sebelum memperbarui paket , jadi Anda tidak perlu me-reboot komputer Anda untuk benar-benar menerapkan perubahan. Instalasi paket baru harus sepenuhnya tanpa gangguan. Saya tidak berpikir satu pun dari manajer paket kecuali Cygwin
setup.exe
mengimplementasikan metode apa pun untuk menimpa file yang digunakan, jadi itu hanya akan gagal jika tidak bisa menimpa mereka.Beberapa manajer paket untuk Cygwin:
apt-cyg
Pembaruan : repositori dinonaktifkan baru-baru ini karena masalah hak cipta ( penghapusan DMCA ). Ini terlihat seperti pemilik repositori mengeluarkan pencopotan DMCA pada sendiri repositori dan menciptakan sebuah proyek baru yang disebut Sage (lihat di bawah).
Yang terbaik untukku. Hanya karena itu salah satu yang terbaru. Itu tidak menggunakan Cygwin
setup.exe
, melainkan mengimplementasikan kembali, apasetup.exe
. Ini berfungsi dengan baik untuk kedua platform - x86 dan juga x86_64 . Ada banyak garpu dengan fitur tambahan yang kurang lebih. Misalnya, garpu kou1okada adalah salah satu versi yang disempurnakan , yang benar-benar hebat.apt-cyg hanyalah skrip shell, tidak ada instalasi. Cukup unduh (atau gandakan repositori), buat itu dapat dieksekusi dan salin ke suatu tempat ke PATH:
Ada juga banyak garpu dengan fitur berbeda.
Sage
Manajer paket lain diimplementasikan sebagai skrip shell. Saya tidak mencobanya tetapi sebenarnya terlihat bagus.
Itu dapat mencari paket dalam repositori, daftar paket dalam kategori, memeriksa dependensi, daftar file paket, dan banyak lagi. Ini memiliki fitur yang tidak dimiliki manajer paket lain.
cyg-apt
Garpu asli yang ditinggalkan
cyg-aptdengan perbaikan dan perbaikan bug. Ini memiliki banyak fitur dan diimplementasikan dalam Python. Instalasi dibuat menggunakanmake
.Cyg-get Chocolatey
Jika Anda menggunakan Chocolatey untuk menginstal Cygwin, Anda dapat menginstal paket cyg-get , yang sebenarnya merupakan pembungkus sederhana seputar Cygwin yang
setup.exe
ditulis dalam PowerShell.Setup.exe Cygwin
Ini juga memiliki mode baris perintah . Selain itu, ini memungkinkan Anda untuk memutakhirkan semua paket yang diinstal sekaligus (seperti
apt-get upgrade
halnya pada Linux berbasis Debian).Contoh penggunaan:
Anda dapat membuat alias untuk penggunaan yang lebih mudah, misalnya:
alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"
Maka Anda dapat, misalnya, menginstal paket Vim dengan:
cyg-get vim
sumber
sage
adalah pertandaapt-cyg
oleh kontributor paling aktif selama satu atau dua tahun terakhir (Steven Penny). Tampaknya awal tahun ini dia memiliki beberapa ketidaksepakatan denganapt-cyg
penulis asli (Stephen Jungels) dan mengeluarkan penghentian DMCA ketika dia melakukan forked pada proyek tersebut. Karena Jungels (alias Transcode) diverifikasi sebagai penulis asli proyek, GitHub memulihkan proyek asli segera setelah itu. Saat ini, kedua proyek tersedia - meskipun proyek asli belum memiliki pembaruan kode baru sejak pemisahan. Ini situasi yang berantakan, sungguh.Pertama, unduh pemasang di: https://cygwin.com/setup-x86_64.exe (Windows 64bit), lalu:
misalnya
sumber
Saya ingin solusi untuk ini mirip
apt-get --print-uris
, tetapi sayangnya apt-cyg tidak melakukan ini. Berikut ini adalah solusi yang memungkinkan saya untuk mengunduh hanya paket yang saya butuhkan, dengan dependensinya, dan menyalinnya ke target untuk instalasi. Berikut ini adalah skrip bash yang mem-parsing outputapt-cyg
menjadi daftar URI:Hal di atas akan mencetak jalur paket yang perlu diunduh, relatif terhadap cygwin mirror root, menghilangkan paket apa pun yang sudah diinstal. Untuk mengunduhnya, saya menulis output ke file
cygwin-packages-list
dan kemudian menggunakan wget:Penginstal kemudian dapat digunakan untuk menginstal dari direktori cache lokal. Perhatikan bahwa agar ini berfungsi, saya perlu menyalin
setup.ini
dari cache paket cygwin sebelumnya ke direktori dengan file yang diunduh (jika installer tidak tahu apa apa).sumber
Pertanyaan lama, tetapi masih relevan. Inilah yang bekerja untuk saya hari ini (26/6/16).
Dari bash shell:
sumber
wget
ataucurl
mungkin alat yang lebih baik untuk ini. (Dan secara pribadi, saya akan menginstalnya di beberapa direktori lain$PATH
daripada di/bin
.)Jawaban Dawid Ferenczy cukup lengkap tetapi setelah saya mencoba hampir semua opsinya, saya menemukan bahwa Chocolate-Cyg-get adalah yang terbaik (setidaknya satu-satunya yang bisa saya peroleh).
Saya ingin menginstal
wget
, langkah-langkahnya adalah ini:Kemudian:
sumber
Biasanya sebelum menginstal paket kita harus tahu nama persisnya:
sumber