Unix & Linux Stack Exchange
Q&A for users of Linux, FreeBSD and other Unix-like operating systems
Latest Questions
36
votes
12
answers
56155
views
How to compare a program's version in a shell script?
Suppose I want to compare `gcc` version to see whether the system has the minimum version installed or not. To check the `gcc` version, I executed the following gcc --version | head -n1 | cut -d" " -f4 The output was 4.8.5 So, I wrote a simple `if` statement to check this version against some other...
Suppose I want to compare
gcc
version to see whether the system has the minimum version installed or not.
To check the gcc
version, I executed the following
gcc --version | head -n1 | cut -d" " -f4
The output was
4.8.5
So, I wrote a simple if
statement to check this version against some other value
if [ "$(gcc --version | head -n1 | cut -d" " -f4)" -lt 5.0.0 ]; then
echo "Less than 5.0.0"
else
echo "Greater than 5.0.0"
fi
But it throws an error:
[: integer expression expected: 4.8.5
I understood my mistake that I was using strings to compare and the -lt
requires integer. So, is there any other way to compare the versions?
Abhimanyu Saharan
(911 rep)
May 27, 2016, 02:01 PM
• Last activity: Aug 5, 2025, 10:58 AM
4
votes
1
answers
168
views
How may I install a specific version of a package only if the installed version is not higher
Given an Ubuntu machine using `apt` or `apt-get`, is there a built-in or recommended way to check if a package is installed at a minimum version? A package may be available in multiple versions: ``` apt-cache madison percona-server-server percona-server-server | 8.4.5-5-1.noble | http://repo.percona...
Given an Ubuntu machine using
apt
or apt-get
, is there a built-in or recommended way to check if a package is installed at a minimum version?
A package may be available in multiple versions:
apt-cache madison percona-server-server
percona-server-server | 8.4.5-5-1.noble | http://repo.percona.com/ps-84-lts/apt noble/main amd64 Packages
percona-server-server | 8.4.4-4-1.noble | http://repo.percona.com/ps-84-lts/apt noble/main amd64 Packages
percona-server-server | 8.4.3-3-1.noble | http://repo.percona.com/ps-84-lts/apt noble/main amd64 Packages
percona-server-server | 8.4.2-2-1.noble | http://repo.percona.com/ps-84-lts/apt noble/main amd64 Packages
percona-server-server | 8.4.0-1-1.noble | http://repo.percona.com/ps-84-lts/apt noble/main amd64 Packages
percona-server | 8.4.5-5-1 | http://repo.percona.com/ps-84-lts/apt noble/main Sources
percona-server | 8.4.4-4-1 | http://repo.percona.com/ps-84-lts/apt noble/main Sources
percona-server | 8.4.3-3-1 | http://repo.percona.com/ps-84-lts/apt noble/main Sources
percona-server | 8.4.2-2-1 | http://repo.percona.com/ps-84-lts/apt noble/main Sources
percona-server | 8.4.0-1-1 | http://repo.percona.com/ps-84-lts/apt noble/main Sources
I know that I can get the currently installed version of a package by:
dpkg -s percona-server-server | grep Version
8.4.5-5-1.noble
I know I can install a specific version via:
apt-get -qq install percona-server-server=8.4.5-5-1.noble
Yet, how can one only install a target version if the current one is lower than that?
k0pernikus
(16501 rep)
Jul 31, 2025, 02:46 PM
• Last activity: Aug 1, 2025, 11:17 AM
2
votes
1
answers
1986
views
What does the OpenGL core profile version string mean?
This is the output from glxinfo for my machine: $ glxinfo | grep version server glx version string: 1.4 client glx version string: 1.4 GLX version: 1.4 Max core profile version: 4.1 Max compat profile version: 3.0 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 3.0 OpenGL core profile v...
This is the output from glxinfo for my machine:
$ glxinfo | grep version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
Max core profile version: 4.1
Max compat profile version: 3.0
Max GLES1 profile version: 1.1
Max GLES profile version: 3.0
OpenGL core profile version string: 4.1 (Core Profile) Mesa 11.1.2
OpenGL core profile shading language version string: 4.10
OpenGL version string: 3.0 Mesa 11.1.2
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.1.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
Does that mean my card only supports OpenGL up to 3.0? What does the 4.1 "core profile" version mean? I've got a Sapphire Radeon R7 250X which should support up to OpenGL 4.3 according to its online specs.
Could this be a driver issue? I'm on arch linux and I have xf86-video-ati installed.
Setzer22
(181 rep)
Jun 5, 2016, 01:17 PM
• Last activity: Jul 29, 2025, 07:05 AM
1
votes
1
answers
3783
views
Unable to establish FTPS connection with curl: "wrong version number" error across all TLS versions
I've looked at the related issues, but none of them have solved my issue. I'm trying to transfer files via FTP using `curl` to a server in my DMZ from an FTPS server on an EC2 server running `vsftpd`. $ curl ftps://ec2-myserver.compute.amazonaws.com --verbose --tlsv1.1 * Rebuilt URL to: ftps://ec2-m...
I've looked at the related issues, but none of them have solved my issue.
I'm trying to transfer files via FTP using
curl
to a server in my DMZ from an FTPS server on an EC2 server running vsftpd
.
$ curl ftps://ec2-myserver.compute.amazonaws.com --verbose --tlsv1.1
* Rebuilt URL to: ftps://ec2-myserver.us-east-2.compute.amazonaws.com/
* Trying ip_addr...
* TCP_NODELAY set
* Connected to ec2-myserver.us-east-2.compute.amazonaws.com (ip_addr) port ---- (#0)
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* TLSv1.1 (OUT), TLS handshake, Client hello (1):
* error:1408F10B:SSL routines:ssl3_get_record:wrong version number
* Closing connection 0
I can get the file connection FTPS from Filezilla on a Windows server.
I am getting the same error in every TLS version.
I've tried enabling ssl3 on the vsfpd
server, but it didn't solve it.
kroov
(79 rep)
Jan 30, 2020, 01:17 PM
• Last activity: Jul 3, 2025, 10:02 PM
3
votes
1
answers
4131
views
How to change the default (binary) python version in a FreeBSD jail?
In a jail, I have installed `python3.6` along `python3.4`. Both were installed using `pkg install`, no ports. I want to keep the 3.4 version for some time, but set the 3.6 as default. Answers found in internet, like [this one](https://stackoverflow.com/questions/9349831/how-to-set-python-version-by-...
In a jail, I have installed
python3.6
along python3.4
. Both were installed using pkg install
, no ports. I want to keep the 3.4 version for some time, but set the 3.6 as default.
Answers found in internet, like [this one](https://stackoverflow.com/questions/9349831/how-to-set-python-version-by-default-in-freebsd) or [this one](https://unix.stackexchange.com/questions/254660/freebsd-using-python3-in-uwsgi-instead-of-python2) either involve to myself link /usr/local/bin/python
to python3.6
(what must be done again after any upgrade of the default python, what I'd like to avoid; plus there's no such link anyway); or to set DEFAULT_VERSIONS
in /etc/make.conf
, what has no effects on binaries installation (I've tried, nevertheless).
Moreover, the virtual environment is not an option, since I want to run uwsgi
, what requires the *system wide* default python to match the one in the python virtual environment of the python application it "monitors" (in my case, Django), in order to start correctly. Even if I start from inside the Django's virtual environment (providing python3.6), uwsgi
detects python3.4
as the default python version.
Cannot find if there is any environment variable missing neither.
For information, inside the jail (and virtual environment):
# printenv
USER=root
LOGNAME=root
HOME=/root
SHELL=/bin/csh
BLOCKSIZE=K
MAIL=/var/mail/root
PATH=/usr/local/venv/dj1/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
TERM=xterm-256color
HOSTTYPE=FreeBSD
VENDOR=amd
OSTYPE=FreeBSD
MACHTYPE=x86_64
SHLVL=1
PWD=/var/log
GROUP=wheel
HOST=dev_web0
EDITOR=vi
LANG=fr_FR.UTF-8
MM_CHARSET=UTF-8
PAGER=more
VIRTUAL_ENV=/usr/local/venv/dj1
zezollo
(141 rep)
May 3, 2017, 02:52 PM
• Last activity: Jun 27, 2025, 08:04 AM
0
votes
1
answers
325
views
Change linux kernel release string
I hope to somehow change the release string, i.e. the string which `uname -r` prints, and more importantly for me, which is used to construct the path for module lookup, without actually compiling / recompiling the kernel. Is this possible? Background: my distribution (based on Ubuntu) likes to ship...
I hope to somehow change the release string, i.e. the string which
uname -r
prints, and more importantly for me, which is used to construct the path for module lookup, without actually compiling / recompiling the kernel. Is this possible?
Background: my distribution (based on Ubuntu) likes to ship kernel package updates (and associated module package updates) without changing the release string, so the new versions of the packages overwrite the /boot/vmlinuz-$RELEASE
file, and also the entire module tree in /lib/modules/$RELEASE
. As a result, if the new kernel is broken somehow, I have no way to revert unless I step over the packaged versions. If I could force the kernel to think of itself as $RELEASE-backup
, I could copy /boot/vmlinuz-$RELEASE
to /boot/vmlinuz-$RELEASE-backup
and /lib/modules/$RELEASE
to /lib/modules/$RELEASE-backup
before an update; then reverting would be just a matter of telling the bootloader about the backed up versions.
q.undertow
(699 rep)
Jun 3, 2024, 06:09 PM
• Last activity: May 28, 2025, 12:04 PM
0
votes
1
answers
237
views
Why doesn't LibreOffice update to the latest version on Debian 12?
I am unsure why apps aren't upgraded to the latest version even after updating and upgrading from the terminal. For example, I have version 7-something of LibreOffice, but the LibreOffice website has version 25.2. I tried updating and upgrading from the terminal multiple times, but the version didn'...
I am unsure why apps aren't upgraded to the latest version even after updating and upgrading from the terminal.
For example, I have version 7-something of LibreOffice, but the LibreOffice website has version 25.2.
I tried updating and upgrading from the terminal multiple times, but the version didn't update.
Is it that the Debian GNU/Linux 12 repository does not have an updated version, so I have to download the file and install the package manually?
Sage
(1 rep)
May 9, 2025, 03:09 AM
• Last activity: May 9, 2025, 06:29 AM
1
votes
1
answers
531
views
How to find exact version of Debian
I have searched around and found 3 ways to check version, but I'm getting 3 different versions. How can I tell which is correct? $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 12 (bookworm) Release: 12 Codename: bookworm $ cat /proc/version Linux...
I have searched around and found 3 ways to check version, but I'm getting 3 different versions. How can I tell which is correct?
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
$ cat /proc/version
Linux version 6.1.0-30-amd64 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12)
$ cat /etc/debian_version
12.9
kristakis
(13 rep)
Jan 30, 2025, 01:55 AM
• Last activity: Apr 27, 2025, 07:19 PM
5
votes
3
answers
12888
views
How to install specific version of package in DNF
How to install specific package version in DNF. One of my installed package installed the new version, but this new has some issue, then I want to rollback to the old version, but the last old version of the package is still on fc25. I tried to add the specific version when tried to reinstall but wi...
How to install specific package version in DNF. One of my installed package installed the new version, but this new has some issue, then I want to rollback to the old version, but the last old version of the package is still on fc25.
I tried to add the specific version when tried to reinstall but without success. I add this at the end of the package name
-1.fc25.noarch
and some other combination.
BTW I am on fc26 and the package can be found on the copr.
Thanks
zer09
(455 rep)
Oct 23, 2017, 12:14 PM
• Last activity: Apr 10, 2025, 07:25 PM
0
votes
0
answers
144
views
Installing python 3.12 and pip on Ubuntu 22
Im on Ubnutu 22 and trying to run some python code I developed on my mac which runs python 3.12, Ubuntu 22 comes with python 3.10.x but I cant use that version. Im also using the idle IDE and pip as the package manager. I have been unable to install various packages with pip into python 3.12 because...
Im on Ubnutu 22 and trying to run some python code I developed on my mac which runs python 3.12, Ubuntu 22 comes with python 3.10.x but I cant use that version. Im also using the idle IDE and pip as the package manager. I have been unable to install various packages with pip into python 3.12 because they don't end up in the 3,10 version path. I am concerned about inserting links because they may redirect only a part of the environment and leave me more confused than before. Why is there no simple way for the uninitiated to install python3.xx have the package managers and everything else work without wrestling with all manner of complexities. Is there a simple way to do this ? Thanks
parryj
(1 rep)
Feb 25, 2025, 01:33 AM
0
votes
2
answers
306
views
Suggestions on Linux distro that allows updates ot C++ to latest compiler releases
I am currently using Ubuntu 24.04 (22.04. sorry, wrong) but frustrated that I can't load the latest GCC compilers. I have GCC 14.2 but want to install 14.3 and then 15.1 when available. Ubuntu won't let me install 15 because it isn't in the stable release. What distros allow updating the compilers?...
I am currently using Ubuntu 24.04 (22.04. sorry, wrong) but frustrated that I can't load the latest GCC compilers. I have GCC 14.2 but want to install 14.3 and then 15.1 when available. Ubuntu won't let me install 15 because it isn't in the stable release.
What distros allow updating the compilers? Will they use my existing
home
directory which is on a separate disk?
Rud48
(99 rep)
Jan 29, 2025, 01:30 AM
• Last activity: Jan 29, 2025, 03:25 PM
0
votes
0
answers
17
views
How can I Determine CUDA update version based on installed toolkit files?
I've installed some version of the CUDA toolkit to `/usr/local/cuda`. Suppose I don't have access to any information about the system, like activity logs, package management state and such - I'm only inspecting the contents of files in `/usr/local/cuda`. I want to determine the CUDA release version...
I've installed some version of the CUDA toolkit to
/usr/local/cuda
. Suppose I don't have access to any information about the system, like activity logs, package management state and such - I'm only inspecting the contents of files in /usr/local/cuda
.
I want to determine the CUDA release version of this directory, but - I want the update number as well, e.g. I want to distinguish 12.6 update 2 from 12.6 update 0.
Now, if I could download and install back-versions of CUDA, I could achieve this by examining the nvcc --version
output, since that usually has both a timestamp of the build and an X.Y.Z version string. Unfortunately, the third element of that string is a number different from the update number, e.g.V12.6.85
for CUDA 12.6 update 3. How do I know that 85
is the fourth value?
What I tried:
* version.json
has all sorts of version info, but those values again don't have a trivial correspondence to the update number.
* lib64/*
are a bunch of library files, some with versions, but again - no clear correspondence to the update number
* include/
- couldn't find something relevant inside the headers, but maybe I wasn't looking in the right place?
einpoklum
(10753 rep)
Dec 19, 2024, 03:44 PM
5
votes
2
answers
757
views
Are there PDF files that pdfgrep cannot search yet display with xpdf?
I am on a Chromebook running Debian with pdfgrep v2.1.2. I have a PDF file of the full Mueller Report that I occasionally want to search for particular references. Pdfgrep of the file for any pattern *quickly* returns nothing. Pdftotext cannot seem to handle it and produces a very short file of junk...
I am on a Chromebook running Debian with pdfgrep v2.1.2. I have a PDF file of the full Mueller Report that I occasionally want to search for particular references. Pdfgrep of the file for any pattern *quickly* returns nothing. Pdftotext cannot seem to handle it and produces a very short file of junk. Pdfinfo produces the following:
Title:
Creator: RICOH MP C6502
Producer: RICOH MP C6502
CreationDate: Wed Apr 17 15:23:21 2019 PDT
ModDate: Wed Apr 17 15:59:41 2019 PDT
Custom Metadata: no
Metadata Stream: yes
Tagged: no
UserProperties: no
Suspects: no
Form: AcroForm
JavaScript: no
Pages: 448
Encrypted: no
Page size: 792 x 612 pts (letter)
Page rot: 270
File size: 145509756 bytes
Optimized: yes
PDF version: 1.6
Could pdfgrep not be compatible with the PDF version of the file?
David Masterson
(51 rep)
Nov 3, 2024, 04:18 AM
• Last activity: Nov 16, 2024, 12:59 AM
0
votes
1
answers
144
views
Old distro version on new hardware
I am trying to install CentOS 6 on new hardware for testing because our software is dependent on the package versions in CentOS 6. The trivial answer would be to update the software to run on a newer version since CentOS 6 is well past EOL, but I'm not a software dev and we will be looking at the LO...
I am trying to install CentOS 6 on new hardware for testing because our software is dependent on the package versions in CentOS 6. The trivial answer would be to update the software to run on a newer version since CentOS 6 is well past EOL, but I'm not a software dev and we will be looking at the LOE soon.
The current state:
- The machine has an Intel 13th gen i5-1335U processor with a UEFI only BIOS (no legacy mode) and secure boot disabled
- CentOS 7.5+ and Debian 10.0+ works, but earlier versions do not
- I am using x86_64 installers and burning them to removable media with Rufus in UEFI mode
- I have verified that when installing they are using GPT partitions
- The installers themselves will boot into GRUB (legacy or 2), but when it tries to load the kernel and initrd/initramfs it fails
- Currently I have Debian 12 installed with CentOS 6 so Debian is controlling Grub 2, but it still won't boot into CentOS 6
-Older hardware which have legacy mode in their BIOS is able to use both MBR & GPT partitions and boot CentOS 6 (Intel Atom E3845)
- I am able to virtulize RHEL 6 in Qemu running in Debian 12
Failed attempts to fix so far:
- Recreated the RHEL 6 initramfs in Debian 12
- Modify the RHEL 6 GRUB 2 entry
- Use the GRUB 2 OS prober to create a RHEL 6 entry
- When loading an installer it either goes to a blinking cursor or the GRUB splash image is frozen on screen. In that state I am not able to switch to any TTYs
- Adding echo statements to a custom GRUB entry makes it seem that it loads the initramfs. It shows the echo statements before loading the kernel, after loading the kernel but before loading initramfs, and after loading initramfs. After the echo statements show on screen it either reboots the machine or hangs with no TTYs.
My current theories:
- The kernels are not compiled with necessary modules/parameters
- There is something with initrd/iniramfs which is preventing the kernel from booting
- The intel microcode included with the installers does not support the newer processor
- Even though secure boot has been disabled I need to install a self-signed MOK & shim
Any ideas on why an older distro won't load on new hardware?
GrandInformation
(1 rep)
Nov 15, 2024, 03:54 PM
• Last activity: Nov 15, 2024, 07:22 PM
23
votes
4
answers
5446
views
What are Non-GNU versions of terminal commands?
I thought GNU was the (only) supplier of essential tools whose open-source code powers Linux distributions. However while browsing unix.se, I saw some questions that explicitly state they are dealing with GNU, such as a question on the safety of parsing GNU ```ls```. This must imply that there are v...
I thought GNU was the (only) supplier of essential tools whose open-source code powers Linux distributions. However while browsing unix.se, I saw some questions that explicitly state they are dealing with GNU, such as a question on the safety of parsing GNU
. This must imply that there are versions of
that are not provided by GNU, right? What are these versions, who make them and where can I find them?
eyhy84394
(263 rep)
Aug 26, 2023, 02:28 PM
• Last activity: Nov 11, 2024, 11:57 AM
1
votes
1
answers
380
views
Find all older versions based on version in filename
This is similiar to this question: https://unix.stackexchange.com/questions/185193/remove-the-low-version-number-of-file Unfortunately the solution to the above question does not work for me, example: Files (`ls -vr *.pkg.tar.xz`): wire-desktop-bin-2.11.2700-1-x86_64.pkg.tar.xz wire-desktop-bin-2.11...
This is similiar to this question: https://unix.stackexchange.com/questions/185193/remove-the-low-version-number-of-file
Unfortunately the solution to the above question does not work for me, example:
Files (
ls -vr *.pkg.tar.xz
):
wire-desktop-bin-2.11.2700-1-x86_64.pkg.tar.xz
wire-desktop-bin-2.11.2698-1-x86_64.pkg.tar.xz
wire-desktop-bin-2.11.2697-1-x86_64.pkg.tar.xz
webstorm-2016.3.3-1-x86_64.pkg.tar.xz
webstorm-2016.3.2-1-x86_64.pkg.tar.xz
visual-studio-code-1.9.0-1-x86_64.pkg.tar.xz
visual-studio-code-1.8.1-3-x86_64.pkg.tar.xz
pycharm-professional-2016.3.2-1-any.pkg.tar.xz
plasma5-applets-thermal-monitor-git-r63.fd41970-1-any.pkg.tar.xz
masterpdfeditor-qt5-3.7.10-2-x86_64.pkg.tar.xz
masterpdfeditor-4.0.30-1-x86_64.pkg.tar.xz
keepass-plugin-keeagent-0.8.1-3-any.pkg.tar.xz
jre-8u121-1-x86_64.pkg.tar.xz
jdk-8u121-1-x86_64.pkg.tar.xz
jabref-3.8.1-1-any.pkg.tar.xz
intellij-jdk-8u112b719-1-x86_64.pkg.tar.xz
intellij-jdk-8u112b657-1-x86_64.pkg.tar.xz
intellij-idea-ultimate-edition-2016.3.4-1-any.pkg.tar.xz
intellij-idea-ultimate-edition-2016.3.3-1-any.pkg.tar.xz
hstr-git-1.21.r10.gc0d3236-1-x86_64.pkg.tar.xz
google-chrome-56.0.2924.87-1-x86_64.pkg.tar.xz
google-chrome-56.0.2924.76-1-x86_64.pkg.tar.xz
gitinspector-0.4.4-1-any.pkg.tar.xz
dropbox-17.4.33-1-x86_64.pkg.tar.xz
chromium-widevine-1:1.4.8.962-1-x86_64.pkg.tar.xz
Now I need to find (and later remove) all old packages (version number != highest).
Using the solution from the other question:
ls -vr *.depot | awk -F- '$1 == name{system ("rm \""$0"\"")}{name=$1}'
produces this *wrong* result:
:: os/x86_64 » ls -vr *.pkg.tar.xz | awk -F- '$1 == name{system ("echo \""$0"\"")}{name=$1}'
wire-desktop-bin-2.11.2698-1-x86_64.pkg.tar.xz
wire-desktop-bin-2.11.2697-1-x86_64.pkg.tar.xz
webstorm-2016.3.2-1-x86_64.pkg.tar.xz
visual-studio-code-1.8.1-3-x86_64.pkg.tar.xz
masterpdfeditor-4.0.30-1-x86_64.pkg.tar.xz
intellij-jdk-8u112b657-1-x86_64.pkg.tar.xz
intellij-idea-ultimate-edition-2016.3.4-1-any.pkg.tar.xz <-----------
intellij-idea-ultimate-edition-2016.3.3-1-any.pkg.tar.xz <-----------
google-chrome-56.0.2924.76-1-x86_64.pkg.tar.xz
Notice this lists *both* idea-ultimate-edition
packages because of intellij-jdk
(awk splits at first -
). I don't really know how to solve this problem consistently.
These are Arch Linux packages, even if pacman (Arch Linux package manager) could help me here, I am building and storing them on a Debian system, so I would prefer a pure bash/awk/etc. solution.
dav1d
(113 rep)
Feb 2, 2017, 07:35 PM
• Last activity: Nov 7, 2024, 12:15 AM
0
votes
1
answers
637
views
Why do I run Linux version 5.10 after upgrading to Debian 12 instead of version 6?
I upgraded from Debian11 to D12 and `cat /etc/debian_version`, KDE Info Center, `lsb_release -a` and all other ways to show the current Debian version show and showed Debian 12. The upgrade seems to have worked just fine and I have used the system for several months (including several reboots) and o...
I upgraded from Debian11 to D12 and
cat /etc/debian_version
, KDE Info Center, lsb_release -a
and all other ways to show the current Debian version show and showed Debian 12. The upgrade seems to have worked just fine and I have used the system for several months (including several reboots) and over that time upgraded to Debian 12.7. There was never any error / message about the kernel and nothing is asked to be installed when running sudo apt-get dist-upgrade
or sudo apt-get upgrade
(except sysv-rc-conf
).
Despite of all this, I'm apparently running a Linux kernel of version 5 - when running cat /proc/version
it returns:
> Linux version 5.10.0-17-amd64 (debian-kernel@lists.debian.org) (gcc-10
> (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian)
> 2.35.2) #1 SMP Debian 5.10.136-1 (2022-08-13)
**Why did this happen?** Aren't all methods to see the current Debian version broken if they all show version 12 if I still have a kernel of version 5 and isn't the distro-upgrade process broken as well?
I only found out when my mousewheel broke but should have broken earlier right after upgrading to Debian 12 with Wayland since xbindkeys should not work with Wayland since I then noticed gcc-10 was used here .
apt policy linux-image-amd64
shows:
linux-image-amd64:
Installed: (none)
Candidate: 6.1.112-1
Version table:
6.10.11-1~bpo12+1 100
100 http://ftp.XY.debian.org/debian bookworm-backports/main amd64 Packages
6.1.112-1 500
500 http://security.debian.org/debian-security bookworm-security/main amd64 Packages
6.1.106-3 500
500 http://ftp.XY.debian.org/debian bookworm/main amd64 Packages
mYnDstrEAm
(4718 rep)
Nov 1, 2024, 07:44 PM
• Last activity: Nov 3, 2024, 11:40 AM
9
votes
7
answers
2170
views
What I can I do to make the transition to some new computer hardware safe and smooth?
I normally use machine A, and I make backups of A onto a fileserver B. Sooner or later, I will lose machine A for one reason or another. Its hard drive wears out, or it gets hit by lightening, or some salesperson convinces me that it's an embarrassing piece of obsolete junk, or an overclocking exper...
I normally use machine A, and I make backups of A onto a fileserver B.
Sooner or later, I will lose machine A for one reason or another.
Its hard drive wears out, or it gets hit by lightening, or some salesperson convinces me that it's an embarrassing piece of obsolete junk, or an overclocking experiment goes horribly wrong, or it suffers a "glitter-related event", etc.
Let's assume that computer C is totally different from computer A -- different mass storage interface, processor from a different company, different screen resolution, etc.
Is there an easy way to make a list of all the software currently installed on A before disaster strikes, in a way that makes it easy to install the same software on the blank hard drives of computer C? Or better yet, makes it easy to install the latest versions of each piece of software, and the specific sub-version optimized for this particular machine C?
If I have plenty of space on B, it seems easiest copy *everything* from A to B.
If I do that, what is a good way of dividing the files I want to copy from B to C from the files I don't?
I don't want to copy binary files I can easily re-download (and possibly re-compile) as needed, and probably wouldn't work on machine C anyway.
Or is it better in the long run to try to avoid backing up such easily-obtained machine-specific binary files onto B in the first place?
Is there a better way to reduce the chances that viruses and trojans get passed on to C and re-activated?
When I customize software or write fresh new software, what is a good way to make sure the tweaks I have made get backed up and transferred to the new machine and installed? Such as cron and anacron tasks?
What I can I do to make my transition to some new computer C safe and smooth?
(This question expands on a sub-question of
"Incremental system backup and restore w/ rsync or rdiff-backup issues" that I thought was particularly important).
David Cary
(570 rep)
Feb 27, 2011, 02:57 AM
• Last activity: Oct 31, 2024, 08:19 AM
1
votes
0
answers
158
views
ArchLinux - How to properly install / update system semver
Building a Kiosk software here. I do understand (perhaps too late) that ArchLinux is in an "always-evolving" state, but, so far I got a really smooth (actually amazing) experience in using it, and got a working **stable version** of the kiosk system I'm building. And everything is working perfectly...
Building a Kiosk software here. I do understand (perhaps too late) that ArchLinux is in an "always-evolving" state, but, so far I got a really smooth (actually amazing) experience in using it, and got a working **stable version** of the kiosk system I'm building. And everything is working perfectly fine - *...today*.
Now I'm in the phase of finishing an
update.sh
script which (on the Kiosk unattended machines) does the following:
1. Downloads and unzips the project's (zip) repo branch (which has a packages.txt
of the needed ArchLinux existent or new packages needed for that new version to operate)
2. Update (or install) the packages listed in that packages.txt
, basically similar to the output list of pacman -Qqen > "packages.txt"
just, filled manually
4. Delete the old application files
5. Copy all the new zip files to that project root and run npm install
and reboot the machine
So far all fine - and works
**The problem I'm facing is:**
the inability to find out or understand how to "***freeze***" somehow a list, dep. tree, of the packages I need — ***and*** their dependency packages - after testing and making sure everything works as intended in a **release stage** (on a similar MiniPC as in production).
I've found a [12y old Reddit](https://www.reddit.com/r/archlinux/comments/1b2nor/stable_archlike_alternative/) that suggests to switch to Debian - which would be a bummer. Am I at a dead-end? What approach would be best?
New Instance
(11 rep)
Oct 14, 2024, 08:35 PM
0
votes
1
answers
90
views
Mismatched versions warning when updating Node.js/NPM in Docker
In our `Dockerfile` we have: ``` FROM ghcr.io/puppeteer/puppeteer:latest AS pdf WORKDIR /puppeteer USER root # Prerequisites RUN apt-get update && apt-get install nginx -y # Update RUN npm update RUN npm update -g RUN npm install -g npm # Dependencies RUN npm install puppeteer # Run COPY ./pdf.js ....
In our
Dockerfile
we have:
FROM ghcr.io/puppeteer/puppeteer:latest AS pdf
WORKDIR /puppeteer
USER root
# Prerequisites
RUN apt-get update && apt-get install nginx -y
# Update
RUN npm update
RUN npm update -g
RUN npm install -g npm
# Dependencies
RUN npm install puppeteer
# Run
COPY ./pdf.js .
RUN chmod u+x pdf.js
RUN service nginx start && ./pdf.js
This waits for Nginx to start and then runs a Node.js script (which crawls some pages on the Nginx webserver).
Are the commands correct in # Update
? Does the order of the commands matter, in order for it to update properly and fully?
Node.js/NPM appears to update but throws the following warning in the console whilst it works (it takes some time):
#43 3.167 npm WARN EBADENGINE Unsupported engine {
#43 3.169 npm WARN EBADENGINE package: 'corepack@0.28.0',
#43 3.170 npm WARN EBADENGINE required: { node: '^18.17.1 || >=20.10.0' },
#43 3.172 npm WARN EBADENGINE current: { node: 'v20.9.0', npm: '10.1.0' }
#43 3.174 npm WARN EBADENGINE }
How can we fix this warning about an unsupported engine/mismatched versions? I.E. how can we update from Node v20.9.0
to v20.10.0
(or latest)?
Docker specifically recommend that you should use apt-get update
in their best practices . Should we also be updating Node.js/NPM like the above? Could updating potentially cause any issues for our install of Google Puppeteer ? I.E. because those later versions are untested on puppeteer:latest
by Google.
Danny Beckett
(797 rep)
May 5, 2024, 04:12 PM
• Last activity: May 6, 2024, 05:25 AM
Showing page 1 of 20 total questions