Di mana saya harus menyimpan unduhan sumber untuk instalasi?

10

Saya biasa mengunduh semuanya ke / tmp, karena setelah itu make; sudo make installsaya biasanya tidak membutuhkan file-file itu lagi.

Tapi sekarang saya menyadari satu-satunya cara untuk menghapus instalan program yang diinstal dari sumber, adalah dengan menggunakan make uninstall(bila tersedia). Jadi saya mungkin harus menyimpan unduhan saya jika saya membutuhkannya nanti.

Jadi di mana saya harus menyimpannya? Apakah ada tempat yang dirancang untuk itu di linux?

ChocoDeveloper
sumber
Hindari masalah: instal dari paket jika memungkinkan.
Michael Hampton
@MichaelHampton Kadang-kadang itu bukan pilihan (saya pikir), misalnya: nginx memerlukan sumber formulir yang diinstal jika Anda ingin menambahkan modul pihak ketiga.
ChocoDeveloper

Jawaban:

16

Lokasi yang ditentukan oleh Filesystem Hierarchy Standard untuk menyimpan kode sumbernya /usr/src. Saya kira Anda juga bisa menggunakan /usr/local/src, karena itu sedikit lebih deskriptif dari mana perangkat lunak itu berasal (yaitu, Anda membangunnya, distro tidak).

Perhatikan, bagaimanapun, bahwa FHS sebenarnya menyebutkan bahwa kode sumber tidak boleh dibangun dari direktori ini, kemungkinan karena Anda tidak seharusnya mengkompilasi hal-hal sebagai root, jadi saya kira Anda akan memindahkan source tree ke sana setelah instalasi. Namun dalam praktiknya, saya tidak peduli; Saya menyimpan semua yang saya bangun ~/Code, yang ada di partisi roomier. Pada dasarnya, tidak ada konvensi yang diterima secara luas; Anda hanya melakukan apa yang berhasil untuk Anda.

Anda juga harus melihat checkinstall , perangkat lunak kecil yang membuat paket yang belum sempurna dari sebuah perintah. (Ini mungkin ada di repositori distribusi Anda.) Pada dasarnya, alih-alih berjalan

sudo make install

Anda akan menjalankan sesuatu di sepanjang baris

sudo checkinstall make install

yang menanyai Anda tentang paket yang Anda buat, jam tangan make installmenginstal semuanya, lalu membuat paket yang kemudian dapat diinstal dengan bersih dan dihapus dengan pengelola paket. Saya percaya checkinstall dapat membangun paket untuk sistem berbasis dpkg (Ubuntu, Debian, dll.), Sistem berbasis RPM (Fedora, RHEL, dll.) Dan sistem berbasis Slackware. Jika Anda menjalankan Arch, jangan repot-repot dengan checkinstall; sebagai gantinya, pertimbangkan untuk menggunakan PKGBUILD.

Semoga itu bisa membantu!

tiga puluh tiga
sumber
+1 untuk menyebutkan paket. Yang saya pikir adalah jawaban yang diperlukan (tetapi tidak ditanyakan).
Hennes
Terima kasih! Saya menggunakan checkinstall sekarang, tampak hebat sejauh ini. Satu pertanyaan terakhir: Saya tidak perlu menyimpan deb, kan? dpkg akan tahu cara menghapusnya meskipun sudah hilang
ChocoDeveloper
Itu benar. Semua manajer paket menyimpan daftar file yang diinstal oleh paket, sehingga Anda dapat menghapus paket yang dibangun setelah Anda menginstalnya.
puluh
5

Tidak ada tempat yang ditunjuk untuk file sumber; setiap orang memiliki kebiasaannya sendiri.

Namun, pertimbangkan tiga opsi ini:

  1. Pada root homedir (berfungsi, tetapi pada / yang biasanya agak kecil).
  2. / usr / local / src / (atau sebenarnya apapun di bawah / usr / local /
  3. Instal melalui paket dan gunakan manajer paket untuk menghapus instalan.

Untuk pemeliharaan jangka panjang saya sangat merekomendasikan opsi 3. Bahkan jika Anda harus membuat paket sendiri (dari sumber). Dalam hal ini Anda mendapatkan: untar / configure / make / make paket melalui beberapa sintaks tergantung pada pilihan paket Anda / instal paket

Hennes
sumber