running the update script from LXC console fails due to a couple of wrong paths #396

Closed
opened 2026-02-04 18:31:28 +03:00 by OVERLORD · 3 comments
Owner

Originally created by @alberanid on GitHub (Jan 28, 2025).

Have you read and understood the above guidelines?

yes

📜 What is the name of the script you are using?

most or all of them

📂 What was the exact command used to execute the script?

update

📝 Provide a clear and concise description of the issue.

The update script, if run from inside an LXC, fails due to problems with the paths of the figlet binary and the location of the slant.flf.

⚙️ What settings are you using?

  • Default Settings
  • Advanced Settings

🖥️ Which Linux distribution are you using?

Debian 12

🔄 Steps to reproduce the issue.

  1. enter an LXC console with pct enter 123
  2. run update

The problem is present in basically all of my LXCs, some of them are from the tteck time but most were freshly installed recently using the community-scripts scripts (in any case, I've run the Proxmox Update Repositories script).

Content of the update script, in my case:

bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/nginxproxymanager.sh)"

which, in turn, will include https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func

Paste the full error output (if available).

First error:

  💡  FIGlet or the slant font is missing. Installing...
  💡  Installing FIGlet...
  ✔️  FIGlet successfully installed.
  💡  Downloading slant font...
/usr/share/figlet/slant.flf: No such file or directory

[ERROR] in line 286: exit code 0: while executing command wget -qO /usr/share/figlet/slant.flf "http://www.figlet.org/fonts/slant.flf"

This is due to the fact that the /usr/share/figlet directory doesn't exist.

I think there are two options to fix this:

  1. run mkdir -p /usr/share/figlet before the call to wget.
  2. save the slant.flf file in /usr/local/share/figlet since, after all, that's the directory used to install the figlet binary, if it was missing.

After that, running update again will fail another time, this one because the /usr/local/bin directory (used to store the figlet binary) is not present by default in PATH:

  💡  FIGlet or the slant font is missing. Installing...
  💡  Installing FIGlet...
  ✔️  FIGlet successfully installed.
/dev/fd/63: line 292: figlet: command not found

[ERROR] in line 292: exit code 0: while executing command ascii_art=$(figlet -f slant -w "$term_width" "$APP")

For example, in my ngnixproxymanager LXC, I have PATH=/root/.nvm/versions/node/v16.20.2/bin:/sbin:/bin:/usr/sbin:/usr/bin

Possible solutions:

  1. add /usr/local/bin to PATH, if missing.
  2. call /usr/local/bin/figlet using the full path.

I can provide a PR in the next days, if one of each proposed fixes is selected.

🖼️ Additional context (optional).

No response

Originally created by @alberanid on GitHub (Jan 28, 2025). ### ✅ Have you read and understood the above guidelines? yes ### 📜 What is the name of the script you are using? most or all of them ### 📂 What was the exact command used to execute the script? update ### 📝 Provide a clear and concise description of the issue. The `update` script, if run from inside an LXC, fails due to problems with the paths of the `figlet` binary and the location of the `slant.flf`. ### ⚙️ What settings are you using? - [x] Default Settings - [ ] Advanced Settings ### 🖥️ Which Linux distribution are you using? Debian 12 ### 🔄 Steps to reproduce the issue. 1. enter an LXC console with `pct enter 123` 2. run `update` The problem is present in basically all of my LXCs, some of them are from the tteck time but most were freshly installed recently using the community-scripts scripts (in any case, I've run the Proxmox Update Repositories script). Content of the `update` script, in my case: ``` bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/nginxproxymanager.sh)" ``` which, in turn, will include https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func ### ❌ Paste the full error output (if available). First error: ``` 💡 FIGlet or the slant font is missing. Installing... 💡 Installing FIGlet... ✔️ FIGlet successfully installed. 💡 Downloading slant font... /usr/share/figlet/slant.flf: No such file or directory [ERROR] in line 286: exit code 0: while executing command wget -qO /usr/share/figlet/slant.flf "http://www.figlet.org/fonts/slant.flf" ``` This is due to the fact that the */usr/share/figlet* directory doesn't exist. I think there are two options to fix this: 1. run `mkdir -p /usr/share/figlet` before the call to wget. 2. save the slant.flf file in */usr/local/share/figlet* since, after all, that's the directory used to install the figlet binary, if it was missing. After that, running `update` again will fail another time, this one because the */usr/local/bin* directory (used to store the figlet binary) is not present by default in PATH: ``` 💡 FIGlet or the slant font is missing. Installing... 💡 Installing FIGlet... ✔️ FIGlet successfully installed. /dev/fd/63: line 292: figlet: command not found [ERROR] in line 292: exit code 0: while executing command ascii_art=$(figlet -f slant -w "$term_width" "$APP") ``` For example, in my ngnixproxymanager LXC, I have `PATH=/root/.nvm/versions/node/v16.20.2/bin:/sbin:/bin:/usr/sbin:/usr/bin` Possible solutions: 1. add */usr/local/bin* to PATH, if missing. 2. call `/usr/local/bin/figlet` using the full path. I can provide a PR in the next days, if one of each proposed fixes is selected. ### 🖼️ Additional context (optional). _No response_
Author
Owner

@MickLesk commented on GitHub (Jan 28, 2025):

This occurs because your system is probably not properly maintained and various deprecated or outdated deps are present. apt autoremove etc. solves the problem.

We don't need a PR as figlet will be eliminated this or next week anyway.

@MickLesk commented on GitHub (Jan 28, 2025): This occurs because your system is probably not properly maintained and various deprecated or outdated deps are present. apt autoremove etc. solves the problem. We don't need a PR as figlet will be eliminated this or next week anyway.
Author
Owner

@alberanid commented on GitHub (Jan 28, 2025):

This occurs because your system is probably not properly maintained and various deprecated or outdated deps are present. apt autoremove etc. solves the problem.

You mean the Proxmox host or the LXC?

In both, apt autoremove does nothing and they are up-to-date.

On the Proxmox host figlet 2.2.5-3+b1 is installed, while on the LXC the figlet package is not present.

We don't need a PR as figlet will be eliminated this or next week anyway.

Good.

@alberanid commented on GitHub (Jan 28, 2025): > This occurs because your system is probably not properly maintained and various deprecated or outdated deps are present. apt autoremove etc. solves the problem. You mean the Proxmox host or the LXC? In both, `apt autoremove` does nothing and they are up-to-date. On the Proxmox host figlet 2.2.5-3+b1 is installed, while on the LXC the figlet package is not present. > We don't need a PR as figlet will be eliminated this or next week anyway. Good.
Author
Owner

@MickLesk commented on GitHub (Jan 28, 2025):

Fixed: https://github.com/community-scripts/ProxmoxVE/pull/1802

@MickLesk commented on GitHub (Jan 28, 2025): Fixed: https://github.com/community-scripts/ProxmoxVE/pull/1802
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#396