Please change default shell to bash. Dash is incompatible.

Discussion in 'General' started by Stefan Schumacher, Feb 7, 2022.

Tags:
  1. Hi,
    I bought ispc3-migration-tool-2_2_5.tar.gz and just copied the installation to one of my oldest servers (Debian Squeeze. You dont want to know how old the oldest server is, which I "inhererited"). Problem:
    cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    Looks very much like root has bash as his default shell. I am logged in as root via ssh.
    ./migrate --help
    Please change default shell to bash. Dash is incompatible.
    /bin/bash is GNU Bash and an executable binary, not a symlink to /bin/dash. There is a symlink from /bin/sh to /bin/dash. Of course I could simply change the symlink but I would like to have confirmation from someone more knowledgeable about ISPConfig that I am not going to break the ISPConfig installation (also ancient) on this server by doing so.

    Yours sincerely
    Stefan
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    Run:

    dpkg-reconfigure dash

    and choose 'no' in the dialog. ISPConfig requires bash and not dash, this step is described in the ISPConfig install instructions btw.
     
    ahrasis likes this.
  3. Mike Conom

    Mike Conom New Member

    I have the same problem.
    Both servers use acme.sh
    When i execute the command dpkg-reconfigure dash, i didnt get dialog to choose no
    Thanks
     
  4. pyte

    pyte Well-Known Member HowtoForge Supporter

    Check the available Shells:
    Code:
    cat /etc/shells
    Check the current Shell:
    Code:
    echo $SHELL
    Set it to bash:
    Code:
    chsh -s /bin/bash
     
  5. till

    till Super Moderator Staff Member ISPConfig Developer

  6. pyte

    pyte Well-Known Member HowtoForge Supporter

    That will work too but i guess chsh is just a wrapper with some failsafes to automatically change the symlinks so you cancle out user error anyways :)
     
  7. Mike Conom

    Mike Conom New Member

    The system is Debian 12
    I found this solution

    Change to Bash
    Code:
    sudo ln -sf /bin/bash /bin/sh
    Revert to to Dash
    Code:
    sudo ln -sf /bin/dash /bin/sh

    Thanks
     
  8. Mike Conom

    Mike Conom New Member

    If i want to transfer only emails i choose
    --only-mail=<domain.com>
    My question is,
    when i execute the command what i must choose dry or migrate ?
     
  9. pyte

    pyte Well-Known Member HowtoForge Supporter

    Dry means it just shows what it is going to do but not acutually doing it. migrate means it will perform the tasks and does the actual migration. So usually you first do a dry run, check if everything seems good to you and if thats the case then a migrate
     
    ahrasis likes this.
  10. till

    till Super Moderator Staff Member ISPConfig Developer

    ahrasis and pyte like this.

Share This Page