OpenVZ Forum


Home » International » Russian » vzctl exec. Bug?
Re: vzctl exec. Bug? [message #34304 is a reply to message #34283] Mon, 22 December 2008 15:33 Go to previous messageGo to previous message
asarg is currently offline  asarg
Messages: 5
Registered: March 2008
Junior Member
Работаю с pilat в одной комнате )

Мне кажется что проблему решить очень просто.

Что мы изначально имеем? vzctl? это он выполняет вход в VE и знает, что и как запустить? Все, нам для решения больше ничего не надо, кроме изменения исходников vzctl.

Конкретно, саму команду exec трогать не будем, оставим ее для совместимости с уже наработанными (подозреваю не только у нас) скриптами для обхода данной проблемы, вместо этого введем новую команду execl или добавим ключ --login к уже имеющемуся exec. Далее для простоты будем говорить просто об execl.

имеем:
vzctl [flags] execl veid command [arg ...]
Тогда vzctl сначала выполняет действия:
1. лезет внутрь VE и считывает оттуда /etc/passwd, и находит там $SHELL для UID=0.
2. проверяет, существует ли $SHELL внутри VE и исполнимый ли он.
3. находит /bin/echo внутри VE и проверяет, исполнимый ли он
4. если все условия соблюдены, то vzctl заходит внутрь VE и исполняет в нем команду
/bin/echo 'command [arg ...]' | $SHELL -l
- нашел именно такой способ, совместимый с различными диалектами шелла от bash до zsh.
5. если не соблюдены условия в пп 1-3, то fallback до vzctl exec или возврат ошибки.

в принципе несложно.

[Updated on: Mon, 22 December 2008 15:38]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Порядок запуска VE
Next Topic: Не загружается ядро на Cent OS 5.2. Ошибка grub?
Goto Forum:
  


Current Time: Mon Aug 25 18:51:25 GMT 2025

Total time taken to generate the page: 0.06198 seconds