Paket tradisional Netcat (nc) untuk RHEL 6.x?

12

Saya mencoba menggunakan Template Percona Apache Monitoring [Cacti] untuk Memcached .

Mereka memang memperingatkan bahwa Anda tidak dapat menggunakan versi paket openbsd dan memberikan solusi untuk pengguna Ubuntu / Debian, yaitu:

Anda perlu nc di server. Beberapa versi nc menerima opsi baris perintah yang berbeda. Anda dapat mengubah opsi yang digunakan dengan mengkonfigurasi skrip PHP. Jika Anda tidak ingin melakukan ini karena alasan tertentu, maka Anda dapat menginstal versi nc yang sesuai dengan harapan yang dikodekan dalam konfigurasi default skrip. Di Debian / Ubuntu, netcat-openbsd tidak berfungsi, jadi Anda memerlukan paket netcat-tradisional, dan Anda perlu beralih ke /bin/nc.traditional ...

Karena versi RHEL 6.x memang berasal dari openbsd (dikonfirmasi oleh rpm -qi nc) bagaimana cara menginstal ini di RHEL / CentOS?

Adakah yang menjalankan templat Percona ini di RHEL / CentOS? Apa yang kamu lakukan? alienpaket Debian?

Pembaruan 1 : FWIW, saya mencoba menggunakan GNU netcat dengan mengkompilasinya dari sumber tetapi tampaknya tidak memiliki opsi yang tepat yang dibutuhkan oleh template Cacti (yaitu tidak ada analogi untuk -C atau -q1 jadi sepertinya)

Pembaruan 2 : Saya alien paket edcat-traditional_1.10-38_amd64.deb untuk membuat .tgz dan itu menghasilkan biner "nc.traditional" dan versi itu memiliki opsi -q tetapi tidak -C

Pembaruan 3 : Saya menambahkan [ed] netcat-openbsd_1.89-3ubuntu2_amd64.deb seperti yang disarankan oleh cjc dan meskipun ia menyediakan opsi -C dan -q sepertinya tidak bekerja dengan templat. Saya juga menghapus opsi -q1 dari nc_cmd seperti yang disarankan oleh quanta. Masih tidak membuat grafik atau menghasilkan output dari commandline.

Pembaruan 4 : Saya membuat RPM sumber seperti yang disarankan oleh dmourati dan mengabaikan -q1 seperti yang disarankan oleh quanta dan masih tidak membuat grafik atau menghasilkan output dari commandline. Mungkin solusi sumber RPM dan / atau tidak lewat -q1 berfungsi pada RHEL 5.x, saya tidak tahu. Pada titik ini saya mengakui kekalahan.

Bersulang

HTTP500
sumber
Hmm. Inilah rpm "netcat tradisional" untuk 5.x: rpm.pbone.net/index.php3/stat/4/idpl/2392833/dir/redhat_5.x/com/... Anda mungkin dapat melakukan sesuatu dengan SRPM, dalam hal membangunnya di RHEL / CentOS 6.x.
cjc
@ cjc, lihat Pembaruan 2 saya. Saya mengharapkan masalah yang sama dengan RPM itu.
HTTP500
hmm, melihat lebih dekat pada nc yang diinstal pada kotak Ubuntu 10,04 saya, saya melihat bahwa versi yang memiliki "-C" dan "-q1" adalah versi openbsd, versi 1.89-3ubuntu2. Yang nc.traditional tidak. Mungkin mencoba alien netcat-openbsd?
cjc
4
Ini hampir seperti pembuat template yang sengaja melakukan troll. "Memasang templat ini mudah! Pastikan netcat Anda memiliki opsi -C dan -q yang tersedia. <Evil grin>"
Janne Pikkarainen

Jawaban:

2

silakan instal paket yang disebut nmap-ncat dan periksa.

Manoj K
sumber
-1

Inilah solusi parsial (dan berlawanan) yang membahas -C tetapi bukan -q.

Saya mulai di sini:

http://www.reidea.hu/netcatcrlf/

Setidaknya itu menjelaskan apa yang seharusnya dilakukan opsi -C, berikan CRLF.

Halaman itu menuntun saya ke bugzilla kuno:

https://bugzilla.redhat.com/show_bug.cgi?id=203931

Di sana Anda dapat menemukan SRPM yang ditambal untuk masalah -C.

https://bugzilla.redhat.com/attachment.cgi?id=134827

Unduh SRPM itu, bangun kembali (berfungsi dengan baik di lingkungan build CentOS 6 RPM saya) dan Anda dapat menginstal nc yang dihasilkan. Periksa halaman manual, voila, dukungan untuk -C.

-C Kirim CRLF sebagai akhir baris

Untuk perbaikan saya sendiri, apa yang dilakukan opsi -q1?

