Ubuntu Server vs Desktop pada VPS: pilih mana?
Ubuntu Server dan Desktop ialah Ubuntu yang sama dengan set pakej berbeza. Ketahui mana satu untuk VPS anda, kenapa GUI memakan RAM yang anda bayar, dan bila ia berbaloi.
Jawapan ringkas untuk VPS anda
Pilih Ubuntu Server. Ubuntu Server dan Ubuntu Desktop ialah Ubuntu yang sama: kernel yang sama, repositori yang sama, arahan apt yang sama. Yang berbeza hanyalah set pakej yang sudah dipasang dan cara imej itu dipasang. Imej Server tidak membawa sesi desktop, jadi selepas log masuk anda dapat satu prompt teks dan tiada apa-apa lagi. Itu bukan kecacatan. Itu memang tujuannya.
Tiada monitor dicucuk pada mesin anda. VPS itu duduk dalam rak di sebuah pusat data, dan satu-satunya jalan masuk ialah rangkaian. Persekitaran desktop melukis skrin untuk seseorang yang duduk di hadapan mesin, dan di sini tiada sesiapa duduk di hadapannya.
Soalan ini datang dua kali. Kali pertama di menu dropdown semasa anda membuat pesanan. Kali kedua kira-kira dua puluh minit selepas log masuk pertama, apabila anda sedar tiada ikon, tiada tetikus, dan tiada tempat untuk diklik. Halaman ini menjawab kedua-duanya. Kalau anda masih menimbang antara Ubuntu, Debian dan yang lain, mulakan dengan panduan memilih sistem pengendalian untuk VPS anda dahulu, kerana itu keputusan yang lebih besar.
Apa sebenarnya beza Ubuntu Server dan Desktop?
Empat perkara, dan hanya empat perkara itu:
- Set pakej yang sudah dipasang dalam imej.
- Pemasang yang datang bersama imej itu.
- Sasaran but lalai yang systemd tuju selepas kuasa dihidupkan.
- Perkhidmatan yang mendengar pada rangkaian selepas but pertama.
Set pakej ialah bezanya yang paling penting. Imej Desktop membawa GNOME, pengurus paparan, pelayan audio, pelayan cetak, penyemak imbas dan satu timbunan pustaka grafik. Imej Server tidak membawa satu pun daripada itu. Ia membawa alat yang perlu untuk sebuah mesin yang diuruskan dari jauh, iaitu openssh-server dan rakan-rakannya.
Pemasang pula tidak relevan pada VPS. Imej Desktop bermula dengan sesi langsung dan pemasang grafik, manakala imej Server menggunakan pemasang berasaskan teks. Pada VPS, penyedia biasanya sudah memasang sistem itu untuk anda daripada imej awan yang siap, jadi anda tidak pernah melihat mana-mana pemasang. Anda terus dapat alamat IP dan kata laluan root.
Sasaran but ialah apa yang systemd cuba capai selepas but. Satu sasaran grafik bermakna sistem cuba memulakan pengurus paparan. Satu sasaran teks bermakna sistem berhenti pada konsol. Jangan andaikan nilai mana yang ada pada kotak anda. Semak sendiri, dan saya tunjuk arahannya di bawah.
Selebihnya sama. Kitaran LTS sama dan tempoh sokongan sama. Anda boleh pasang GNOME pada imej Server, dan anda boleh buang GNOME daripada imej Desktop. Tiada dinding antara keduanya, kerana keduanya memang Ubuntu yang sama.
Kenapa desktop memakan bajet VPS yang anda bayar?
RAM dan CPU yang desktop guna ialah RAM dan CPU yang anda bayar setiap bulan. Pada pelan kecil yang berharga puluhan ringgit sebulan, setiap ratus megabait ada harganya. Saya tidak akan beri anda angka penggunaan memori di sini, kerana angka itu berubah mengikut versi Ubuntu, mengikut persekitaran desktop dan mengikut apa yang anda pasang di atasnya. Ukur pada kotak anda sendiri, kerana itu satu-satunya angka yang benar untuk anda:
free -h
ps aux --sort=-%mem | head -n 12
systemd-analyze blame | head -n 20free -h memberi lajur available, dan itulah nombor yang patut anda baca, bukan lajur free. Linux menggunakan memori kosong sebagai cache, jadi free yang kecil adalah normal. available yang kecil pula bermakna anda memang kesuntukan memori. ps aux --sort=-%mem menyusun proses daripada yang paling lahap, jadi baris teratas memberitahu anda siapa yang makan. systemd-analyze blame menyenaraikan setiap perkhidmatan mengikut masa yang diambil semasa but, dan pada sistem dengan desktop senarai itu jauh lebih panjang.
Ada kos kedua yang lebih senyap. Desktop membawa perkhidmatan yang membuka port dan mendengar pada rangkaian, contohnya perkhidmatan penemuan rangkaian dan perkhidmatan cetak. Pada komputer riba di rumah, itu berguna. Pada pelayan awam dengan IP yang boleh dicapai seluruh dunia, setiap port yang mendengar ialah satu permukaan serangan tambahan yang anda tidak minta. Lihat senarai anda sendiri:
sudo ss -tulpnSetiap baris ialah satu soket yang mendengar. Lajur terakhir memberi nama proses yang memilikinya. Alamat 127.0.0.1 bermakna hanya mesin itu sendiri boleh menyambung, manakala 0.0.0.0 atau * bermakna sesiapa sahaja yang boleh sampai ke IP anda boleh mencuba. Bandingkan senarai ini sebelum dan selepas anda pasang apa-apa yang besar. Selepas itu, semak pelayan anda untuk CVE yang sudah diketahui supaya anda tahu apa yang sebenarnya terdedah.
Bagaimana saya tahu imej mana yang sedang berjalan?
Empat arahan, dan anda tidak perlu meneka lagi:
cat /etc/os-release
systemctl get-default
apt-cache policy ubuntu-desktop
dpkg -l | grep -c '^ii'cat /etc/os-release mencetak baris PRETTY_NAME dengan nama dan versi Ubuntu anda. Perhatikan bahawa fail ini tidak membezakan Server dan Desktop, kerana memang tiada beza dari segi pengedaran. Ia Ubuntu.
systemctl get-default mencetak satu nama sasaran. Baca apa yang keluar pada kotak anda dan terima jawapan itu, jangan salin jawapan daripada mana-mana panduan, termasuk panduan ini. apt-cache policy ubuntu-desktop pula mencetak baris Installed:. Kalau ia berbunyi (none), pakej meta desktop tiada pada sistem anda. dpkg -l | grep -c '^ii' mengira berapa pakej yang benar-benar terpasang. Angka itu sendiri tidak bermakna apa-apa sehingga anda membandingkannya, jadi jalankan pada dua kotak berbeza dan lihat jurangnya.
Ubuntu Server ada GUI tak?
Ada, kalau anda pasang. Tiada apa-apa dalam imej Server yang menghalang anda memasang persekitaran desktap penuh, dan arahannya pendek:
sudo apt update
sudo apt install ubuntu-desktop-minimalTetapi memasang desktop tidak memberi anda skrin. Ia hanya meletakkan perisian di atas cakera. Anda masih perlu satu cara untuk melihat desktop itu dari rumah, iaitu pelayan VNC atau xrdp, satu lubang tembok api atau satu terowong SSH, dan satu kata laluan yang bukan 123456. Itu kerja yang berasingan dan ada perangkap keselamatannya sendiri, jadi ikut langkah memasang desktop jauh pada VPS Linux untuk bahagian itu. Saya tidak akan mengajarnya semula di sini.
Sebelum anda taip arahan di atas, jawab satu soalan dahulu: apa sebenarnya yang anda mahu buat? Kebanyakan sebab orang mahukan desktop pada pelayan sebenarnya ada jawapan yang lebih murah.
Bila GUI memang berbaloi?
Dua keadaan yang jujur.
Pertama, anda ada satu alat yang memang hanya wujud sebagai aplikasi grafik dan tiada padanan baris arahan. Dalam kes itu anda bukan mahukan desktop, anda mahukan satu tetingkap. X forwarding di bawah sudah cukup, dan anda tidak perlu memasang GNOME untuk mendapatkannya.
Kedua, anda sedang belajar dan tugas pentadbiran itu masih asing bagi anda. Melihat susun atur cakera atau senarai perkhidmatan dalam bentuk visual memang membantu semasa anda belum biasa. Ini sebab yang sah, dan panel web menjawabnya dengan kos yang jauh lebih rendah daripada desktop penuh.
Satu perkara yang GUI pada VPS tidak akan selesaikan ialah apa-apa yang perlukan kad grafik sebenar. VPS biasa tiada GPU, jadi pemaparan berlaku pada CPU dan hasilnya perlahan. Apa yang sebenarnya berlaku apabila anda cuba bermain permainan pada VPS menerangkan had itu dengan lebih terperinci, dan had yang sama terpakai pada penyuntingan video dan pemodelan 3D.
Cara yang lebih murah, cuba dahulu
SSH sahaja. Untuk memasang pelayan web, menguruskan pangkalan data, membaca log atau mengedit fail konfigurasi, terminal sudah lengkap. Jalankan kerja panjang di dalam tmux supaya ia terus hidup apabila sambungan anda putus, seperti yang diterangkan dalam cara menjalankan sesi kerja panjang dalam tmux pada VPS.
X forwarding untuk satu tetingkap. Anda jalankan satu aplikasi grafik pada pelayan dan tetingkapnya muncul pada skrin komputer anda sendiri. Pada pelayan, pastikan X11Forwarding yes ada dalam /etc/ssh/sshd_config, kemudian pasang alat sokongan:
sudo apt install xauth x11-apps
sudo systemctl restart sshDari komputer anda, sambung dengan bendera -X dan uji dengan satu aplikasi kecil:
ssh -X pengguna@alamat-ip-anda
xeyesKalau sepasang mata muncul pada skrin anda, jalan pintas ini berfungsi dan anda boleh jalankan aplikasi grafik lain dengan cara yang sama. Kalau anda nampak Error: Can't open display: bermakna pemboleh ubah DISPLAY tidak ditetapkan pada sesi SSH itu, biasanya kerana xauth belum dipasang pada pelayan atau X11Forwarding masih no. Pada macOS anda perlu XQuartz di sebelah klien, dan pada Windows anda perlu pelayan X seperti VcXsrv.
Panel web. Cockpit memberi papan pemuka dalam penyemak imbas dengan grafik penggunaan, senarai perkhidmatan, log dan satu terminal:
sudo apt install cockpit
sudo systemctl enable --now cockpit.socketJangan buka port 9090 kepada seluruh dunia. Biarkan tembok api menutupnya dan capai melalui terowong SSH dari komputer anda:
ssh -L 9090:localhost:9090 pengguna@alamat-ip-andaKemudian buka https://localhost:9090 pada penyemak imbas anda. Sijil Cockpit ditandatangani sendiri, jadi penyemak imbas akan memberi amaran pada kali pertama. Itu dijangka pada sambungan terowong seperti ini.
Saya sudah pasang desktop dan menyesal. Macam mana nak buang?
Membuang tidak sebersih memasang. sudo apt remove ubuntu-desktop-minimal hanya membuang pakej meta, dan semua kebergantungannya tinggal di tempat asal. sudo apt autoremove --purge akan cuba mengemas, tetapi baca senarai yang dicadangkan sebelum anda tekan y, kerana autoremove kadangkala mencadangkan pakej yang anda masih perlukan. Kalau anda pernah menukar sasaran but, kembalikan dengan sudo systemctl set-default multi-user.target, kemudian but semula dan semak dengan systemctl get-default.
Pada VPS ada jalan yang lebih bersih dan lebih cepat: bina semula mesin itu daripada imej Ubuntu Server yang baharu melalui panel penyedia anda. Ini memadamkan semuanya, jadi salin data dan fail konfigurasi anda keluar dahulu. Kemudahan membuang dan membina semula ialah salah satu sebab utama orang menyewa pelayan maya, dan apa sebenarnya yang anda dapat apabila menyewa VPS menerangkan di mana sempadan kawalan itu berada.
Kesilapan biasa dan mesej yang anda akan nampak
Anda sambung dengan SSH dan menunggu desktop muncul. Ia tidak akan muncul. SSH memberi shell teks, dan itu sahaja yang ia janjikan. Tiada apa-apa yang rosak.
Anda pasang desktop penuh pada pelan RAM terkecil. Kalau memori habis semasa pemasangan, kernel akan membunuh proses untuk menyelamatkan sistem. Anda akan nampak buktinya dengan sudo journalctl -k | grep -i 'out of memory', yang mencetak baris bermula dengan Out of memory: Killed process. Selepas itu pemasangan tinggal separuh jalan, dan sudo apt --fix-broken install ialah langkah pemulihan pertama.
E: Unable to locate package ubuntu-desktop-minimal. Senarai pakej anda belum dimuat turun. Jalankan sudo apt update dahulu, kemudian ulang arahan pemasangan.
systemctl get-default menunjuk sasaran grafik tetapi tiada desktop. Sasaran hanya menyatakan niat. Kalau tiada pengurus paparan dipasang, tiada apa-apa yang dilukis. Sahkan dengan systemctl status display-manager, dan kalau ia menjawab Unit display-manager.service could not be found, memang tiada pengurus paparan pada kotak itu.
Anda buka port VNC kepada internet. VNC asas menghantar sesi tanpa penyulitan, jadi kata laluan dan skrin anda boleh dibaca di tengah jalan. Bawa ia melalui terowong SSH dengan ssh -L 5901:localhost:5901 pengguna@alamat-ip-anda, dan tutup port itu pada tembok api.
Jadi, mana satu untuk anda?
Ambil imej Ubuntu Server pada dropdown. Ia lebih ringan, ia membuka lebih sedikit port, dan ia memberi anda seluruh RAM yang anda bayar untuk kerja yang anda mahu jalankan. Kalau satu hari nanti anda memang perlukan tetingkap grafik, Ubuntu yang sama itu boleh memberinya kepada anda dengan satu arahan apt, dan anda boleh mulakan dengan X forwarding sebelum melompat ke desktop penuh.
Selepas mesin itu hidup, keselamatan asas lebih penting daripada antara muka. Ikut sepuluh minit pertama pada VPS baharu untuk kunci SSH, pengguna bukan root dan tembok api, sebelum anda pasang apa-apa yang lain.
FAQ
Boleh saya pasang GUI pada Ubuntu Server?
Boleh. Ubuntu Server dan Ubuntu Desktop ialah pengedaran yang sama, jadi sudo apt update diikuti sudo apt install ubuntu-desktop-minimal akan memasang persekitaran desktop pada imej Server. Ingat bahawa itu hanya meletakkan perisian pada cakera. Anda masih perlukan pelayan VNC atau xrdp beserta terowong SSH untuk benar-benar melihat skrin itu dari komputer anda, kerana tiada monitor dicucuk pada VPS.
Ubuntu Server lebih laju daripada Ubuntu Desktop?
Kernel dan pustaka teras adalah sama, jadi kelajuan mentah CPU tidak berubah. Yang berubah ialah jumlah memori dan masa CPU yang tinggal untuk kerja anda, kerana imej Server tidak menjalankan pelayan paparan, pengurus paparan dan perkhidmatan latar desktop. Ukur sendiri dengan free -h untuk memori yang tersedia dan systemd-analyze blame untuk perkhidmatan yang bermula semasa but, kerana jurang sebenar bergantung pada apa yang anda pasang.
Bagaimana saya tahu imej mana yang sedang berjalan pada VPS saya?
Jalankan apt-cache policy ubuntu-desktop dan baca baris Installed:. Kalau ia berbunyi (none), tiada pakej meta desktop pada sistem itu. Tambah systemctl get-default untuk melihat sasaran but semasa, dan cat /etc/os-release untuk versi Ubuntu. Fail os-release tidak membezakan Server dan Desktop, kerana dari segi pengedaran memang tiada beza.
Kenapa saya tidak nampak apa-apa selepas log masuk ke VPS Ubuntu Server?
Kerana imej Server tidak mempunyai sesi desktop yang menunggu anda, dan SSH memang hanya memberi shell teks. Prompt yang berkelip itu ialah keadaan normal dan bukan tanda pemasangan gagal. Sahkan sistem sihat dengan uptime dan systemctl is-system-running, kemudian teruskan kerja anda melalui baris arahan.
Mana lebih baik untuk pemula: pasang desktop atau belajar terminal?
Belajar terminal, kerana setiap panduan pelayan yang anda akan baca selepas ini ditulis dalam arahan teks, dan arahan itu boleh disalin, disimpan dan diulang. Kalau anda mahukan bantuan visual semasa belajar, pasang Cockpit dengan sudo apt install cockpit dan capai melalui terowong SSH pada port 9090. Ia memberi papan pemuka dalam penyemak imbas tanpa kos desktop penuh.