Manajemen paket Cygwin


16

Di cygwin, bagaimana caranya:

  • Daftar semua paket yang diinstal
  • Daftar file milik paket
  • Beri tahu paket mana milik file itu
  • Instal paket baru
  • Copot paket
  • Dapatkan info tentang paket yang diinstal (deps, versi, dll)
cygwin 

Jawaban:


23

Daftar semua paket yang diinstal

cygcheck --check-setup --dump-only
  • tanpa --dump-onlyperintah akan memakan waktu beberapa menit untuk menyelesaikan karena akan MENGUJI semua paket. Anda akan melihat OK untuk setiap paket jika semuanya baik-baik saja;)

Daftar file milik paket

Untuk paket bashlakukan:

cygcheck --list-package bash
  • ini hanya berfungsi untuk paket yang diinstal

Beri tahu paket mana milik file:

Untuk file /usr/bin/bash.exe

cygcheck --find-package /usr/bin/bash.exe
  • ini hanya berfungsi untuk paket yang diinstal

Instal paket baru

Mengingat Anda sudah menjalankan setup GUI dan memiliki mirror yang valid, direktori paket lokal dan set opsi lain, Anda dapat menjalankan untuk menginstal abook:

/path/to/setup-1.7.exe --quiet-mode --download --local-install --packages abook
  • itu juga akan secara otomatis memperbarui semua paket Anda yang terinstal ke versi terbaru yang tersedia
  • Anda juga dapat memilih mirror dan opsi lain di baris perintah, lihat /path/to/setup-1.7.exe --help
  • Saya tahu versi baru cygwin 1.7 (versi beta, tapi cukup stabil) yang saat ini menggunakan setup 2.649 mendukung opsi ini, tapi saya tidak menguji pada 1.6

Copot paket

Sejauh yang saya tahu, hanya GUI yang mendukung opsi ini.

Dapatkan info tentang paket yang diinstal (deps, versi, dll)

Versi terdaftar bersama untuk setiap paket pada daftar (item pertama). Deps sangat sulit ditemukan: ketika setup berjalan, ia membuat direktori paket lokal satu entri untuk setiap mirror. Di sana Anda dapat menemukan daftar semua paket yang tersedia di mirror itu (setup.ini untuk versi 1.6 dan setup-2.ini untuk versi 1.7) dengan nama paket didahului oleh a @dan deps didahului oleh requires:. Jika, untuk alasan apa pun, cermin yang Anda gunakan sudah ketinggalan zaman, pengaturan menampilkan pesan peringatan saat mengunduh info.


Setidaknya pada versi 2.8, ada opsi -x --remove-paket juga untuk menghapus paket melalui baris perintah.
Howler

@Howler apt-cyg removeberfungsi, tetapi Anda pertama-tama membutuhkan alat itu, lihat jawaban @ Kevin.
user3123159

apt-cyg install packageuntuk instalasi.
user3123159

3

Jalankan setup.exe. Ini akan memberi Anda GUI dengan kotak centang untuk berbagai paket.


5
IMO ini adalah kegagalan utama cygwin. Kami membutuhkan manajer paket nyata!
Joseph Kern

1
Saya melihat beberapa posting di maillist. Seseorang sedang mengerjakan apt yang setara untuk cygwin. Mungkin muncul sebagai bagian dari 1.7
Zoredache

@ Joseph: kedengarannya sangat keren. Terima kasih telah memberi tahu kami.
Born To Ride

Pengelola paket nyata tidak dimungkinkan, karena tidak mungkin menimpa file yang digunakan pada Windows. Anda harus menutup Cygwin sebelum melakukan upgrade dan kemudian Anda dapat menggunakan manajer paket eksternal (Cygwin setup.exe). Manajer paket yang paling lengkap adalah apt-cyg , saya tidak berpikir, akan ada sesuatu yang lebih baik.
Dawid Ferenczy Rogožan

3

Saya telah menemukan apt-cyg berguna untuk instalasi paket - paket baris perintah tanpa memperbarui semua paket saya yang lain tetapi tidak semua yang perlu Anda lakukan.


Tidak ada yang setara dengan apt show, apt policyatau apt searchdalam ubuntu.
user3123159


0

Izinkan saya untuk memperkenalkan Anda pada FAQ Cygwin

  • Daftar terpasang
  • Bagaimana cara menghapus paket individual
  • Bagaimana cara menghapus paket individual
  • Dapatkan info tentang paket yang diinstal

Jalankan Pengaturan Cygwin

  • Daftar file milik paket
  • Beri tahu paket mana milik file itu

Cari di http://cygwin.com/packages/


0

Sekarang mungkin untuk menghapus paket juga:

/path/to/setup.exe -x yourpackagename
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.