Itu Cygwin FAQ menyebutkan bahwa yang pertama kali diinstal, exe setup akan mengunduh "subset minimal dari semua paket yang tersedia." Paket mana yang merupakan bagian dari subset ini?
Saya menginstal Cygwin di komputer tanpa akses Internet, jadi saya perlu tahu paket apa yang harus diunduh karena saya tidak dapat menjalankan setup.exe
di komputer dengan Internet.
Saya telah bereksperimen dengan Cygwin berusaha untuk mendapatkan "instalasi tanpa tulang", minimal. Saya menemukan bahwa menginstal utilitas seperti grep, gawk, sed dan alat serupa memiliki ketergantungan pada cygwin, base-Cygwin dan terkadang alat yang tidak diinginkan seperti bash, coreutils dll. tujuan. Saya hanya ingin mendapatkan alat dan dll yang diperlukan mereka diinstal dan mulai memeriksa paket Cygwin. Saya menemukan bahwa tidak menggunakan setup.exe yang disediakan oleh Cygwin adalah cara alternatif untuk menyelesaikan instalasi Cygwin minimal. Dan ini adalah bagaimana saya menyelesaikannya.
Untuk menginstal alat tertentu seperti sed atau gawk, yang perlu dilakukan adalah mengekstrak alat yang dapat dieksekusi dan dependensinya (.dll)
Sebelum Anda mencoba yang berikut, pastikan Anda memiliki alat seperti 7z.exe, xz.exe, bzip2 atau lainnya yang mampu Uncompressing sebuah Arsip .xz atau bzip
Menginstal contoh gawk di bawah ini:
Agar gawk dapat berjalan, bash bukanlah suatu keharusan karena kita memiliki shell perintah windows. (bash disertakan untuk mendapatkan beberapa dll yang diperlukan oleh gawk. Namun, hal itu menyebabkan lebih banyak file yang tidak perlu diinstal). Ketergantungan lainnya berisi file yang harus dijalankan oleh gawk. Ekstrak masing-masing paket di atas menggunakan alat seperti 7z atau xz ke file individual.
Setelah semua dependensi diekstraksi, salin alat yang Anda butuhkan (grep / sed / gawk) ke folder dan semua .dlls yang tergantung Anda sekarang dapat menjalankan alat Anda dengan set minimum. Instalasi cygwin-tulang.
Ada cara lain untuk mengetahui dll yang diperlukan oleh exe - Anda dapat menggunakan dumpbin dari MS atau dependensi walker, ndepends atau alat serupa untuk menemukan daftar dll dependen
Berkonsultasi - https://stackoverflow.com/questions/362560/how-do-i-detect-the-dlls-required-by-an-application https://stackoverflow.com/questions/475148/how-do-i-find-out-which-dlls-an-executable-will-load
Saya juga brute memaksa info dll dependen dengan hanya menjalankan alat dan menginstal dll hilang yang tercantum satu per satu dengan mengekstraksi dari paket yang diperlukan.
Ketika Anda menjalankan exe dan jika ada kesalahan dengan pesan .dll yang hilang, cari paket yang berisi dll di sini - https://cygwin.com/cgi-bin2/package-grep.cgi . Masukkan nama lengkap / sebagian dari dll yang hilang untuk menemukan nama paket yang berisi dll.
Akhirnya, saya berakhir dengan instalasi cygwin telanjang-tulang hanya dengan alat dan dll yang saya butuhkan. Contoh: gawk - gawk.exe dan dll berikut - cygwin1.dll, cyggmp-10.dll, cygiconv-2.dll, cygintl-8.dll, cygmpfr-4.dll, cyggcc_s-seh-1.dll, cygncursesw- 10.dll, cygreadline7.dll
sed - sed.exe dan lain-lain - cygwin1.dll, cygintl-8.dll
Semoga ini bermanfaat. Penginstal Cywin juga melakukan hal-hal mendasar, yang tidak akan saya bahas di sini
sumber
Mengapa tidak menginstal saja ke drive USB dan salin file dari sana ke komputer yang Anda inginkan sudah diatur? Pertanyaan faq ini menunjukkan bahwa hak administratif hanya diperlukan untuk mengatur izin keamanan pada file sehingga semua orang di mesin dapat mengakses file. Jika Anda menginstalnya ke lokasi yang berbeda dan kemudian menyalin seluruh direktori ke mesin baru, itu harus bekerja dengan baik. (Catatan: Saya belum mengujinya sendiri.)
sumber