Saya mencoba menggunakan systemctl
perintah dalam ubuntu:16.04
wadah buruh pelabuhan. Saya menjalankan perintah berikut ...
systemctl status ssh
Namun saya mendapatkan kesalahan ...
Failed to connect to bus: No such file or directory
Mengapa ini tidak berhasil? Apakah ini terkait dengan Ubuntu yang berjalan dalam wadah buruh pelabuhan? Bagaimana saya bisa systemctl
bekerja dengan benar?
service ssh start
Jawaban:
Saya menganggap Anda memulai wadah buruh pelabuhan Anda dengan sesuatu seperti
Masalahnya sekarang adalah bahwa proses init Anda PID 1 adalah
/bin/bash
, bukan systemd. Konfirmasikan denganps aux
.Selain itu Anda kehilangan dbus dengan akan menjadi cara untuk berkomunikasi. Di sinilah pesan kesalahan Anda berasal. Tetapi karena PID 1 Anda bukan systemd, itu tidak akan membantu untuk menginstal dbus.
Yang terbaik adalah memikirkan kembali cara Anda berencana menggunakan buruh pelabuhan. Jangan mengandalkan systemd sebagai manajer proses tetapi biarkan buruh pelabuhan menjalankan aplikasi yang Anda inginkan di latar depan.
sumber
docker log
./sbin/init
menjadi proses PID = 1. Menambahkan--privileged=true
seperti yang disarankan oleh @sonjaya sonjaya di bawah ini memecahkan masalah tersebut.Yang lain melaporkan masalah yang sama. Mulai terminal dan ketik:
Apakah Anda melihat variabel lingkungan seperti ini?
Di mana
id -u
terlampir dalam backticks bukan tanda kutip tunggal. Variabel ini ditafsirkan kembali menjadi angka yang biasanya1000
untuk pengguna biasa dan0
untuk pengguna super (sudo).Jika variabel lingkungan
XDG_RUNTIME_DIR
tidak ada, Anda harus membuatnya. Diskusi lengkap ada di launchpad systemd jawaban .sumber
root
, jadi saya menggunakan variabelXDG_RUNTIME_DIR=/run/root/0
, tanpa hasil. Kemudian saya memeriksa folder/run
dan menemukan bahwa tidak ada subfolder/run/root
. Apakah di sana saya bisa mendapatkan pesan kesalahan yang lebih banyak? Saya telah melihatsystemctl --help
tetapi tidak bisa melihat cara untuk mendapatkan pesan kesalahan rinci.PID 1
yang biasanyasystemd
diganti dalam wadah Docker dengan Entrypoint wadah .Jika Anda mendapatkan kesalahan ini di Subsistem Windows untuk Linux (WSL), saya menemukan itu karena Docker tidak didukung. Ini karena kurangnya cgroup dan prasyarat lainnya.
sumber
Coba ini:
atau
akan hasil yang sama.
Di sini saya dapatkan dari dokumen Docker :
sumber
Mulai saja
dbus
layanan:sumber
Anda mungkin tidak menjalankan systemd , yang merupakan implementasi standar init pada 16.04. Jika Anda memutakhirkan dari 14,04, kemungkinan besar Anda masih menjalankan pemula , dan hasil menjalankan perintah systemctl adalah output yang Anda dapatkan.
Lihat jawaban saya di systemctl: comand tidak ditemukan server 16.04 untuk lebih.
sumber
Di dalam wadah buruh pelabuhan, saya pikir Anda dapat memperbarui-rc.d jika Anda masih berjuang dengan systemd. Saya mencoba dengan update-rd.c dan berhasil.
sumber
Saya mendapatkan kesalahan yang sama persis dan kemudian saya jalankan dengan sukses
sudo
sumber
sudo
untuk itu. Sepertinya kebetulan. Bisakah Anda tes ulang?saif@sr-server:~$ systemctl status ssh
Failed to connect to bus: No such file or directory
saif@sr-server:~$ sudo systemctl status ssh
[sudo] password for saif:
● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2018-01-19 23:38:14 PKT; 4min 4s ago Main PID: 18222 (sshd) Tasks: 15 Memory: 32.7M CPU: 488ms