EDIT : Ah, saya melihat -q1 akan berhenti setelah 1 detik. Untuk netcat di atas, opsinya adalah "-w" untuk timeout. Anda mungkin dapat membuat perubahan sederhana pada skrip percona dan membuat grafik Anda berfungsi. Lewati EOF seperlunya.

dmourati
sumber
1
Kesan saya adalah bahwa "-q1" berbeda dari batas waktu "-w". Yang terakhir adalah batas waktu untuk membuat koneksi. Yang pertama, setidaknya menurut dokumen, adalah keterlambatan dalam menutup koneksi yang sudah mapan.
cjc
-1

Pada kotak Ubuntu 10.04 saya, saya melihat bahwa versi yang memiliki "-C" dan "-q1" adalah versi openbsd, versi 1.89-3ubuntu2. Yang nc.traditional sebenarnya tidak.

Coba alien paket netcat-openbsd, mungkin?

Menariknya, berbagai sumber untuk netcat di Internet tidak memiliki set fitur lengkap yang ditawarkan oleh versi Ubuntu. Saya belum melihat manifes paket Ubuntu untuk melihat apa yang mereka lakukan.

cjc
sumber
Diberikan hadiah karena memenuhi kriteria yang diposting tetapi perhatikan bahwa solusi ini tidak bekerja untuk masalah yang lebih luas (yaitu dengan templat Memcached Percona Cacti) sehingga tidak memberikan jawaban terbaik.
HTTP500
-1

Anda dapat menggunakan opsi konfigurasi nc_cmd di templat, sebagaimana dinyatakan dalam komentar tepat di atas komentar terakhir Anda ke laporan bug pada proyek templat Google Code Cacti, tempat Anda menautkan ke pertanyaan ini.

Selain itu, Anda harus tahu bahwa Anda menggunakan templat yang sudah ketinggalan zaman. Sebagaimana dinyatakan dalam proyek Templat Kaktus yang Lebih Baik, proyek itu telah dihentikan dan sekarang menjadi bagian dari Plugin Pemantau Percona. Lihat http://www.percona.com/software/percona-monitoring-plugins/ dan perhatikan bahwa perangkat lunak ini sepenuhnya dicakup oleh dukungan Percona atau kontrak konsultasi, yang merupakan cara terbaik untuk mendapatkan bantuan dengan instalasi. Atau, jika ada ketidakcocokan nyata yang tidak akan membiarkan Anda menginstal templat apa adanya, Anda akan bisa mendapatkan perbaikan bug pada perangkat lunak.

Baron Schwartz
sumber
Saya sedang menggunakan template Percona Pemantauan Plugins sebagaimana tercantum dalam posting asli. Saya menambahkan komentar pada utas itu karena frustrasi, permintaan maaf saya. Dan saya telah mengedit opsi konfigurasi nc_cmd di file ../scripts/ss_get_by_ssh.php. Hanya template yang satu ini yang membuat saya sedih dan mungkin tidak layak mendapat kontrak dukungan / konsultasi saat ini, tetapi terima kasih atas sarannya.
HTTP500
Oh, kesalahan saya, maaf karena tidak membaca dengan cukup cermat. Saya langsung mengambil kesimpulan. Bagaimanapun, nc_cmd harus menjadi solusi yang tepat, kecuali ada sesuatu tentang nc yang Anda gunakan yang hanya mencegahnya dari benar-benar berfungsi. Jika itu bisa bekerja sama sekali, itu harus menjadi masalah menemukan opsi yang tepat untuk digunakan untuk nc Anda.
Baron Schwartz
-3

Atau Anda dapat menulis pembungkus Anda sendiri apa yang menggunakan opsi yang benar dan mengabaikan semua yang lain. Menyimpannya dan menggunakannya di plugin pemantauan percona. Bagaimana bunyinya?

Web Dodger
sumber
Pembungkus tidak akan dapat mengimplementasikan fungsionalitas yang disediakan oleh opsi ini. Kecuali Anda menyarankan dia menulis ulang netcat sendiri.
chutz
-6
yum install nc
up2date install nc

dan ubah skrip jika Anda membutuhkannya

GioMac
sumber
1
Anda membaca catatan di mana saya mengatakan bahwa versi yang berasal dari Red Hat menggunakan versi openbsd dari nc kan?
HTTP500
"Anda dapat mengubah opsi yang digunakan dengan mengkonfigurasi skrip PHP", dan mengubah skrip jika Anda membutuhkannya
GioMac
Opsi yang digunakan oleh skrip yang tidak ada dalam versi RHEL adalah -q1. Bisakah Anda menyarankan opsi yang analog? Terima kasih!
HTTP500
Oh, mungkin saya akan menemukan kode sumber untuk netcat yang saya butuhkan dan membuat RPM, atau kompilasi dan instal langsung (make, make install).
GioMac