• I still don't understand sudo properly

    From rsutton@21:1/5 to All on Tue Jul 8 10:31:28 2025
    Hi all,
    I've been using linux (Ubuntu/Mint mainly) for 20 years and I still find
    things that I don't understand. I need some help!

    I have a need to run the following code after generating a virtual
    machine in LXD. The following code runs fine in the VM from the terminal:
    sudo su -
    mount -t 9p config /mnt
    cd /mnt
    ./install.sh
    exit

    However, when I converted the commands to my bash script and try to run
    this code , it fails:
    cd /mnt
    sudo mount -t 9p config /mnt
    sudo /mnt/install.sh
    .
    .

    The error it gives me is:
    "This script must be run from within the 9p mount"

    Can someone explain how I can accomplish the intent of this code?
    Richard

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Purgert@21:1/5 to rsutton on Tue Jul 8 15:15:25 2025
    On 2025-07-08, rsutton wrote:
    Hi all,
    The following code runs fine in the VM from the terminal:
    sudo su -
    mount -t 9p config /mnt
    cd /mnt
    ./install.sh
    exit

    However, when I converted the commands to my bash script and try to run
    this code , it fails:
    cd /mnt
    sudo mount -t 9p config /mnt
    sudo /mnt/install.sh

    The error it gives me is:
    "This script must be run from within the 9p mount"

    Can someone explain how I can accomplish the intent of this code?

    Well, in the working code, your current working directory is the one
    that contains the install script; whereas the non-working code, you are
    calling the explicit path (which sort of implies you are "somewhere
    else").

    Chances are the script does a bunch of things relative to the current
    working directory, and it performs a check to ensure that its execution
    path is also the current working directory.


    --
    |_|O|_|
    |_|_|O| Github: https://github.com/dpurgert
    |O|O|O| PGP: DDAB 23FB 19FA 7D85 1CC1 E067 6D65 70E5 4CE7 2860

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Kettlewell@21:1/5 to rsutton on Tue Jul 8 18:15:34 2025
    rsutton <[email protected]> writes:
    Hi all,
    I've been using linux (Ubuntu/Mint mainly) for 20 years and I still
    find things that I don't understand. I need some help!

    I have a need to run the following code after generating a virtual
    machine in LXD. The following code runs fine in the VM from the
    terminal:
    sudo su -
    mount -t 9p config /mnt
    cd /mnt
    ./install.sh
    exit

    However, when I converted the commands to my bash script and try to
    run this code , it fails:
    cd /mnt

    After this your current working directory is the /mnt directory in the
    root filesystem.

    sudo mount -t 9p config /mnt

    After the mount command, the path /mnt refers to the root of the 9p
    filesystem (whatever that is). But your current working directory
    remains the (now hidden) /mnt directory of the root filesystem.

    So the answer is to move the ‘cd’ command in your script one line down.

    sudo /mnt/install.sh
    .
    .

    The error it gives me is:
    "This script must be run from within the 9p mount"

    --
    https://www.greenend.org.uk/rjk/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)