/usr/sbin/libvirtd: initialization failed

Gentoo logó

Probléma: A libvirtd a következő, semmitmondó hibaüzenetet dobja:

~# service libvirtd start
 * Caching service dependencies ... [ ok ]
 * Starting libvirtd ...
/usr/sbin/libvirtd: initialization failed
 * start-stop-daemon: failed to start /usr/sbin/libvirtd [ !! ]
 * ERROR: libvirtd failed to start

Továbbá a /etc/libvirt/libvirtd.conf állományban lévő, log_level beállítása is hatástalan, ugyanezt a semmit mondja.

Megoldás: Valószínűleg a lokalizációs beállításokkal van gond, ha a locale parancs kimenete így néz ki:

~# locale
locale: Cannot set LC_ALL to default locale: No such file or directory
...

Szerveren vagyunk, állítsunk mindent angolra! Ehhez a /etc/env.d/02locale állományba kellenek a következő sorok:

LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="C"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
LC_ALL=""

Futtassuk a locale-gen parancsot:

~# locale-gen
 * Generating 1 locales (this might take a while) with 1 jobs
 *  (1/1) Generating en_US.UTF-8 ...                                   [ ok ]
 * Generation complete

Ellenőrizzük, hogy megvan-e a beállítás:

~# eselect locale list
Available targets for the LANG variable:
  [1]   C
  [2]   POSIX
  [3]   en_US.UTF-8 *
  [ ]   (free form)

Majd állítsuk be az angol lokalizációt, frissítsük a futó környezetet és profilt:

~# eselect locale set en_US.UTF-8
Setting LANG to en_US.UTF-8 ...
Run ". /etc/profile" to update the variable in your shell.
source /etc/profile && env-update

Indítsuk el a libvirt démont:

~# /etc/init.d/libvirtd start
 * Starting libvirtd ...                   [ ok ]

Örül (ez fontos)! :)