How to install updates with console

Hello, Discourse Folks.

I’ve got a notification that there are 34 updates that can be installed for discourse site but I don’t know how to install these, does anyone know what is the command to write for these to install and is there is any reason to not install all these?

These are the ones listed for Ubuntu 23.10:

cloud-init/mantic-updates 23.3.3-0ubuntu0~23.10.1 all [upgradable from: 23.3.1-0ubuntu2] 1.6.26-1 amd64 [upgradable from: 1.6.24-1]

distro-info-data/mantic-updates 0.58ubuntu0.1 all [upgradable from: 0.58]

initramfs-tools-bin/mantic-updates 0.142ubuntu15.1 amd64 [upgradable from: 0.142ubuntu15]

initramfs-tools-core/mantic-updates 0.142ubuntu15.1 all [upgradable from: 0.142ubuntu15]

initramfs-tools/mantic-updates 0.142ubuntu15.1 all [upgradable from: 0.142ubuntu15]

libnetplan0/mantic-updates 0.107-5ubuntu0.2 amd64 [upgradable from: 0.107-5]

libnss-systemd/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

libpam-systemd/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

libsgutils2-1.46-2/mantic-updates 1.46-3ubuntu2.1 amd64 [upgradable from: 1.46-3ubuntu2]

libsystemd-shared/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

libsystemd0/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

libudev1/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

netplan-generator/mantic-updates 0.107-5ubuntu0.2 amd64 [upgradable from: 0.107-5] 0.107-5ubuntu0.2 amd64 [upgradable from: 0.107-5]

python3-distupgrade/mantic-updates 1:23.10.14 all [upgradable from: 1:23.10.10]

python3-netplan/mantic-updates 0.107-5ubuntu0.2 amd64 [upgradable from: 0.107-5]

sg3-utils-udev/mantic-updates 1.46-3ubuntu2.1 all [upgradable from: 1.46-3ubuntu2]

sg3-utils/mantic-updates 1.46-3ubuntu2.1 amd64 [upgradable from: 1.46-3ubuntu2]

snapd/mantic-updates 2.60.4+23.10.1 amd64 [upgradable from: 2.60.4+23.10]

systemd-dev/mantic-updates 253.5-1ubuntu6.1 all [upgradable from: 253.5-1ubuntu6]

systemd-hwe-hwdb/mantic-updates 253.5.2 all [upgradable from: 253.5.1]

systemd-resolved/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

systemd-sysv/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

systemd-timesyncd/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

systemd/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

tmux/mantic-updates 3.3a-4ubuntu1 amd64 [upgradable from: 3.3a-4]

ubuntu-advantage-tools/mantic-updates 30~23.10 amd64 [upgradable from: 29.4]

ubuntu-minimal/mantic-updates 1.524.1 amd64 [upgradable from: 1.524]

ubuntu-release-upgrader-core/mantic-updates 1:23.10.14 all [upgradable from: 1:23.10.10]

ubuntu-server/mantic-updates 1.524.1 amd64 [upgradable from: 1.524]

ubuntu-standard/mantic-updates 1.524.1 amd64 [upgradable from: 1.524]

udev/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

Tried writing just “install” but that didn’t work.

I am not a computer person.

**install --help:** 

Try 'install --help' for more information.
root@community:~# install --help
Usage: install [OPTION]... [-T] SOURCE DEST
  or:  install [OPTION]... SOURCE... DIRECTORY
  or:  install [OPTION]... -t DIRECTORY SOURCE...
  or:  install [OPTION]... -d DIRECTORY...

This install program copies files (often just compiled) into destination
locations you choose.  If you want to download and install a ready-to-use
package on a GNU/Linux system, you should instead be using a package manager
like yum(1) or apt-get(1).

In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to
the existing DIRECTORY, while setting permission modes and owner/group.
In the 4th form, create all components of the given DIRECTORY(ies).

