Where are pacman package databases downloaded from? - database

When updating your system on archlinux with pacman -Suy, pacman gets package databases from somewhere and then downloads packages from mirrors according to versions specified in these databases.
I know these databases are in /var/lib/pacman/sync/. My question is, where does pacman get them from?

The db files also come from the package mirrors specified in /etc/pacman.d/mirrorlist.
For example in this core repo:
...
core.db 136.6 KiB 2022-Mar-05 12:53
core.db.tar.gz 136.6 KiB 2022-Mar-05 12:53
...
The wiki also mentions what to do if you get an error:
Failed retrieving file 'core.db' from mirror
If you receive this error message with correct mirrors, try setting a different name server.

Related

MariaDB version 10.5.9 unable to install

In my current workplace we are using MariaDB version 10.5.9 for our DB's and we are trying to reinstall this version for testing purposes on a separate container. However, seems anything from 10.5.9 below is failing with the follow error;
root#mdb-10-5:~# curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=mariadb-10.5.9
# [info] Checking for script prerequisites.
# [warning] Found existing file at /etc/apt/sources.list.d/mariadb.list. Moving to /etc/apt/sources.list.d/mariadb.list.old_5
# [error] MariaDB Server version 10.5.9 is not working.
# Please verify that the version is correct.
#
# The latest MariaDB Server versions are:
# 10.10.1 10.3.36 10.4.26 10.5.17 10.6.10 10.7.6 10.8.5 10.9.3
#
# More information on MariaDB releases is available at:
# https://mariadb.com/kb/en/release-notes/
When I try the same command with version 10.5.10, it works and downloads successfully.
I am using the following procedure, one of which is the MariaDB KB:
https://mariadb.com/kb/en/mariadb-package-repository-setup-and-usage/
https://www.dbi-services.com/blog/how-to-install-a-specific-version-of-mariadb/
Both guides use the same repo, and it is also the only thing that I have found specific when I search for information to install this particular version or MariaDB.
Can anyone offer any suggestions or have experienced similar problems?
We (MariaDB corporation) recently moved over our repositories to a content delivery network instead of using our own servers only. Unfortunately the new service does not have a full archive of older releases yet, the oldest 10.5 we have on there for example is 10.5.10.
I have filed an internal bug report / feature request about that already, but it is still pending.
Meanwhile you can "fix" this by first running the repo setup script with a supported version like 10.5.10, and then editing the repository file it created, replacing the version number with 10.5.9, and the host name dlm.mariadb.com with download.mariadb.com.
On Debian and Ubuntu the repository file would be /etc/apt/sources.list.d/mariadb.list, and you'd have to run apt-get update afterwards to pick up the repo change before installing packages.
On RHEL, CentOS, Rocky etc. the file is /etc/yum.repos.d/mariadb.repo and no further action is needed before installing actual packages.

Installation of timescaledb failing

