Bagaimana Anda mengelola modul perl pada sistem Debian?

7

Saya ingin tahu apakah Anda memiliki metode untuk mengelola modul perl pada sistem Debian Anda, sehubungan dengan yang berikut:

  1. Memasang modul baru
  2. Daftar modul yang diinstal secara manual
  3. Memeriksa dependensi, dan menghapus modul

Saya telah melihat artikel perlmonks ini untuk membaca latar belakang: Apa cara terbaik untuk menginstal modul CPAN di Debian?

Saya sebelumnya telah menginstal modul perl menggunakan modul CPAN. Saya juga telah menggunakan dh-make-perl dalam beberapa kasus, ketika mengikuti instruksi untuk membangun paket lain yang memiliki dependensi perl.

Saya ingin melembagakan kebijakan yang koheren pada mesin saya sehingga saya dapat mengelola dengan lebih baik bagaimana dan di mana modul-modul tersebut dipasang, dan mengurangi kemungkinan melanggar perl pada sistem saya. Saya sangat menginginkan sistem di mana saya dapat mendeteksi dan menghapus modul yang tidak lagi digunakan.

nagul
sumber
bukankah superuser adalah jenis pengguna akhir yang sentris dan bukankah perl mengelola hal-hal sysadmin atau pembelajaran rumahan-sysadmin?
Warren P

Jawaban:

5

Jika Anda menggunakan apt-get dan dh-make-perl untuk semua paket, deborphan --guess-perl akan menemukan paket perl tanpa dependensi apa pun, yang kemudian dapat Anda hapus dan jalankan kembali secara iteratif. deborphan memiliki daftar simpan yang dapat Anda tambahkan yang Anda gunakan secara aktif dan mereka tidak akan muncul.

Jadi untuk membuatnya bekerja, Anda harus menghapus semua modul yang Anda instal melalui CPAN dan menginstalnya kembali dh-make-perl. Modul yang dipasang secara manual dapat dideteksi dengan mencari "Tidak ada versi dalam arsip" di ouptut of apt-show-versions libsome-module-perl.

TRS-80
sumber
5

saya menggunakan apt-get untuk menginstal sebagian besar modul. Jika modul tidak ada di salah satu repositori (atau jika saya memerlukan versi modul yang terakhir), saya memasang modul itu ke direktori home saya dengan cpan. Ini dibuat lebih mudah oleh local::lib modul. Unduh tarball dari CPAN, dekompres, ubah direktori ke dalamnya, lalu ketikkan

perl Makefile.pl --bootstrap
make
make test

Jika salah satu dari langkah-langkah ini gagal, ajukan pertanyaan di sini. Jika semua langkah berhasil maka ketik

make install

Anda kemudian perlu menambahkan baris berikut ke file profil apa pun yang Anda gunakan (mis. ~/.profile, ~/.bash_profile, dll.):

eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)

Logout dan login kembali (jalankan perintah itu di terminal saat ini), dan kemudian ketik

cpan

Seharusnya menanyakan apakah Anda ingin mengkonfigurasi CPAN otomatis, jawab ya. Ketika selesai, Anda harus dapat menginstal modul ke direktori bernama ~/perl5 dengan berkata

cpan Module::Name

Baris yang Anda masukkan di profil Anda mengatur PERL5LIB variabel, sehingga program akan dapat menemukan modul yang Anda instal. Ini menempatkan ~/perl5 direktori di depan direktori sistem, jadi jika Anda menginstal versi 1.0 Foo via apt-get dan Foo versi 2.0 diinstal melalui CPAN, itu CPAN versi akan dimuat.

Chas. Owens
sumber
+1. Ini membuat WAY lebih masuk akal bagi saya daripada menjalankan dua instance perl / instal yang sepenuhnya terpisah.
Warren P
3

Biarkan Debian Perl sendiri dan instal Perl kedua yang Anda kelola dengan cpan:

https://stackoverflow.com/questions/398221/how-do-you-manage-perl-modules-on-linux

innaM
sumber
Saya suka pendekatan ini, tetapi untuk satu masalah: Beberapa modul yang saya instal adalah untuk memenuhi dependensi dalam paket lain yang ingin saya buat dan instal pada mesin saya. Jika saya menginstal Perl kedua, tidak akankah saya harus melompat melalui lingkaran untuk membuat paket ini melihat dan menggunakan Perl 2 saat runtime, sementara paket sistem yang diinstal terus menggunakan instalasi asli?
nagul
Tidak ada simpai sama sekali.
innaM
Aduh. terutama jika ada barang perl Anda menyentuh barang debian.
Warren P
1

Bergantung pada modul, saya cukup yakin Anda dapat menggunakan perintah apt-get untuk menginstal beberapa modul yang lebih umum.

apt-get install perl5-crypt (mungkin p5-crypt - sudah lama).

Itu tergantung banyak pada modul apa yang diperlukan, banyak dari mereka tidak ada dalam paket apt.

Ben Short
sumber
Ya, itu masalah bagi saya karena saya sekarang memiliki sistem di mana beberapa modul telah diinstal melalui apt-get, beberapa melalui dh-make-perl dan yang lainnya melalui modul CPAN.
nagul