Mandatory arguments to long options are mandatory for short options too.
      --backup[=CONTROL]  make a backup of each existing destination file
  -b                  like --backup but does not accept an argument
  -c                  (ignored)
  -C, --compare       compare content of source and destination files, and
                        if no change to content, ownership, and permissions,
                        do not modify the destination at all
  -d, --directory     treat all arguments as directory names; create all
                        components of the specified directories
  -D                  create all leading components of DEST except the last,
                        or all components of --target-directory,
                        then copy SOURCE to DEST
  -g, --group=GROUP   set group ownership, instead of process' current group
  -m, --mode=MODE     set permission mode (as in chmod), instead of rwxr-xr-x
  -o, --owner=OWNER   set ownership (super-user only)
  -p, --preserve-timestamps   apply access/modification times of SOURCE files
                        to corresponding destination files
  -s, --strip         strip symbol tables
      --strip-program=PROGRAM  program used to strip binaries
  -S, --suffix=SUFFIX  override the usual backup suffix
  -t, --target-directory=DIRECTORY  copy all SOURCE arguments into DIRECTORY
  -T, --no-target-directory  treat DEST as a normal file
  -v, --verbose       print the name of each directory as it is created
      --preserve-context  preserve SELinux security context
  -Z                      set SELinux security context of destination
                            file and each created directory to default type
      --context[=CTX]     like -Z, or if CTX is specified then set the
                            SELinux or SMACK security context to CTX
      --help        display this help and exit
      --version     output version information and exit

The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:

  none, off       never make backups (even if --backup is given)
  numbered, t     make numbered backups
  existing, nil   numbered if numbered backups exist, simple otherwise
  simple, never   always make simple backups

GNU coreutils online help: <>
Report any translation bugs to <>
Full documentation <>
or available locally via: info '(coreutils) install invocation'


For server updates, you can use apt upgrade with Ubuntu.

As a side note, this is not directly related to Discourse. With a standard installation, Discourse would be inside a Docker container.

Thanks, that seemed to work to start install process.

This may mean that standard install was not completed correctly then, how can you tell if Discourse is inside of a Docker or not?

This is also confusing docker is listed in this but not checked.

5. Install Prerequisites for Docker (Debian/Ubuntu based Distro example)

sudo apt install
sudo apt install git

Let it be. Press tab and highlight <ok> and then press enter.

This is the way, thanks.

Now there seems to be a sort of bug when install was interrupted for one site, says there are still 34 updates that can be applied but then when I try to run install:

root@community:~# apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.


Rebuilding the app now looks like it has a dock:

atus: Downloaded newer image for discourse/base:2.0.20231218-0429
Ensuring launcher is up to date
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 app

Lot of warnings, is this normal or means there is a problem?

warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
warning Pattern ["wrap-ansi@^7.0.0"] is trying to unpack in the same destination "/home/discourse/.cache/yarn/v6/npm-wrap-ansi-cjs-7.0.0-67e145cff510a6a6984bdf1152911d69d2eb9e43-integrity/node_modules/wrap-ansi-cjs" as pattern ["wrap-ansi-cjs@npm:wrap-ansi@^7.0.0"]. This could result in non-deterministic behavior, skipping.
warning " > discourse-markdown-it@1.0.0" has unmet peer dependency "xss@*".
warning "workspace-aggregator-387500e6-104d-417d-9e2e-53cf67ffdfce > discourse > @ember/legacy-built-in-components@0.5.0" has incorrect peer dependency "ember-source@>= 4.8".
warning "workspace-aggregator-387500e6-104d-417d-9e2e-53cf67ffdfce > discourse > @uppy/aws-s3@3.0.6" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-387500e6-104d-417d-9e2e-53cf67ffdfce > discourse > @uppy/aws-s3-multipart@3.1.3" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-387500e6-104d-417d-9e2e-53cf67ffdfce > discourse > @uppy/xhr-upload@3.1.1" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-387500e6-104d-417d-9e2e-53cf67ffdfce > discourse-plugins > ember-this-fallback@0.4.0" has unmet peer dependency "ember-source@^3.28.11 || ^4.0.0".
warning "workspace-aggregator-387500e6-104d-417d-9e2e-53cf67ffdfce > discourse > @uppy/aws-s3 > @uppy/xhr-upload@3.3.0" has incorrect peer dependency "@uppy/core@^3.2.1".

The warnings are expected, yes. You can safely ignore them. :+1:

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.