local repo not serving all packages on RHEL 8 type OS - repository

I host packages locally for my servers and have done so successfully up to RHEL 8. I built custom nginx packages but when I try install them with dnf they are not found. Some packages are found though.
In this example I use Alma Linux 8.5 but the same occurred on Centos 8.5 too.
Here is my config:
/etc/yum.repos.d/local.repo
[local_el]
name=local_el
metadata_expire=-1
enabled=1
gpgcheck=0
baseurl=file:///opt/devops/packages/
Location to repo
[root#alma8 packages]# ll
total 1112
-rw-r--r--. 1 root root 897716 Feb 22 13:28 nginx-1.20.2-1.el8.x86_64.rpm
-rw-r--r--. 1 root root 25476 Feb 22 13:28 nginx-all-modules-1.20.2-1.el8.noarch.rpm
-rw-r--r--. 1 root root 26616 Feb 22 13:28 nginx-filesystem-1.20.2-1.el8.noarch.rpm
-rw-r--r--. 1 root root 37216 Feb 22 13:29 nginx-mod-http-image-filter-1.20.2-1.el8.x86_64.rpm
-rw-r--r--. 1 root root 36628 Feb 22 13:29 nginx-mod-security-1.20.2-1.el8.x86_64.rpm
-rw-r--r--. 1 root root 95312 Feb 22 13:29 nginx-mod-stream-1.20.2-1.el8.x86_64.rpm
drwxr-xr-x. 2 root root 4096 Feb 22 14:15 repodata
Createrepo logs
14:45:03: Version: 0.17.2 (Features: DeltaRPM LegacyWeakdeps )
14:45:03: Signal handler setup
14:45:03: Thread pool ready
Directory walk started
14:45:03: Dir to scan: packages/noarch
14:45:03: Dir to scan: packages/x86_64
14:45:03: Dir to scan: packages/repodata
14:45:03: Dir to scan: packages/.repodata
14:45:03: Adding pkg: packages/x86_64/nginx-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/x86_64/nginx-mod-http-image-filter-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/x86_64/nginx-mod-http-perl-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/x86_64/nginx-mod-http-xslt-filter-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/x86_64/nginx-mod-mail-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/x86_64/nginx-mod-stream-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/x86_64/nginx-mod-security-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/x86_64/nginx-debugsource-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/x86_64/nginx-debuginfo-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/x86_64/nginx-mod-http-image-filter-debuginfo-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/x86_64/nginx-mod-http-perl-debuginfo-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/x86_64/nginx-mod-http-xslt-filter-debuginfo-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/x86_64/nginx-mod-mail-debuginfo-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/x86_64/nginx-mod-stream-debuginfo-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/x86_64/nginx-mod-security-debuginfo-1.20.2-1.el8.x86_64.rpm
14:45:03: Adding pkg: packages/noarch/nginx-all-modules-1.20.2-1.el8.noarch.rpm
14:45:03: Adding pkg: packages/noarch/nginx-filesystem-1.20.2-1.el8.noarch.rpm
14:45:03: Package count: 17
Directory walk done - 17 packages
Temporary output repo path: packages/.repodata/
14:45:03: Creating .xml.gz files
14:45:03: Setting number of packages
Preparing sqlite DBs
14:45:03: Creating databases
14:45:03: Thread pool user data ready
Pool started (with 5 workers)
Pool finished
14:45:03: Generating repomd.xml
14:45:03: Copying files from old repository to the new one
14:45:03: Retention type: 0 (0)
14:45:03: Excluded: 71a84f0ff87f2d16a38ab0e1ce52f0b42b401e5a588d8c8d875333ec0e4f94cf-primary.xml.gz
14:45:03: Excluded: fa61e61c6e82f3c56a7bb3ab75f198189081a8f13c47a6b98c8e3084528a3036-filelists.xml.gz
14:45:03: Excluded: 3b07ad14fb7d28a87d7eea372f9d0b3d41aea68cdf84d5e1d6c5ef504ed8016e-other.xml.gz
14:45:03: Excluded: e4061c2dd76c52a6dd332869dc44a9f4b14d33ecabd40a2591eacbd94e0fbb71-primary.sqlite.bz2
14:45:03: Excluded: c42025b3f7b01598c6a89f97c050de59e6e3632864d319be674cf0b64535449d-filelists.sqlite.bz2
14:45:03: Excluded: 6b7298bc7369f93f684353e58c266ccd5258f625806bd07d65a7712dac2440f7-other.sqlite.bz2
14:45:03: Excluded: repomd.xml
14:45:03: Renamed packages/repodata/ -> packages/repodata.old.10421.20220222144503.378656
14:45:03: Renamed packages/.repodata/ -> packages/repodata/
14:45:03: Old repo packages/repodata.old.10421.20220222144503.378656 removed
14:45:03: Memory cleanup
14:45:03: All done
Contents inside primary.xml
zgrep "<name>" 22ccd45fe12baca6053f1feb1586a7e5a62956ca05587c49c44596fa75e8da7c-primary.xml.gz
<name>nginx</name>
<name>nginx-all-modules</name>
<name>nginx-filesystem</name>
<name>nginx-mod-http-image-filter</name>
<name>nginx-mod-security</name>
<name>nginx-mod-stream</name>
When I search with dnf I only get this package from all the others above:
# dnf repository-packages Doxim_el list
Last metadata expiration check: 0:03:09 ago on Tue 22 Feb 2022 14:39:28 SAST.
Available Packages
nginx-mod-security.x86_64 1:1.20.2-1.el8 local_el
nginx-mod-security-debuginfo.x86_64 1:1.20.2-1.el8 local_el
I tried running createrepo with various switches like --compatibility but that makes no difference. I've disabled selinux on this test box too. I'm not checking gpg.
I also split the files into noarch and x86_64 directories to no avail.
Any assistance will be appreciated. On my older servers using Centos 7 this just works.

The long of it is that some packages are provides in/with modules in rHEL 8+. So you need to consider that and add
module_hotfixes=1
to your local repo's config file to allow your local packages to overwrite a module.

Related

Dokku: failed to push some refs

I have a asp.net core 3.1 application that I am trying to deploy using dokku to my Ubuntu 20 VM on digital ocean. I have installed Dokku on my Droplet and and I am failing at the git push aspnetapp master step with the error listed below. I am using the steps listed here, my machine OS is Windows 10.
What am I missing?
error: src refspec master does not match any
error: failed to push some refs to 'dokku#ubuntu-s-1vcpu-1gb-nyc1-01:aspnetapp'
Dockerfile:
# https://hub.docker.com/_/microsoft-dotnet-core
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /source
# copy csproj and restore as distinct layers
COPY *.sln .
COPY aspnetapp/*.csproj ./aspnetapp/
RUN dotnet restore
# copy everything else and build app
COPY aspnetapp/. ./aspnetapp/
WORKDIR /source/aspnetapp
RUN dotnet publish -c release -o /app --no-restore
# final stage/image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
ENV ASPNETCORE_URLS http://*:5000
WORKDIR /app
COPY --from=build /app ./
ENTRYPOINT ["dotnet", "aspnetapp.dll"]
Digital Ocean: Dokku-installation output:
root#ubuntu-s-1vcpu-1gb-nyc1-01:~# wget https://raw.githubusercontent.com/dokku/ dokku/v0.21.4/bootstrap.sh
--2020-10-31 21:33:20-- https://raw.githubusercontent.com/dokku/dokku/v0.21.4/b ootstrap.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.208.1 33
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.208. 133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8453 (8.3K) [text/plain]
Saving to: ‘bootstrap.sh’
bootstrap.sh 100%[===================>] 8.25K --.-KB/s in 0s
2020-10-31 21:33:20 (38.2 MB/s) - ‘bootstrap.sh’ saved [8453/8453]
root#ubuntu-s-1vcpu-1gb-nyc1-01:~# sudo DOKKU_TAG=v0.21.4 bash bootstrap.sh
Preparing to install v0.21.4 from https://github.com/dokku/dokku.git...
--> Ensuring we have the proper dependencies
--> Initial apt-get update
Selecting previously unselected package apt-transport-https.
(Reading database ... 63395 files and directories currently installed.)
Preparing to unpack .../apt-transport-https_2.0.2ubuntu0.1_all.deb ...
Unpacking apt-transport-https (2.0.2ubuntu0.1) ...
Setting up apt-transport-https (2.0.2ubuntu0.1) ...
--> Installing docker
# Executing docker install script, commit: 26ff363bcf3b3f5a00498ac43694bf1c7d9ce 16c
2020-10-31 21:34:12 URL:https://get.docker.com/ [13857/13857] -> "-" [1]
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-http s ca-certificates curl >/dev/null
+ sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - >/dev/null
Warning: apt-key output should not be parsed (stdout is not a terminal)
+ sh -c echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal st able" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
+ [ -n ]
+ sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
+ sh -c docker version
Client: Docker Engine - Community
Version: 19.03.13
API version: 1.40
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:02:52 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.13
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:01:20 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.3.7
GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker your-user
Remember that you will have to log out and back in for this to take effect!
WARNING: Adding a user to the "docker" group will grant the ability to run
containers which can be used to obtain root privileges on the
docker host.
Refer to https://docs.docker.com/engine/security/security/#docker-daemo n-attack-surface
for more information.
--> Installing dokku
2020-10-31 21:36:27 URL:https://d28dx6y1hfq314.cloudfront.net/505/623/gpg/dokku- dokku-FB2B6AA421CD193F.pub.gpg?t=1604180487_b0707be261a93dd343e056d1db1b69d643fd 9a6c [3937/3937] -> "-" [1]
OK
deb https://packagecloud.io/dokku/dokku/ubuntu/ focal main
Extracting templates from packages: 100%
Preconfiguring packages ...
Selecting previously unselected package gliderlabs-sigil.
(Reading database ... 63640 files and directories currently installed.)
Preparing to unpack .../00-gliderlabs-sigil_0.6.0_amd64.deb ...
Unpacking gliderlabs-sigil (0.6.0) ...
Selecting previously unselected package nginx-common.
Preparing to unpack .../01-nginx-common_1.18.0-0ubuntu1_all.deb ...
Unpacking nginx-common (1.18.0-0ubuntu1) ...
Selecting previously unselected package fonts-dejavu-core.
Preparing to unpack .../02-fonts-dejavu-core_2.37-1_all.deb ...
Unpacking fonts-dejavu-core (2.37-1) ...
Selecting previously unselected package fontconfig-config.
Preparing to unpack .../03-fontconfig-config_2.13.1-2ubuntu3_all.deb ...
Unpacking fontconfig-config (2.13.1-2ubuntu3) ...
Selecting previously unselected package libfontconfig1:amd64.
Preparing to unpack .../04-libfontconfig1_2.13.1-2ubuntu3_amd64.deb ...
Unpacking libfontconfig1:amd64 (2.13.1-2ubuntu3) ...
Selecting previously unselected package libjpeg-turbo8:amd64.
Preparing to unpack .../05-libjpeg-turbo8_2.0.3-0ubuntu1.20.04.1_amd64.deb ...
Unpacking libjpeg-turbo8:amd64 (2.0.3-0ubuntu1.20.04.1) ...
Selecting previously unselected package libjpeg8:amd64.
Preparing to unpack .../06-libjpeg8_8c-2ubuntu8_amd64.deb ...
Unpacking libjpeg8:amd64 (8c-2ubuntu8) ...
Selecting previously unselected package libjbig0:amd64.
Preparing to unpack .../07-libjbig0_2.1-3.1build1_amd64.deb ...
Unpacking libjbig0:amd64 (2.1-3.1build1) ...
Selecting previously unselected package libwebp6:amd64.
Preparing to unpack .../08-libwebp6_0.6.1-2_amd64.deb ...
Unpacking libwebp6:amd64 (0.6.1-2) ...
Selecting previously unselected package libtiff5:amd64.
Preparing to unpack .../09-libtiff5_4.1.0+git191117-2build1_amd64.deb ...
Unpacking libtiff5:amd64 (4.1.0+git191117-2build1) ...
Selecting previously unselected package libxpm4:amd64.
Preparing to unpack .../10-libxpm4_1%3a3.5.12-1_amd64.deb ...
Unpacking libxpm4:amd64 (1:3.5.12-1) ...
Selecting previously unselected package libgd3:amd64.
Preparing to unpack .../11-libgd3_2.2.5-5.2ubuntu2_amd64.deb ...
Unpacking libgd3:amd64 (2.2.5-5.2ubuntu2) ...
Selecting previously unselected package libnginx-mod-http-image-filter.
Preparing to unpack .../12-libnginx-mod-http-image-filter_1.18.0-0ubuntu1_amd64. deb ...
Unpacking libnginx-mod-http-image-filter (1.18.0-0ubuntu1) ...
Selecting previously unselected package libnginx-mod-http-xslt-filter.
Preparing to unpack .../13-libnginx-mod-http-xslt-filter_1.18.0-0ubuntu1_amd64.d eb ...
Unpacking libnginx-mod-http-xslt-filter (1.18.0-0ubuntu1) ...
Selecting previously unselected package libnginx-mod-mail.
Preparing to unpack .../14-libnginx-mod-mail_1.18.0-0ubuntu1_amd64.deb ...
Unpacking libnginx-mod-mail (1.18.0-0ubuntu1) ...
Selecting previously unselected package libnginx-mod-stream.
Preparing to unpack .../15-libnginx-mod-stream_1.18.0-0ubuntu1_amd64.deb ...
Unpacking libnginx-mod-stream (1.18.0-0ubuntu1) ...
Selecting previously unselected package nginx-core.
Preparing to unpack .../16-nginx-core_1.18.0-0ubuntu1_amd64.deb ...
Unpacking nginx-core (1.18.0-0ubuntu1) ...
Selecting previously unselected package nginx.
Preparing to unpack .../17-nginx_1.18.0-0ubuntu1_all.deb ...
Unpacking nginx (1.18.0-0ubuntu1) ...
Selecting previously unselected package cgroupfs-mount.
Preparing to unpack .../18-cgroupfs-mount_1.4_all.deb ...
Unpacking cgroupfs-mount (1.4) ...
Selecting previously unselected package plugn.
Preparing to unpack .../19-plugn_0.5.0_amd64.deb ...
Unpacking plugn (0.5.0) ...
Selecting previously unselected package sshcommand.
Preparing to unpack .../20-sshcommand_0.11.0_amd64.deb ...
Unpacking sshcommand (0.11.0) ...
Selecting previously unselected package net-tools.
Preparing to unpack .../21-net-tools_1.60+git20180626.aebd88e-1ubuntu1_amd64.deb ...
Unpacking net-tools (1.60+git20180626.aebd88e-1ubuntu1) ...
Selecting previously unselected package procfile-util.
Preparing to unpack .../22-procfile-util_0.11.0_amd64.deb ...
Unpacking procfile-util (0.11.0) ...
Selecting previously unselected package dos2unix.
Preparing to unpack .../23-dos2unix_7.4.0-2_amd64.deb ...
Unpacking dos2unix (7.4.0-2) ...
Selecting previously unselected package libonig5:amd64.
Preparing to unpack .../24-libonig5_6.9.4-1_amd64.deb ...
Unpacking libonig5:amd64 (6.9.4-1) ...
Selecting previously unselected package libjq1:amd64.
Preparing to unpack .../25-libjq1_1.6-1_amd64.deb ...
Unpacking libjq1:amd64 (1.6-1) ...
Selecting previously unselected package jq.
Preparing to unpack .../26-jq_1.6-1_amd64.deb ...
Unpacking jq (1.6-1) ...
Setting up gliderlabs-sigil (0.6.0) ...
Setting up nginx-common (1.18.0-0ubuntu1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib /systemd/system/nginx.service.
Setting up fonts-dejavu-core (2.37-1) ...
Setting up fontconfig-config (2.13.1-2ubuntu3) ...
Setting up libfontconfig1:amd64 (2.13.1-2ubuntu3) ...
Setting up libjpeg-turbo8:amd64 (2.0.3-0ubuntu1.20.04.1) ...
Setting up libjpeg8:amd64 (8c-2ubuntu8) ...
Setting up libjbig0:amd64 (2.1-3.1build1) ...
Setting up libwebp6:amd64 (0.6.1-2) ...
Setting up libtiff5:amd64 (4.1.0+git191117-2build1) ...
Setting up libxpm4:amd64 (1:3.5.12-1) ...
Setting up libgd3:amd64 (2.2.5-5.2ubuntu2) ...
Setting up libnginx-mod-http-image-filter (1.18.0-0ubuntu1) ...
Setting up libnginx-mod-http-xslt-filter (1.18.0-0ubuntu1) ...
Setting up libnginx-mod-mail (1.18.0-0ubuntu1) ...
Setting up libnginx-mod-stream (1.18.0-0ubuntu1) ...
Setting up nginx-core (1.18.0-0ubuntu1) ...
Setting up nginx (1.18.0-0ubuntu1) ...
Setting up cgroupfs-mount (1.4) ...
Setting up plugn (0.5.0) ...
Selecting previously unselected package dokku.
(Reading database ... 64058 files and directories currently installed.)
Preparing to unpack .../0-dokku_0.21.4_amd64.deb ...
Reloading nginx configuration (via systemctl): nginx.service.
Error: keyfile '/root/.ssh/id_rsa.pub' not found.
To deploy, you will need to generate a keypair and add with 'dokku ssh-ke ys:add'.
Unpacking dokku (0.21.4) ...
Selecting previously unselected package herokuish.
Preparing to unpack .../1-herokuish_0.5.18_amd64.deb ...
Unpacking herokuish (0.5.18) ...
Selecting previously unselected package libsensors-config.
Preparing to unpack .../2-libsensors-config_1%3a3.6.0-2ubuntu1_all.deb ...
Unpacking libsensors-config (1:3.6.0-2ubuntu1) ...
Selecting previously unselected package libsensors5:amd64.
Preparing to unpack .../3-libsensors5_1%3a3.6.0-2ubuntu1_amd64.deb ...
Unpacking libsensors5:amd64 (1:3.6.0-2ubuntu1) ...
Selecting previously unselected package sysstat.
Preparing to unpack .../4-sysstat_12.2.0-2_amd64.deb ...
Unpacking sysstat (12.2.0-2) ...
Selecting previously unselected package dokku-event-listener.
Preparing to unpack .../5-dokku-event-listener_0.7.0_amd64.deb ...
Unpacking dokku-event-listener (0.7.0) ...
Selecting previously unselected package parallel.
Preparing to unpack .../6-parallel_20161222-1.1_all.deb ...
Adding 'diversion of /usr/bin/parallel to /usr/bin/parallel.moreutils by paralle l'
Adding 'diversion of /usr/share/man/man1/parallel.1.gz to /usr/share/man/man1/pa rallel.moreutils.1.gz by parallel'
Unpacking parallel (20161222-1.1) ...
Setting up net-tools (1.60+git20180626.aebd88e-1ubuntu1) ...
Setting up sshcommand (0.11.0) ...
Setting up libsensors-config (1:3.6.0-2ubuntu1) ...
Setting up libsensors5:amd64 (1:3.6.0-2ubuntu1) ...
Setting up herokuish (0.5.18) ...
Starting docker
Importing herokuish into docker (around 5 minutes)
v0.5.18: Pulling from gliderlabs/herokuish
f08d8e2a3ba1: Pull complete
3baa9cb2483b: Pull complete
94e5ff4c0b15: Pull complete
1860925334f9: Pull complete
adf91c06c078: Pull complete
f945aa327c67: Pull complete
c0b3fea53361: Pull complete
33c3518bd706: Pull complete
718dfb962167: Pull complete
333ab38d592c: Pull complete
64df9312c992: Pull complete
4b315d0eb43a: Pull complete
df3c87bc93b1: Pull complete
Digest: sha256:ecd9b9873348b6d227fd23b1bb5c461cd9017b835b64b3721eeaece889cacfa6
Status: Downloaded newer image for gliderlabs/herokuish:v0.5.18
docker.io/gliderlabs/herokuish:v0.5.18
Pruning dangling images
Error response from daemon: invalid reference format: repository name must be lowercase
Pruning unused gliderlabs/herokuish images
Error response from daemon: conflict: unable to delete 245de830cb40 (must be forced) - image is referenced in mul tiple repositories
Setting up dos2unix (7.4.0-2) ...
Setting up sysstat (12.2.0-2) ...
Creating config file /etc/default/sysstat with new version
update-alternatives: using /usr/bin/sar.sysstat to provide /usr/bin/sar (sar) in auto mode
Created symlink /etc/systemd/system/multi-user.target.wants/sysstat.service → /lib/systemd/system/sysstat.service .
Setting up procfile-util (0.11.0) ...
Setting up libonig5:amd64 (6.9.4-1) ...
Setting up dokku-event-listener (0.7.0) ...
Created symlink /etc/systemd/system/multi-user.target.wants/dokku-event-listener.target → /etc/systemd/system/dok ku-event-listener.target.
Setting up libjq1:amd64 (1.6-1) ...
Setting up parallel (20161222-1.1) ...
Setting up jq (1.6-1) ...
Setting up dokku (0.21.4) ...
Purging old database entries in /usr/share/man...
Processing manual pages under /usr/share/man...
Updating index cache for path `/usr/share/man/man8'. Wait...mandb: can't open /usr/share/man/./version: No such f ile or directory
mandb: warning: /usr/share/man/man8/lsof.8.gz: bad symlink or ROFF `.so' request
Updating index cache for path `/usr/share/man/man1'. Wait...done.
Checking for stray cats under /usr/share/man...
Checking for stray cats under /var/cache/man...
Purging old database entries in /usr/share/man/zh_CN...
Processing manual pages under /usr/share/man/zh_CN...
Updating index cache for path `/usr/share/man/zh_CN/man1'. Wait...done.
Checking for stray cats under /usr/share/man/zh_CN...
Checking for stray cats under /var/cache/man/zh_CN...
Processing manual pages under /usr/share/man/uk...
Updating index cache for path `/usr/share/man/uk/man1'. Wait...done.
Checking for stray cats under /usr/share/man/uk...
Checking for stray cats under /var/cache/man/uk...
Purging old database entries in /usr/share/man/de...
Processing manual pages under /usr/share/man/de...
Updating index cache for path `/usr/share/man/de/man1'. Wait...done.
Checking for stray cats under /usr/share/man/de...
Checking for stray cats under /var/cache/man/de...
Purging old database entries in /usr/share/man/sv...
Processing manual pages under /usr/share/man/sv...
Updating index cache for path `/usr/share/man/sv/man1'. Wait...done.
Checking for stray cats under /usr/share/man/sv...
Checking for stray cats under /var/cache/man/sv...
Purging old database entries in /usr/share/man/ru...
Processing manual pages under /usr/share/man/ru...
Purging old database entries in /usr/share/man/nl...
Processing manual pages under /usr/share/man/nl...
Updating index cache for path `/usr/share/man/nl/man1'. Wait...done.
Checking for stray cats under /usr/share/man/nl...
Checking for stray cats under /var/cache/man/nl...
Purging old database entries in /usr/share/man/zh_TW...
Processing manual pages under /usr/share/man/zh_TW...
Purging old database entries in /usr/share/man/ja...
Processing manual pages under /usr/share/man/ja...
Purging old database entries in /usr/share/man/hu...
Processing manual pages under /usr/share/man/hu...
Purging old database entries in /usr/share/man/fr...
Processing manual pages under /usr/share/man/fr...
Updating index cache for path `/usr/share/man/fr/man1'. Wait...done.
Checking for stray cats under /usr/share/man/fr...
Checking for stray cats under /var/cache/man/fr...
Purging old database entries in /usr/share/man/pt...
Processing manual pages under /usr/share/man/pt...
Purging old database entries in /usr/share/man/da...
Processing manual pages under /usr/share/man/da...
Purging old database entries in /usr/share/man/it...
Processing manual pages under /usr/share/man/it...
Purging old database entries in /usr/share/man/sr...
Processing manual pages under /usr/share/man/sr...
Purging old database entries in /usr/share/man/es...
Processing manual pages under /usr/share/man/es...
Updating index cache for path `/usr/share/man/es/man1'. Wait...done.
Checking for stray cats under /usr/share/man/es...
Checking for stray cats under /var/cache/man/es...
Purging old database entries in /usr/share/man/sl...
Processing manual pages under /usr/share/man/sl...
Purging old database entries in /usr/share/man/cs...
Processing manual pages under /usr/share/man/cs...
Purging old database entries in /usr/share/man/ko...
Processing manual pages under /usr/share/man/ko...
Purging old database entries in /usr/share/man/pt_BR...
Processing manual pages under /usr/share/man/pt_BR...
Updating index cache for path `/usr/share/man/pt_BR/man1'. Wait...done.
Checking for stray cats under /usr/share/man/pt_BR...
Checking for stray cats under /var/cache/man/pt_BR...
Purging old database entries in /usr/share/man/fi...
Processing manual pages under /usr/share/man/fi...
Purging old database entries in /usr/share/man/pl...
Processing manual pages under /usr/share/man/pl...
Updating index cache for path `/usr/share/man/pl/man1'. Wait...done.
Checking for stray cats under /usr/share/man/pl...
Checking for stray cats under /var/cache/man/pl...
Purging old database entries in /usr/share/man/id...
Processing manual pages under /usr/share/man/id...
Purging old database entries in /usr/share/man/tr...
Processing manual pages under /usr/share/man/tr...
Processing manual pages under /usr/local/man...
17 man subdirectories contained newer manual pages.
104 manual pages were added.
0 stray cats were added.
5 old database entries were purged.
Setting up dokku user
Adding user `dokku' ...
Adding new group `dokku' (1000) ...
Adding new user `dokku' (1000) with group `dokku' ...
Creating home directory `/home/dokku' ...
Copying files from `/etc/skel' ...
docker:x:998:
Setting up storage directories
Setting up plugin directories
Migrating old plugins
Enabling all core plugins
Install all core plugins
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
....................................................................................+............................ .................+............................................................................................... .................................................................................................+............... ....................................................................................................+............ .............................................+..................+.....................+.......................... .+.........................+...............................+...............................................++*++* ++*++*
Adding user dokku to group adm
Starting nginx (via systemctl): nginx.service.
-----> Priming bash-completion cache
Ensure proper sshcommand path
Setting up dokku-installer
Enabling dokku-installer
Created symlink /etc/systemd/system/multi-user.target.wants/dokku-installer.service → /etc/systemd/system/dokku-i nstaller.service.
Created symlink /etc/systemd/system/graphical.target.wants/dokku-installer.service → /etc/systemd/system/dokku-in staller.service.
Starting dokku-installer
Processing triggers for libc-bin (2.31-0ubuntu9.1) ...
Processing triggers for ufw (0.36-6) ...
Processing triggers for systemd (245.4-4ubuntu3.2) ...
Processing triggers for man-db (2.9.1-1) ...
--> Running post-install dependency installation
root#ubuntu-s-1vcpu-1gb-nyc1-01:~# dokku apps:create aspnetapp
-----> Creating aspnetapp...
Your log output says you are seeing the error:
src refspec main does not match any
This indicates that you are actually attempting to push the branch main instead of master. You should check which branch you are on - likely master? - and push that instead.
If you are on a non-master branch, you can use a few different methods to push that branch for building:
# push your branch SOME_BRANCH_NAME
git push dokku SOME_BRANCH_NAME:master
# set the deploy branch for your app
dokku git:set node-js-app deploy-branch SOME_BRANCH_NAME
EDIT: The OP posted in the Dokku slack channel, and it turns out they never actually committed to either a main or a master branch locally. Once they did, they were able to push their branch to Dokku.

how to enable repo with yum-config-manager --enable<repo>

During the try to install yum-utils, I ran into the problem that there seems to be no enabled repos. How can I enable yum-config-manager, when I seem to need him to do so.
[root#spectrumscale ~]# yum install yum-utils
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
There are no enabled repos.
Run "yum repolist all" to see the repos you have.
You can enable repos with yum-config-manager --enable <repo>
To install specific package from specific repo you can use
yum install --enablerepo=name-of-repo name-of-package
Say there can be conflict between version, consider example of installing mariadb 5.5.66, in my case I got 2 repo mariadb-5 and mariadb-10, suppose if I wish to install from mariadb-5 repo then I use
yum install --disablerepo=mariadb-10 --enablerepo=mariadb-5 MariaDB-server MariaDB-client
To enable enable specific repo, you can use
yum-config-manager --enable name-of-repo
Here is example on Centos 7.7
[root#localhost server-setup]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root#localhost server-setup]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.piconets.webwerks.in
* epel: mirror.poliwangi.ac.id
* extras: mirrors.piconets.webwerks.in
* remi-safe: mirror.innosol.asia
* updates: mirrors.piconets.webwerks.in
repo id repo name status
CodeIT/x86_64 CodeIT repo 369
base/7/x86_64 CentOS-7 - Base 10,097
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,453
extras/7/x86_64 CentOS-7 - Extras 305
ius/x86_64 IUS for Enterprise Linux 7 - x86_64 641
mariadb-10 MariaDB 94
mariadb-5 MariaDB 39
remi-safe Safe Remi's RPM repository for Enterprise Linux 7 - x86_64 3,621
updates/7/x86_64 CentOS-7 - Updates 711
repolist: 29,330
To Disable
[root#localhost server-setup]# yum-config-manager --disable mariadb-5
After Disabling
[root#localhost server-setup]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.piconets.webwerks.in
* epel: mirror.poliwangi.ac.id
* extras: mirrors.piconets.webwerks.in
* remi-safe: mirror.innosol.asia
* updates: mirrors.piconets.webwerks.in
repo id repo name status
CodeIT/x86_64 CodeIT repo 369
base/7/x86_64 CentOS-7 - Base 10,097
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,453
extras/7/x86_64 CentOS-7 - Extras 305
ius/x86_64 IUS for Enterprise Linux 7 - x86_64 641
mariadb-10 MariaDB 94
remi-safe Safe Remi's RPM repository for Enterprise Linux 7 - x86_64 3,621
updates/7/x86_64 CentOS-7 - Updates 711
repolist: 29,291
What it actually does ???
I got MariaDB.repo file at /etc/yum.repos.d/, when you use --enable <repo-name> or --disable <repo-name>, it will change the value of enabled = to 0 or 1, based on this, yum repolist will show you repositories.
[root#localhost server-setup]# cat /etc/yum.repos.d/MariaDB.repo
[mariadb-10]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4.10/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
[mariadb-5]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5.66/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled = 1

Making Dockerized Flask server concurrent

I have a Flask server that I'm running on AWS Fargate. My task has 2 vCPUs and 8 GB of memory. My server is only able to respond to one request at a time. If I run 2 API requests at the same, each that takes 7 seconds, the first request will take 7 seconds to return and the second will take 14 seconds to return.
This is my Docker file (using this repo):
FROM tiangolo/uwsgi-nginx-flask:python3.7
COPY ./requirements.txt requirements.txt
RUN pip3 install --no-cache-dir -r requirements.txt
RUN python3 -m spacy download en
RUN apt-get update
RUN apt-get install wkhtmltopdf -y
RUN apt-get install poppler-utils -y
RUN apt-get install xvfb -y
COPY ./ /app
I have the following config file:
[uwsgi]
module = main
callable = app
enable-threads = true
These are my logs when I start the server:
Checking for script in /app/prestart.sh
Running script /app/prestart.sh
Running inside /app/prestart.sh, you could add migrations to this file, e.g.:
#! /usr/bin/env bash
# Let the DB start
sleep 10;
# Run migrations
alembic upgrade head
/usr/lib/python2.7/dist-packages/supervisor/options.py:298: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
'Supervisord is running as root and it is searching '
2019-10-05 06:29:53,438 CRIT Supervisor running as root (no user in config file)
2019-10-05 06:29:53,438 INFO Included extra file "/etc/supervisor/conf.d/supervisord.conf" during parsing
2019-10-05 06:29:53,446 INFO RPC interface 'supervisor' initialized
2019-10-05 06:29:53,446 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2019-10-05 06:29:53,446 INFO supervisord started with pid 1
2019-10-05 06:29:54,448 INFO spawned: 'nginx' with pid 9
2019-10-05 06:29:54,450 INFO spawned: 'uwsgi' with pid 10
[uWSGI] getting INI configuration from /app/uwsgi.ini
[uWSGI] getting INI configuration from /etc/uwsgi/uwsgi.ini
;uWSGI instance configuration
[uwsgi]
cheaper = 2
processes = 16
ini = /app/uwsgi.ini
module = main
callable = app
enable-threads = true
ini = /etc/uwsgi/uwsgi.ini
socket = /tmp/uwsgi.sock
chown-socket = nginx:nginx
chmod-socket = 664
hook-master-start = unix_signal:15 gracefully_kill_them_all
need-app = true
die-on-term = true
show-config = true
;end of configuration
*** Starting uWSGI 2.0.18 (64bit) on [Sat Oct 5 06:29:54 2019] ***
compiled with version: 6.3.0 20170516 on 09 August 2019 03:11:53
os: Linux-4.14.138-114.102.amzn2.x86_64 #1 SMP Thu Aug 15 15:29:58 UTC 2019
nodename: ip-10-0-1-217.ec2.internal
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 2
current working directory: /app
detected binary path: /usr/local/bin/uwsgi
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to UNIX address /tmp/uwsgi.sock fd 3
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Python version: 3.7.4 (default, Jul 13 2019, 14:20:24) [GCC 6.3.0 20170516]
Python main interpreter initialized at 0x55e1e2b181a0
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 1239640 bytes (1210 KB) for 16 cores
*** Operational MODE: preforking ***
2019-10-05 06:29:55,483 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2019-10-05 06:29:55,484 INFO success: uwsgi entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

Running puppet apply using master for dependencies

I wish to be able to modify modules locally before commit to source control.
I believe I need to use puppet apply.
I create a init.pp test file including my module and add --modulepath directing to my module directory.
My problem is that all my dependencies exists on the puppet master and I don't want to download all dependencies. I want to have the version exists on the master.
Is there a way to do it?
I would split my tree into environments: test and productions, or something similar.
In my case I a more "complex" but smart method!
I do have a git repo, and i do have it in 2 places
/etc/puppet
/home/myuser/puppet-main
Both places are an environment,
Puppet.conf:
[main]
logdir = /var/log/puppet
rundir = /var/run/puppet
ssldir = $vardir/ssl
factpath = $vardir/lib/facter
environmentpath = $confdir/environments
basemodulepath = /usr/share/puppet/modules
environment_timeout = 30s
The /etc/puppet directory tree:
.
./environments
./environments/example_env
./environments/example_env/modules
./environments/example_env/manifests
./environments/billias
./environments/production
./environments/production/modules
./environments/production/manifests
./environments/production/hieradata
./modules
./manifests
Then my /etc/puppet/environments/production/environment.conf
environment_timeout = 30s
modulepath = modules/platform:modules/config:modules/main:$basemodulepath
The last but not least my /etc/puppet/environments/billias (my personal env) has symlink to the directories/files of production, but the one copied into my personal home dir:
lrwxrwxrwx 1 root root 52 Dec 22 19:04 environment.conf -> /etc/puppet/environments/production/environment.conf
lrwxrwxrwx. 1 root root 60 Nov 28 22:31 hieradata -> /home/billias/puppet-main/environments/production/hieradata/
lrwxrwxrwx. 1 root root 60 Nov 28 22:31 manifests -> /home/billias/puppet-main/environments/production/manifests/
lrwxrwxrwx. 1 root root 58 Nov 28 22:31 modules -> /home/billias/puppet-main/environments/production/modules/
Last but not least, this way i can write code on my /home/billias/puppet-main/environments/production/ and commit it on my git after i finish with it...
i can test the code before pushing it by:
puppet agent -t --environment=billias
If you have questions, do not hesitate to ask.

keyctl commands throw 'undefined symbol: dlopen' errors

I am running Centos 5.8 on a production server. I have an application that needs to use the keyctl command, but everytime the app calls (or I call) the command, I have some errors.
The first error was this:
root#server [~] keyctl show
segmentation fault
Then, I re-installed the keyutils binaries using yum. These are the keyutils packages I have on the server:
root#server [~]# rpm -qa | grep keyutils
keyutils-libs-1.2-1.el5
keyutils-libs-1.2-1.el5
keyutils-1.2-1.el5
keyutils-libs-devel-1.2-1.el5
And now, I have another different error:
root#server [~]# keyctl show
keyctl: symbol lookup error: /lib64/libkeyutils.so.1: undefined symbol: dlopen
I checked the libraries of keyctl, and libdl is not there.
root#server [~]# ldd /bin/keyctl
linux-vdso.so.1 => (0x00007fffcc5fd000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00000033df000000)
libc.so.6 => /lib64/libc.so.6 (0x0000003d7ae00000)
/lib64/ld-linux-x86-64.so.2 (0x0000003d7aa00000)
All libraries that uses are fine.
root#server [~]# ls -al /lib64/libkeyutils*
-rwxr-xr-x 1 root root 9472 Jan 6 2007 /lib64/libkeyutils-1.2.so*
lrwxrwxrwx 1 root root 18 Nov 21 07:56 /lib64/libkeyutils.so.1 -> libkeyutils.so.1.9*
-rwxr-xr-x 1 root root 34584 Jan 6 2007 /lib64/libkeyutils.so.1.9*
root#server [~]# ls -al /lib64/libdl*
-rwxr-xr-x 1 root root 23360 Aug 27 08:59 /lib64/libdl-2.5.so*
lrwxrwxrwx 1 root root 12 Nov 16 02:01 /lib64/libdl.so.2 -> libdl-2.5.so*
root#server [~]#
Have you ever seen this problem before? I tried run the same version on others distros and it works.
I would like to re-install this server, but I can't because it is a production server.
Is there a way I can add or link a shared library to a binary already linked to others .so libraries?
Look at: http://blog.solidshellsecurity.com/2013/02/08/sshd-spam-rootkit-lib64libkeyutils-so-1-9/
It appears that there is no such legitimate file as libkeyutils.so.1.9
It is a rootkit, the latest legitimate version of this library is libkeyutils.so.1.3 on CentOS 6.3 (final).
rm -f /lib64/libkeyutils.so.1.9
ldconfig
/etc/init.d/sshd restart
There's also a suspected (as of now) unpatched user escalation priviledge flaw in all CentOS and RedHat kernels: https://access.redhat.com/security/cve/CVE-2013-0871 and http://blog.configserver.com/index.php?itemid=716
You may also need to reinstall SSH:
https://serverfault.com/questions/476954/remove-shared-library-from-sshd
https://forums.cpanel.net/f185/sshd-rootkit-323962.html
LD_PRELOAD=/lib64/libdl-2.5.so keyctl show