I've attempted to install timescaledb on Ubuntu 18.04 (32bit) with Postgresql 12 using:
https://docs.timescale.com/latest/getting-started/installation/ubuntu/installation-apt-ubuntu
When I run sudo apt install timescaledb-2-postgresql-12 I get the error:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package timescaledb-2-postgresql-12
I then tried to go through and build the code locally (from the repository https://github.com/timescale/timescaledb) which was successful (on the make) but I was not able to see the "next steps" for what to do after the build. When I attempt to add the extension in the postgres.conf file by adding "shared_preload_libraries = 'timescaledb' " then restarting. On the restart I get the error
2021-02-22 07:24:28.711 EST [18311] syorke#postgres ERROR: could not open extension control file "/usr/share/postgresql/12/extension/timescaledb.control": No such file or directory
In the timescaledb.control is:
# timescaledb extension
comment = 'Enables scalable inserts and complex queries for time-series data'
default_version = '2.0.1'
module_pathname = '$libdir/timescaledb-2.0.1'
#extension cannot be relocatable once installed because it uses multiple schemas and that is forbidden by PG.
#(though this extension is relocatable during installation).
relocatable = false
My question is am I going about this correctly where the package was not found?
Should I replace the /usr/share/postgresql/12/extension/timescaledb.control with the timescaledb.control.in in the directory where I did my build for timescaledb?
In that control file from the build is:
# timescaledb extension
comment = 'Enables scalable inserts and complex queries for time-series data'
default_version = '#PROJECT_VERSION_MOD#'
module_pathname = '$libdir/timescaledb-#PROJECT_VERSION_MOD#'
#extension cannot be relocatable once installed because it uses multiple schemas and that is forbidden by PG.
#(though this extension is relocatable during installation).
relocatable = false
What would '#PROJECT_VERSION_MOD#' be replaced with and where is the $libdir set?
Thanks for any help.
Hi I just successuffly install on Ubuntu 20.04 using the script locate here
https://packagecloud.io/timescale/timescaledb/install
instead of doing the step 3 on the normal installation process
https://docs.timescale.com/install/latest/self-hosted/installation-debian/#installing-self-hosted-timescaledb-on-debian-based-systems
Then follow step 4 & 5 as on the documentation
As you have install from source maybe you will need to uninstall first

Oracle Instant Client SQL*Loader tool doesn't start because of missing libomsodm.so

I installed oracle basic instant client v21 x64 RPM package on my ubuntu 20.04 with instant tools same version. Now I cannot run sqlldr tool, sqlldr: error while loading shared libraries: libomsodm.so: cannot open shared object file: No such file or directory is thrown. I tried other tools like sqlplus and it's OK. My envvars is set properly as described in documentation
This is my PATH and LD_LIBRARY_PATH vars
This is libraries list in lib folder and it not contains libomsodm.so
Full error message
So my questions are why libomsodm.so not included in basic and tools packages if it is required?
Where from can I get it? (I installed all packages from here and there is no libomsodm)
I need lsqldr only because I have .ldr and .ctl files, which contains a backup of table data. DB stored on remote server. My last question is how to restore data from ".ldr" and ".ctl" files using linux?
Update: a new 21.1 "tools" RPM package with the SQL*Loader fix is available on https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
libomsodm.so is included in the same 21c package as SQL*Loader. At a guess you have a mixed set of 19c and 21c Instant Client packages.
$ wget https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-tools-linux.x64-21.1.0.0.0.zip
--2020-12-16 08:52:58-- https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-tools-linux.x64-21.1.0.0.0.zip
Resolving download.oracle.com (download.oracle.com)... 104.80.236.93
Connecting to download.oracle.com (download.oracle.com)|104.80.236.93|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1167332 (1.1M) [application/zip]
Saving to: ‘instantclient-tools-linux.x64-21.1.0.0.0.zip’
instantclient-tools-linux.x64-21.1.0.0.0.zip 100%[==========================================================================================================>] 1.11M 1.12MB/s in 1.0s
2020-12-16 08:53:01 (1.12 MB/s) - ‘instantclient-tools-linux.x64-21.1.0.0.0.zip’ saved [1167332/1167332]
$ unzip instantclient-tools-linux.x64-21.1.0.0.0.zip
Archive: instantclient-tools-linux.x64-21.1.0.0.0.zip
inflating: instantclient_21_1/exp
inflating: instantclient_21_1/expdp
inflating: instantclient_21_1/imp
inflating: instantclient_21_1/impdp
inflating: instantclient_21_1/libnfsodm.so
inflating: instantclient_21_1/libomsodm.so
inflating: instantclient_21_1/libopcodm.so
inflating: instantclient_21_1/sqlldr
inflating: instantclient_21_1/TOOLS_LICENSE
inflating: instantclient_21_1/TOOLS_README
inflating: instantclient_21_1/wrc
cjones#mac:/tmp$
To complement the other two responses from Christopher Jones, in case the resolution is not completely clear:
The shared lib libomsodm.so is missing from the Tools Package (RPM)
oracle-instantclient-tools-21.1.0.0.0-1.x86_64.rpm, so this is indeed an Oracle bug/oversight.
Fortunately, the file is provided and present in the Tools Package (ZIP) instantclient-tools-linux.x64-21.1.0.0.0.zip.
So to resolve, after installing the RPM, you need to download and extract the ZIP archive, then install the missing lib as root with
# install -m 755 -o root -g root instantclient_21_1/libomsodm.so /usr/lib/oracle/21/client64/lib/libomsodm.so
# ldconfig
You should now be able to run sqlldr as any non-privileged user: it will display the command syntax instead of a shared library linkage fatal error.
PS: personally, I also manually create a softlink from /usr/bin/sqlldr pointing to /usr/lib/oracle/21/client64/bin/sqlldr, as this is the only tool I need in the Tools package. There's already a /usr/bin/sqlplus softlink created by the Sql*Plus package.
I have just encountered the same issue. The existing installation of instantclient was completely purged from the system beforehand, so this isn't due to a mixup between the version 19.x and 21.1 libraries. The library file is actually missing from the .rpm package:
$ wget "https://download.oracle.com/otn_software/linux/instantclient/211000/oracle-instantclient-tools-21.1.0.0.0-1.x86_64.rpm"
...
$ rpm -qlp oracle-instantclient-tools-21.1.0.0.0-1.x86_64.rpm
/usr/lib/oracle
/usr/lib/oracle/21
/usr/lib/oracle/21/client64
/usr/lib/oracle/21/client64/bin
/usr/lib/oracle/21/client64/bin/exp
/usr/lib/oracle/21/client64/bin/expdp
/usr/lib/oracle/21/client64/bin/imp
/usr/lib/oracle/21/client64/bin/impdp
/usr/lib/oracle/21/client64/bin/sqlldr
/usr/lib/oracle/21/client64/bin/wrc
/usr/lib/oracle/21/client64/lib
/usr/lib/oracle/21/client64/lib/libnfsodm.so
/usr/lib/oracle/21/client64/lib/libopcodm.so
/usr/share/oracle
/usr/share/oracle/21
/usr/share/oracle/21/client64
/usr/share/oracle/21/client64/doc
/usr/share/oracle/21/client64/doc/TOOLS_LICENSE
/usr/share/oracle/21/client64/doc/TOOLS_README
I normally install to Ubuntu by converting the .rpm to a .deb via alien --scripts package.deb. This has worked flawlessly for many years and versions of instantclient up to and including 19.10 (which I have downgraded to.) Therefore, I wonder whether this could be a bug/oversight in Oracle's packaging of the latest version.

How to get debian packages from older releases

This might be one basic question.
but I wanted to download packages of specific debian version from debian mirror.
e.g I wanted to download debian 9.11 packages but when I checked on debian mirror(http://ftp.debian.com/debian/dists/)
I could see only debian 9.12 entry and no entry of 9.11
screenshot of debian mirror
I know debian must archive these packages and mirror somewhere else but I am currently not able to find it
Once a developer told that he used jigdo images to get the archived mirror. But I am not able to extract debian mirror url from jigdo images
Thanks
I after searching over the internet, I got the solution.
I found mirror url from jidgo image uploaded by debian.
I downloaded jidgo image of debian 9.11 from here
https://cdimage.debian.org/cdimage/archive/9.11.0/amd64/iso-cd/
and used zcat command on .jidgo file and found mirror at the end of the file
the mirror was something like this
http://snapshot.debian.org/archive/debian/20190909T181138Z/

How are content files for .deb files created?

I'm creating a clone of Cura, and one major hurdle is creating a custom content file present here. If I could get an explanation as to how this file is generated, that would be great. My main aim is to work around the file to provide it some different data.
Currently, upon changing the data and running the package.sh script, I get an error in the Software Centre saying that it's detected a bad package.
It's just the content file of a debian (or ubuntu) package. A debian package consist on a DEBIAN folder containing a content file and a postinst file. Other folders contains the real files to install. The content package is just a description of the package as you can see. The lines are pretty self-explanatory :
Package: cura # package name
Version: 14.01 # version number
Section: misc # section of the package
Priority: optional
Architecture: amd64 # you can also put all here
Essential: no
Depends: python-wxgtk2.8, python-opengl, python-serial, python-numpy # other packages it depends on
Maintainer: Daid <daid303#gmail.com>
Provides: cura
Installed-Size: 10000 # doesn't have to be exact
Description: Cura is a full software solution for 3D printing,
aimed at RepRaps and the Ultimaker. It's free software payed for
and maintained by Ultimaker.
Can you be more specific on the tools you are using and the error ?

Resources