Apakah mungkin untuk menginstal perangkat lunak mesin virtual sebagai pengguna non-root dan menjalankannya?
VM mana yang mungkin dipasang tanpa perlu akses root?
Jika tidak mungkin, apa yang akan menjadi mesin virtual paling ringan yang digunakan untuk menjalankan beberapa windows xp sp3 VM?
Untuk KVM , Anda memerlukan akses ke perangkat
/dev/kvm
. Jika pengguna Anda dapat membaca / menulis ke perangkat ini, maka Anda dapat menjalankan mesin virtual berbasis KVM sebagai pengguna Anda.Di sebagian besar distribusi, anggota
kvm
grup memiliki akses ke perangkat ini, jadi yang perlu Anda lakukan adalah menambahkan pengguna Anda kekvm
grup.Untuk sebagian besar teknologi terakselerasi lainnya, Anda perlu memuat modul kernel (ini termasuk virtualbox dan VMWare). Ini hampir pasti membutuhkan akses tingkat root.
Anda dapat menjalankan teknologi virtualisasi yang tidak dipercepat seperti pengguna mana pun. Misalnya, qemu dalam mode non-akselerasi. Sadarilah itu akan sangat lambat dibandingkan dengan virtualisasi yang dipercepat.
sumber
Mode pengguna Linux adalah solusi virtualisasi Linux yang berjalan sepenuhnya di ruang pengguna - tidak diperlukan hak akses root.
Namun, itu hanya dapat menjalankan tamu Linux di dalam host Linux, jadi tidak cocok jika Anda ingin menjalankan hal lain.
sumber
Mesin virtual membutuhkan akses tingkat rendah ke prosesor (dan perangkat keras lainnya) agar efisien. Karenanya Anda tidak akan melihat perangkat lunak VM berkinerja baik yang dapat diinstal non-root.
Adapun mesin virtual ringan, ringan dicapai hanya dengan menyertakan fitur yang dibutuhkan. Ini membutuhkan beberapa pengetahuan tentang OS yang akan dijalankan, dan karenanya VM ringan open-source ( Plex86 , LilyVM ) hanya mendukung sistem operasi open-source. Dengan logika ini, mungkin Microsoft Virtual PC lebih ringan daripada VirtualBox / VMWare / dll. tapi aku benar-benar tidak tahu. VirtualBox tersedia di open-source, cukup dapat digunakan dan selalu mencukupi untuk keperluan saya (tapi saya sudah mencoba yang lain).
sumber
Virtualbox 4.0.8 perlu diinstal sebagai root offcourse, tetapi setelah itu Anda dapat membiarkan pengguna membuat VM sendiri. Anda hanya harus menjadi anggota grup
vboxusers
usermod -G vboxusers USERNAME
Lihat tautan ini , artikel bagus cara menjalankannya tanpa kepala, langsung dari shell. Saya juga benar-benar menggali bahwa itu mendukung protokol RDP, artinya Anda hanya dapat menggunakan
rdesktop
untuk terhubung.sumber
QEmu mampu melakukan itu. Saya sudah melakukannya beberapa kali. Tidak terlalu performant
sumber
1) Tiga baris menjawab
Untuk menggunakan gambar prebuilt / kompilasi versi qemu saya, unduh dari sini , lalu hapus kompresnya:
Anda juga dapat mengunduh gambar debian 8 saya (1.6G) dari sini :
dan akhirnya lari
Anda harus memiliki Debian 8 yang berfungsi, dalam mode teks, dengan port ssh dibuka di host host di port 22222. Anda dapat login menggunakan "root" pengguna dan kata sandi "root".
2) Jawaban yang lebih panjang, buat gambar-gambar ini sendiri
QEMU memang solusi yang memungkinkan saya menginstal citra linux saya sendiri di server di mana saya tidak memiliki akses root. Ini sangat berguna, saya menggunakannya misalnya untuk melakukan reverse ssh tanpa mengungkapkan kata sandi pengguna utama saya, atau untuk tujuan pendidikan. Tetapi memang, karena Anda tidak dapat menggunakan KVM untuk virtualisasi nyata tanpa akun root, Anda hanya dapat melakukan emulasi, yang bisa sangat tidak efisien (tetapi untuk operasi baris perintah, saya tidak pernah benar-benar melihat overhead).
2.1) Pak
qemu
Inilah uraian bagaimana saya melanjutkan. Langkah pertama adalah membuat qemu "portable", yaitu dapat digunakan di server tanpa akses root. Untuk melakukannya, Anda memiliki beberapa metode, saya akan mencoba menyajikannya sehingga Anda dapat memilih yang Anda inginkan.
2.1.a) Metode 1: unduh .deb yang tersedia
Solusi ini bisa sangat cepat untuk diterapkan (pada dasarnya jika berfungsi, dalam 1 perintah Anda mendapatkannya), tetapi karena skrip saya mungkin buggy / mungkin lupa beberapa lib, mungkin cukup lama untuk secara manual mengunduh semua binari ... The Keuntungan lain dari metode ini adalah Anda dapat menjalankannya dalam mode non root, langsung di server. Gagasan untuk mendapatkan binari qemu di sini adalah untuk mendapatkan file .deb / .rpm (dari apt, atau dari situs web online yang menjadi host .deb), ekstrak, periksa dependensi perpustakaan menggunakan
ldd
, dan unduh semua.deb
dependensi yang ada belum ada di komputer untuk mengekstraknya ( :.so
file). Karena itu bisa sangat panjang dan berulang, saya membuat skrip kecil, tetapi jika Anda berani, Anda dapat melakukan semua itu secara manual ... Hanya perlu waktu. Untuk menggunakannya, simpan skrip ini dalam filecreate_qemu_binaries.sh
dan jalankan dengan menggunakan:
semuanya bekerja dengan baik, pada akhirnya Anda harus memiliki dalam folder
./qemu_extract/qemu_packed/
satu fileqemu-system-x86_64
(biner utama), satu folderlib
(lib yang perlu diambilqemu
), dan satu folderpc-bios
, satu set file yangqemu
perlu dijalankan. Anda kemudian dapat menjalankanqemu
dengan menggunakan (jangan lupa ganti dengan gambar sistem file Anda):Nikmati ! (jika skrip tidak berfungsi untuk Anda, jangan ragu untuk bertanya kepada saya, saya mengujinya hanya pada dua komputer, dan isi bebas untuk menghapus
redir
jika Anda tidak perlu ssh penerusan antara host dan tebakan)2.1.b) Metode 2: jika Anda mengakses komputer dengan akses root
Metode pertama membutuhkan komputer dengan akses root (atau
qemu
diinstal). Pertama instalqemu
menggunakan sesuatu sepertidan kemudian cari path absolut dari qemu:
Lalu, buat folder untuk meletakkannya:
dan dapatkan daftar perpustakaan yang terhubung dengan qemu:
sekarang, kita perlu menggunakan BIOS dengan qemu. File tersebut tersedia di sistem Anda, tetapi saya tidak tahu mengapa mereka ada di folder yang berbeda, jadi saya pikir lebih mudah untuk mendapatkannya dari sumber:
Sekarang, itu harus berfungsi, Anda dapat menyalin file-file ini pada mesin non root, dan jalankan saja
qemu
menggunakan baris berikut (jangan lupa untuk mengganti gambar):2.1.c) Metode 3: dari sumber
Anda juga dapat mengompilasi sumber, tetapi jika Anda tidak memiliki semua pustaka yang diinstal, mungkin sulit untuk menghindari menggunakan komputer yang di-root untuk mengkompilasi qemu. Tapi saya kira itu sedikit lebih dapat diandalkan jika kedua metode di atas tidak berfungsi. Kemudian, setelah dikompilasi, dapatkan file yang dapat dieksekusi, dan lakukan trik yang sama seperti di atas untuk mendapatkan perpustakaan (menggunakan
ldd
, semua perpustakaan harus sudah ada di komputer) dan file pc-bios. Dan lagi, jalankan dengan perintah yang sama.2.3) Buat gambar Anda sendiri
Jika Anda tidak ingin menggunakan gambar sistem file yang sudah dibuat, cukup ikuti banyak tutorial menggunakan perintah di atas sebagai ganti
qemu/qemu-system-x86_64
! NB: jika Anda juga ingin menggunakanqemu-img
untuk membuat gambar sebagai non root, maka ikuti proses yang sama seperti di atas!Nikmati !
NB: jika Anda ingin menggunakan tampilan kutukan untuk menjalankannya di server tanpa GUI, Anda harus menambahkan baris Anda pada gambar dalam opsi boot sehingga tidak mengaktifkan frame buffer di
/etc/default/grub
:(yang paling penting adalah yang terakhir, saya tidak yakin apakah itu diperlukan). Sebaik
sehingga grub tetap dalam mode teks. Anda mungkin juga ingin mengaktifkan mode teks di systemd jika itu tidak cukup.
sumber