Dapatkah saya memperbarui perangkat lunak yang diinstal dari kode sumber secara langsung


14

Meskipun hampir setahun sejak saya mulai menggunakan Ubuntu, saya belum mencoba menginstal perangkat lunak dari sumber. Saya sebenarnya tidak merasa perlu melakukannya. Tapi sekarang saya sedang mengerjakan sebuah perangkat lunak yang berada pada tahap kandidat rilis di repositori tetapi kode sumber versi stabil terbaru tersedia di halaman muka perangkat lunak.

Saya belajar bahwa menginstal dari kode sumber mungkin sulit jika perangkat lunak memiliki banyak dependensi. Namun jika saya mengatasinya, saya bisa senang dengan versi terbaru. Tetapi saya terus bertanya-tanya apakah perangkat lunak seperti itu dapat secara otomatis memperbarui sendiri atau apakah saya harus menjalankan beberapa skrip untuk memperbarui paket. Atau lebih buruk lagi apakah saya harus menginstal ulang setiap pembaruan dari awal?

Saya juga ingin tahu apakah ada keuntungan khusus menginstal dari sumber selain di atas.


Jawaban:


10

Yang terbaik adalah mencatat bahwa ketergantungan suatu perangkat lunak jarang berubah. Jika Anda telah berhasil mengompilasi perangkat lunak satu kali, setiap versi berikutnya harus mudah dikompilasi - semua dependensi harus sudah terpenuhi.

Jika Anda dikompilasi dari sumber, tidak ada .debatau paket serupa yang dapat Anda gunakan untuk memperbarui, kecuali jika Anda menunggu distribusi untuk memasukkan perangkat lunak itu ke dalam repositori mereka, atau menunggu sampai PPA pengembang diperbarui.

Sederhananya, seseorang harus mengkompilasinya terlebih dahulu untuk membuatnya menjadi deb. Mengompilasi versi lama tidak akan memberi Anda kemampuan untuk memperbarui secara otomatis, Anda masih harus melalui seluruh proses "unduh-konfigurasi-kompilasi-instal".

Namun , jika Anda ingin menginstal versi yang sama pada banyak komputer, masuk akal untuk mengemas versi kompilasi Anda sebagai .deb(atau serupa) dan mendistribusikannya ke komputer tersebut. Jika dilakukan dengan benar, dependensi akan ditarik ke otomatis.

Adapun keuntungan menginstal dari sumber, hanya dua yang bisa saya pikirkan adalah:

  • Anda mendapatkan akses ke revisi kode terbaru, dan Anda memiliki pilihan versi stabil atau versi mutakhir (biasanya disebut build malam, revisi terbaru, dll.)
  • Ubuntu / distribusi lainnya mungkin tidak ingin memasukkan perangkat lunak ke dalam repositori mereka. Dalam hal ini, Anda terjebak dengan kode sumber atau paket yang disediakan oleh pengembang atau komunitas. Artinya, Anda tidak punya pilihan selain menggunakan sumber.

4
Bahkan jika Anda mengkompilasi sesuatu sendiri untuk digunakan pada 1 komputer, itu selalu berguna untuk membuat paket .deb sendiri, karena membantu Anda menyimpan ikhtisar perangkat lunak yang diinstal di satu tempat, dan membuat menghapus atau memutakhirkan lebih mudah untuk diri sendiri juga.
JanC

4

Menurut Ini posting Anda dapat menghasilkan paket deb setelah Anda mengkompilasi sumber. Maka alih-alih "make install", Anda dapat menginstal dari paket .deb. Itu membuatnya lebih mudah untuk memperbarui (jika itu ada di beberapa repositori) karena paket tersebut akan dikelola oleh manajer paket yang melacak pembaruan.

Dalam hal untuk membangun paket "paket-beberapa" dari sumber, dan ada dependensi, Anda dapat mencoba "apt-get build-dep some-package" untuk secara otomatis menginstal semua dependensi yang diperlukan bagi Anda untuk mengkompilasi paket Anda, tanpa secara manual melacak masing-masing ketergantungan dirimu sendiri. Dengan begitu, dependensi juga dikelola oleh manajer paket dan harus diperbarui secara otomatis juga.


3

Alternatif lain untuk git pengguna patut disebutkan:

Anda juga dapat menggunakan git pullsetelah sebelumnya git cloneuntuk memperbarui kode sumber Anda dan kemudian mengkompilasi ulang program Anda jika diinginkan. (Anda juga dapat menggunakan gituntuk terus melacak file: lihat jawabannya di sini .)

Jika Anda awalnya digunakan git cloneuntuk mendapatkan kode sumber, seperti pada, misalnya,

git clone git://github.com/person/programname.git

dan Anda mempertahankan folder setelah mengkompilasi dan menginstal, Anda dapat melakukan cd ke folder dan menjalankan git pulluntuk mendapatkan komit terbaru. Kemudian hapus semua direktori bangunan yang mungkin Anda buat dan / atau jalankanmake clean (jika perlu) dan kemudian kompilasi kembali perangkat lunak dan instal checkinstall, yang juga membuat paket untuk Anda (meskipun tidak cocok untuk distribusi).

Namun, jika Anda membantu pengembangan program dan perlu mengkompilasi ulang setelah setiap hari git pullmaka Anda mungkin akan menginstal ke folder rumah, karena itu tidak perlu menginstal ke /usr/local/hierarki setiap kali.

Sebagai contoh, jika saya menguji dan secara teratur mengkompilasi ulang suatu program, saya akan melakukan cd ke folder build saya setelah mendapatkan komit terbaru dengan git pulldan menjalankan (untuk program khusus ini):

cmake .. -DCMAKE_BUILD_TYPE=Debug -DLAYOUT=home -DPREFIX=home

dan kemudian kompilasi versi debug untuk diuji.

Namun, jika Anda hanya ingin mengkompilasi versi baru dari program kloning git Anda setiap bulan atau lebih (dan tidak menguji atau men-debugnya), Anda biasanya akan menginstal ke /usr/local/hierarki dengan checkinstall.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.