GNU/Linux >> Belajar Linux >  >> Linux

Melacak Program?

Ketika saya menginstal program sederhana sering menggunakan make && make install dan bahkan tidak sering mencopot pemasangan sasaran.

Jika saya ingin memutakhirkan program, apakah protokol standar menganggapnya hanya menulis ulang dengan mulus di atas program lama?

Bagaimana cara melacak program-program ini; kebanyakan orang hanya 'api dan lupakan' dan jika tidak ada copot pemasangan target diberikan apakah saya harus menghapus semuanya secara manual?

Jawaban yang Diterima:

Instal setiap program di pohon direktori khusus, dan gunakan Stow atau XStow untuk membuat semua program muncul dalam hierarki umum. Stow membuat tautan simbolis dari direktori khusus program ke pohon umum.

Lebih detail, pilih direktori tingkat atas, misalnya /usr/local/stow . Instal setiap program di bawah /usr/local/stow/PROGRAM_NAME . Misalnya, atur agar executable-nya dipasang di /usr/local/stow/PROGRAM_NAME/bin , halaman manualnya di /usr/local/stow/man/man1 dan seterusnya. Jika program menggunakan autoconf, jalankan ./configure --prefix /usr/local/stow/PROGRAM_NAME . Setelah Anda menjalankan make install , jalankan stow :

./configure --prefix /usr/local/stow/PROGRAM_NAME
make
sudo make install
cd /usr/local/stow
sudo stow PROGRAM_NAME

Dan sekarang Anda akan memiliki tautan simbolis seperti ini:

/usr/local/bin/foo -> ../stow/PROGRAM_NAME/bin/foo
/usr/local/man/man1/foo.1 -> ../../stow/PROGRAM_NAME/man/man1/foo.1
/usr/local/lib/foo -> ../stow/PROGRAM_NAME/lib/foo

Anda dapat dengan mudah melacak program apa yang telah Anda instal dengan membuat daftar isi stow direktori, dan Anda selalu tahu program apa yang dimiliki file karena itu adalah tautan simbolis ke lokasi di bawah direktori program itu. Copot pemasangan program dengan menjalankan stow -D PROGRAM_NAME kemudian menghapus direktori program. Anda dapat membuat program tidak tersedia untuk sementara dengan menjalankan stow -D PROGRAM_NAME (jalankan stow PROGRAM_NAME untuk membuatnya tersedia lagi).

Jika Anda ingin dapat dengan cepat beralih di antara versi berbeda dari program yang sama, gunakan /usr/local/stow/PROGRAM_NAME-VERSION sebagai direktori program. Untuk meningkatkan dari versi 3 ke versi 4, instal versi 4, lalu jalankan stow -D PROGRAM_NAME-3; stow PROGRAM_NAME-4 .

Versi Stow yang lebih lama tidak melampaui dasar-dasar yang telah saya jelaskan dalam jawaban ini. Versi yang lebih baru, serta XStow (yang akhir-akhir ini tidak dipertahankan) memiliki fitur yang lebih canggih, seperti kemampuan untuk mengabaikan file tertentu, lebih baik mengatasi symlink yang ada di luar direktori stow (seperti man -> share/man ), menangani beberapa konflik secara otomatis (ketika dua program menyediakan file yang sama), dll.

Terkait:ubah judul terminal?

Jika Anda tidak memiliki atau tidak ingin menggunakan akses root, Anda dapat memilih direktori di bawah direktori home Anda, mis. ~/software/stow . Dalam hal ini, tambahkan ~/software/bin ke PATH . Anda . Jika man tidak secara otomatis menemukan halaman manual, tambahkan ~/software/man ke MANPATH . Anda . Tambahkan ~/software/info ke INFOPATH . Anda , ~/software/lib/python ke PYTHONPATH . Anda , dan seterusnya jika berlaku.


Linux
  1. Mengapa Cd Bukan Program?

  2. Mengukur Penggunaan Ram Suatu Program?

  3. Cara mengelola program startup di Ubuntu Linux

  1. Cara men-debug program C di Linux menggunakan gdb

  2. Jalankan program java di backend

  3. Menghapus instalasi program di Linux

  1. Bahasa Pemrograman C - Pendahuluan

  2. Daftar File yang Diakses Oleh Program?

  3. Bagaimana Cara Mengarahkan Output Program Ke File Zip??