Thursday, 1 November 2012

OpenVZ 2.6.18 и hostname, уверены, что все знаете об этом?


Играемся внутри OpenVZ VPS:
ns3:/etc# uname -a
Linux ns3.fastvps.ru 2.6.32-308.8.2.el5.028stab101.1 #1 SMP Sun Jun 24 20:25:35 MSD 2012 i686 GNU/Linux
ns3:/etc# hostname "ns1.fastvps.ru"
ns3:/etc# uname -a
Linux ns1.fastvps.ru 2.6.32-308.8.2.el5.028stab101.1 #1 SMP Sun Jun 24 20:25:35 MSD 2012 i686 GNU/Linux
ns3:/etc# cat /etc/hostname
ns3.fastvps.ru
ns3:/etc# hostname "ns3.fastvps.ru"
ns3:/etc# uname -a
Linux ns3.fastvps.ru 2.6.32-308.8.2.el5.028stab101.1 #1 SMP Sun Jun 24 20:25:35 MSD 2012 i686 GNU/Linux
При этом:
echo "ns1.fastvps.ru" > /proc/sys/kernel/hostname
-bash: echo: write error: Operation not permitted
ns3:/etc# echo -n "ns1.fastvps.ru" > /proc/sys/kernel/hostname
-bash: echo: write error: Operation not permitted 

Да, это фича-бага, в openvz 2.6.32 все происходит совершенно иначе: http://bugzilla.openvz.org/show_bug.cgi?id=2438

3 comments:

  1. Ниче не понял. Руками задали хостнейм, и да - он применился от команды hostname. Файл /etc/hostname не играет здесь роли. (Нужно тогда уж hostname --file делать) Он используется только при загрузке 1 раз от /etc/init.d/hostname.sh

    А то что Operation not permitted может зависить от ядра еще, у меня на vps к примеру в ovz нет проблем с ехо значение в /proc.

    ReplyDelete
  2. Это понятно, суть в том, что хостнейм в допонении к ioctl вызову обычно можно задать через проц фс (на железе, без виртулизации), а тут только ioctl.

    ReplyDelete

Note: only a member of this blog may post a comment.