Aplikasi portabel untuk Linux?

11

Mengajukan pertanyaan ini membuat saya berpikir - apakah ada aplikasi portabel yang tersedia untuk Linux? Saya tahu banyak alat sederhana dapat dijalankan secara mandiri, tetapi apakah saya akan mengalami keterbatasan keamanan dengan distribusi Linux yang umum?

Mempertimbangkan ketersediaan alat, dll. Pada sebagian besar sistem Linux standar, apakah ada kebutuhan untuk ini?

EDIT: Untuk memperjelas, saya mencari aplikasi yang dapat saya jalankan di sistem Linux yang ada - Saya tidak ingin membawa seluruh OS, jika saya tidak perlu.

Andy Mikula
sumber

Jawaban:

6

Sebagian besar aplikasi yang menggunakan rantai alat GNU dapat dibangun dari sumber seperti ini:

./configure --prefix=[directory which will contain your 'portable' application]
make
make install

dan kemudian pindah ke komputer yang berbeda dengan perpustakaan yang kompatibel.

Linux tidak memiliki registri banyak aplikasi biasanya tidak benar-benar perlu 'diinstal' mereka dapat dibangun dari sumbernya sehingga membuat "My Specialy Portable © aplikasi untuk Linux" benar-benar sia-sia jadi saya pikir tidak ada yang peduli tentang ini.

Lihat saja jawaban paling atas untuk pertanyaan ini dan Anda akan memahami bahwa konsep bodoh untuk membuat aplikasi portabel 'bermanfaat' hanya di dunia pendaftaran dan aplikasi berpemilik dengan manajemen lisensi.

Alex Bolotov
sumber
Terima kasih! Saya tidak yakin itu bodoh sebelumnya, tetapi Anda benar-benar mengantar titik itu pulang;)
Andy Mikula
4

The ./configuretrick akan bekerja untuk beberapa aplikasi. Banyak aplikasi, namun, mengkodekan awalan ke dalam diri mereka sendiri dan kemudian menggunakannya pada saat dijalankan untuk menemukan file pendukung. Mereka juga membutuhkan kemampuan untuk memuat file perpustakaan bersama mereka (meskipun LD_LIBRARY_PATHvariabel lingkungan dapat diatur untuk membantu dengan itu). Hasil dari ini, bagaimanapun, adalah bahwa aplikasi portabel kemungkinan tidak akan terlalu portabel - mereka akan bergantung pada berada pada awalan yang ditentukan. Ini mungkin akan berfungsi di banyak tempat (kebanyakan distro modern memasang media pada /media/DISKNAME), tetapi hal ini mencegah aplikasi menjadi benar-benar portabel dan tidak tergantung lokasi.

Karena itu, jawabannya adalah membuat aplikasi Linux portabel, walaupun bukan tidak mungkin, penuh dengan seluk-beluk. Saya menduga bahwa ini adalah faktor utama mengapa tidak dilakukan sebanyak di Windows. Selain itu, fasilitas komputasi publik (di mana sebagian besar manfaat aplikasi portabel muncul) biasanya tidak menjalankan Linux. Pengecualian penting adalah lab universitas, tetapi Anda biasanya dapat menginstal beberapa perangkat lunak tambahan di direktori home Anda di sana.

Michael Ekstrand
sumber
1

Linux untuk Wisatawan melacak topik ini dan memiliki beberapa trik untuk mengatasi kenyataan bahwa tidak ada (belum?) Aplikasi portabel yang ditujukan untuk Linux - kemungkinan karena alasan yang Anda sebutkan: jika Anda telah menginstal hak istimewa sudah menambahkan aplikasi baru cukup mudah tidak perlu menggunakan yang portabel Anda.

  • Instal WINE dan jalankan aplikasi dari PortableApps.com atau di tempat lain. Ini sepertinya berlebihan, tetapi itu memungkinkan Anda menggunakan aplikasi portabel yang sudah Anda miliki.
  • Jalankan Damn Small Linux di dalam instalasi Linux yang ada (mis. Di Ubuntu ). Yang ini berguna jika Anda belum memiliki hak instalasi pada sistem Linux yang diberikan.
quark
sumber
1

Anda dapat memeriksa Aplikasi Linux Portable . Cukup unduh binari portabel dan buat mereka bisa dieksekusi. semua dependensi yang diperlukan termasuk dalam biner.

pengguna
sumber
1

Untuk membuat aplikasi apa pun menjadi portabel, Anda mungkin bisa membuat symlink yang Anda masukkan ke dalam folder beranda ketika Anda masuk; aplikasi akan menyimpan preferensi melalui symlink ke mana pun itu mengarah, katakanlah flash drive. Saya telah menggunakan ini untuk menghemat Minecraft portabel.

Andrew Wonnacott
sumber
1

Masalah dengan menjalankan aplikasi pada sistem Linux yang ada adalah seringnya aplikasi dikompilasi untuk menggunakan pustaka bersama. Ada banyak distribusi Linux dan banyak versi perpustakaan dasar. Jika Anda beruntung, sistem Linux yang ada akan memiliki versi yang sama dan aplikasi Anda akan ditautkan dengan versi perpustakaan yang benar. Jika tidak, itu tidak akan berhasil. Solusinya adalah mengkompilasi aplikasi yang Anda butuhkan dengan pustaka yang terhubung secara statis, tetapi ini mengarah pada ukuran program yang jauh lebih besar.

vtest
sumber
1

Pandangan lain atas pertanyaan Anda adalah gagasan tentang startup saat ini yang sering menulis kode sisi klien sekali kemudian memanfaatkan kerangka kerja untuk melakukan angkat berat klien sintesis untuk iOS, Android, dan web. Di sini logika bisnis bersifat portabel namun secara otomatis porting oleh alat itu. Ada banyak kerangka kerja seperti itu, Meteor adalah satu.

Diambil dengan cara ini, sebagian besar aplikasi yang ditemukan di toko aplikasi memiliki warisan portabel ini.

Untuk lebih mengaburkan ide ini, kami sekarang memiliki WebAssembly yang memungkinkan Anda untuk menulis kode browser Anda (yang menurut definisi adalah javascript) dalam semakin banyak bahasa server sisi tradisional yang disusun secara statis yang diurai untuk mensintesis javascript untuk menargetkan klien.

Anda bertanya tentang aplikasi linux namun dengan tooling seperti Electron yang secara efektif adalah GUI atau baris perintah yang melilit simpul, gagasan aplikasi linux portabel mengalami ledakan pilihan

Scott Stensland
sumber
0

Ada pemain baru di lapangan, AppImage . Aplikasi dikemas sebagai file tunggal, dengan semua dependensi disertakan, sehingga dapat dijalankan terlepas dari distribusi yang mendasarinya.

Ada repositori gambar aplikasi di AppImageHub .

DevSolar
sumber