8

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 ?

Samir Sabri
  • 826
  • 3
  • 9
  • 21
  • 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 '16 at 09:53
  • 1
    If you're just trying to change the hostname, have a look at the answer to [this question](http://askubuntu.com/questions/9540/how-do-i-change-the-computer-name) – Nick Sillito Sep 18 '16 at 12:00
  • @SamirSabri You got `hostnamectl` in 14.04 by installing `systemd`? – Anwar Sep 18 '16 at 13:27
  • no, but `sudo apt-get install systemd-services` installed it successfully – Samir Sabri Sep 18 '16 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 '16 at 18:11
  • Yea, you are right – Samir Sabri Sep 20 '16 at 19:10

2 Answers2

4

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
Anwar
  • 75,875
  • 31
  • 191
  • 309
  • 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` – Samir Sabri Sep 21 '16 at 06: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 '16 at 07:02
1

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
Anwar
  • 75,875
  • 31
  • 191
  • 309
Neoniet
  • 105
  • 10
  • 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` – Samir Sabri Sep 18 '16 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? – Samir Sabri Sep 18 '16 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 '16 at 11:43