Saya kadang-kadang mengalami perangkat lunak yang tidak ditawarkan dalam .deb
atau .rpm
tetapi hanya sebagai executable.
Misalnya Kode Visual Studio , WebStorm atau Program Ruang Kerbal .
Untuk pertanyaan ini, saya akan menggunakan Visual Studio Code sebagai titik referensi.
Perangkat lunak ini ditawarkan sebagai paket zip.
Saat membuka ritsleting, saya ditinggalkan dengan folder bernama VSCode-linux-x64
yang berisi nama yang dapat dieksekusi Code
.
Saya dapat mengklik dua kali Code
atau menunjuk ke sana dengan terminal saya ingin /home/user/Downloads/VSCode-linux-x64/Code
menjalankannya.
Namun, saya ingin tahu apakah ada cara yang tepat untuk menginstal aplikasi ini.
Yang ingin saya capai adalah:
- satu tempat di mana saya bisa meletakkan semua aplikasi / perangkat lunak yang ditawarkan dengan cara ini (executables)
- dukungan terminal (artinya misalnya: Saya dapat menulis
vscode
dari folder mana saja di terminal saya dan secara otomatis akan menjalankan Visual Studio Code.
Informasi tambahan:
- Lingkungan Desktop: Gnome3
- OS: Debian
EDIT:
Saya memutuskan untuk memberikan @kba jawaban karena pendekatannya berfungsi lebih baik dengan solusi cadangan saya dan selain itu. Memiliki skrip yang mengeksekusi binari memberi Anda kemungkinan untuk menambahkan argumen.
Tetapi agar adil, pendekatan @John WH Smith sama baiknya dengan @ kba.
sumber
.desktop
entri untuk memulai dari menu atau Anda menambahkan konfigurasi, menemukan bendera baris perintah dll. Sebuah alias sangat tidak fleksibel.Menurut TLDP ,
/opt
mungkin tempat yang bagus untuk perangkat lunak semacam ini. Saya telah menggunakannya sendiri untuk menyimpan beberapa alat yang berhubungan dengan printer, dan versi "dinamis" Skype (seperti yang dikatakan kba, "dukungan terminal" kemudian dapat dicapai dengan mengaturPATH
variabel yang sesuai).Secara umum, saya cenderung menggunakan
/opt
untuk "menginstal" perangkat lunak berpemilik yang dikemas sebagai executable, tapi itu mungkin hanya saya. Selain itu, saya cenderung menghindari perangkat lunak semacam ini, karena saya biasanya tidak memiliki kepastian tentang apa yang akan dilakukan setelah saya menjalankannya.Alasan lain mengapa saya memilih
/opt
adalah karena biasanya dimaksudkan untuk pihak ketiga, kode independen, yang tidak bergantung pada file apa pun di luar/opt/'package'
direktori (danopt
direktori lain seperti/etc/opt
).Salah satu keuntungan dari merilis kode sumber adalah orang dapat mengonfigurasi proses kompilasi, menyediakan jalur pustaka / header kustom berdasarkan spesifikasi sistem mereka. Ketika seorang pengembang memutuskan untuk merilis kode sebagai yang dapat dieksekusi, keuntungan itu hilang. IMHO, pada titik ini, pengembang tidak lagi diperbolehkan untuk menganggap bahwa / itu dependensi programnya akan tersedia (itulah sebabnya semuanya harus dikemas bersama executable).
Untuk informasi lebih lanjut, saya juga menyarankan untuk membaca pertanyaan U&L lainnya , yang membahas perbedaan antara
/opt
dan/usr/local
. Saya pribadi akan menghindari/usr/local
dalam hal ini, terutama jika saya bukan orang yang membangun program yang saya instal.sumber
Sangat mungkin, dan sebenarnya cukup mudah, untuk membuat paket distribusi biner dari arsip zip biner atau tarball, seperti dalam contoh Anda dari Visual Studio Code.
Ya, paket biner distribusi Linux seperti
deb
danrpm
biasanya dibuat dari sumber, tetapi tidak harus begitu. Dan seringkali (walaupun tidak selalu) memungkinkan untuk mengatur hal-hal yang paket biner distribusi yang dihasilkan menginstal hal-hal di tempat-tempat "tepat" agar sesuai dengan kebijakan distribusi.Dalam kasus tarball eksklusif berpemilik, jika ada cara untuk menginstal perangkat lunak dengan benar, misalnya target instal dalam makefile, maka itu dapat digunakan dengan mesin pengemasan distribusi. Kalau tidak, ini mungkin melibatkan "secara manual" memetakan file ke tempat "benar", yang mungkin banyak pekerjaan. Walaupun membuat paket semacam itu mungkin tampak aneh untuk dilakukan, itu masih memiliki salah satu manfaat utama dari manajemen paket, yaitu instalasi yang bersih dan pencopotan pemasangan. Dan tentu saja paket seperti itu tidak akan pernah diterima ke dalam distribusi Linux sepadan dengan namanya, tetapi itu bukan pertanyaan Anda.
sumber
fpm
.Saya jarang melihat perangkat lunak yang dikirimkan hanya sebagai biner yang dapat dieksekusi dan tidak ada yang lain, dan saya terus terang akan sedikit curiga terhadapnya. Jika tidak ada yang lain setidaknya saya harapkan
README
(dengan instruksi untuk menginstalnya) danLICENSE
untuk menemaninya. Yang telah dibilang...Tempat biasa di mana binari yang diinstal secara lokal tidak dikelola oleh manajer paket distro disimpan adalah
/usr/local/bin
. Anda dapat meletakkannya di sana, dan karena direktori itu (atau seharusnya) sudah ada di Anda,$PATH
Anda dapat menjalankan perangkat lunak dengan mengetikkan namanya di baris perintah.Biasanya perangkat lunak juga harus memiliki halaman manual (perangkat lunak tidak berdokumen buruk, bukan?) Yang masuk
/usr/local/man
dan mungkin memiliki beberapa file dukungan seperti terjemahan ke bahasa lain dan plugin yang mungkin masuk/usr/local/share
atau/usr/local/lib
, dan seterusnya. Untuk alasan ini, perangkat lunak yang tidak dikirim sebagai paket seperti.deb
atau.rpm
biasanya disertai dengan penginstal yang meletakkan semuanya di tempat yang tepat. Ketika Anda menginstal dari sumber, itu biasanyamake install
.sumber
Code
hanyalah titik awal. Ini mungkin menampilkan lisensi ketika menjalankan (64-bit executable tidak berjalan pada mesin yang ada, tetapi seseorang harus memverifikasi hal semacam itu untuk memberikan jawaban yang baik untuk menjawab pertanyaan aktual OP./usr/local
direktori home saya. (Tidak semua program akan berfungsi -Eclipse
misalnya).