I am using Ubuntu 14.04.3 LTS, when I try to run command hostnamectl I get error:

bash: hostnamectl: command not found

Which library shall I install to use hostnamectl ?

  • 2
    on my system it appears to be provided by systemd. I'm not sure whether it's available to you without that (in 14.04 which doesn't use systemd)
    – Zanna
    Sep 18, 2016 at 9:53
  • 1
    If you're just trying to change the hostname, have a look at the answer to this question Sep 18, 2016 at 12:00
  • @SamirSabri You got hostnamectl in 14.04 by installing systemd?
    – Anwar
    Sep 18, 2016 at 13:27
  • no, but sudo apt-get install systemd-services installed it successfully Sep 18, 2016 at 13:40
  • @SamirSabri If that is the case, shouldn't you accept the answer that said you to do so? The accepted answer suggested you to install systemd but you installed systemd-services!!
    – Anwar
    Sep 20, 2016 at 18:11

2 Answers 2


hostnamectl is provided by systemd-services package in Ubuntu 14.04. You need to install that package to get the command line utility

sudo apt-get install systemd-services
  • have you tried it? I got this error:# sudo hostnamectl set-hostname new_host_name Failed to get D-Bus connection: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory Sep 21, 2016 at 6:46
  • @SamirSabri Yes. I used that in 16.04. The error seems like you have problem in dbus. You can ask a new question regarding this error.
    – Anwar
    Sep 21, 2016 at 7:02

To find out which package a file is you can use apt- file:

sudo apt-get install apt-file
apt-file update

After using it it is as simple as :

ricardo@zeus:~$ apt-file search hostnamectl
cdist: /usr/lib/python3/dist-packages/cdist/conf/type/__hostname/explorer/has_hostnamectl
systemd: /usr/bin/hostnamectl
systemd: /usr/share/bash-completion/completions/hostnamectl
systemd: /usr/share/man/man1/hostnamectl.1.gz
systemd: /usr/share/zsh/vendor-completions/_hostnamectl

Once apt -file package tells you that the file is found , you just have to install it:

sudo apt-get install systemd
  • I tried that, I got similar result, but when I run /usr/bin/hostnamectl I get: bash: /usr/bin/hostnamectl: No such file or directory Sep 18, 2016 at 10:21
  • if I try to run ls /usr/bin I can't see hostnamectl , however, apt-file search hostnamectl will show systemd: /usr/bin/hostnamectl can you please exaplain? Sep 18, 2016 at 10:24
  • 1
    Once apt -file package tells you that the file is found , you just have to install it: sudo apt- get install systemd
    – Neoniet
    Sep 18, 2016 at 11:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.