Category Archives: Linux

Euopenler 21.09 sudo Yum Update Error: Errors during downloading metadata for repository ‘EPOL’

sudo yum update error

Errors during downloading metadata for repository 'EPOL':
	-Status code: 404 for htpp://

Please note that:

sudo vi/etc/

Please note that


The correct address is:

baseurl= $basearch/

Save, exit and execute again.

SCP path contains special characters Error [How to Solve]


From a file on the local copy server, use the following command:

scp [email protected]:/home/test/files(202110~202111).xls .

Error reporting:
bash: – C: line 0: syntax error near unexpected token ` (‘


    1. enclose the entire path in single quotation marks;
  1. before the parentheses, add the escape character
scp [email protected]:'/home/test/files\(202110~202111\).xls' .

The semget function error: errno is set to 28 [How to Solve]

When running semget under Linux to create semaphores, it returns – 1 and the creation fails;

1. This function is a system function. You can only confirm the actual error code with errno, print errno through strError, and return no space left on device. Is the system space insufficient? Insufficient space to create semaphores?

2. Go to errno. H to check the error message enospc corresponding to the actual error code. What does this field mean?

3. Does the semget function have its own error field? Check the function manual: check the man Manual of semget function: a semaphore set has to be created but the system limit for the maximum number of semaphore sets (semmni), or the system-wide maximum number of semaphores. Semaphore exceeds system limit.

It is basically determined that it is caused by the system semaphore. First, temporarily modify the kernel semaphore parameters and run again to see whether it has been solved.

4. The following commands are used in viewing semaphores

#1)The sysctl command can view and set system kernel parameters
# The 4 corresponding values from left to right are SEMMSL, SEMMNS, SEMOPM and SEMMNI.
sysctl -a | grep sem #View the setting value of the system semaphore
kernel.sem = 250 32000 32 128

#2) There are three ways to modify: the numbers are for reference only
echo 610 86620 100 142 > /proc/sys/kernel/sem

sysctl -w kernel.sem="610 86620 100 142"

echo "kernel.sem=610 86620 100 142" >> /etc/sysctl.conf`

#3) View the current semaphore and pid of the system as well as user information, view more information and check --help
ipcs -s -p -c

#4) Delete the semaphore method of the specified semid, and check more usage --help
ipcrm -s semid

#5) Delete all semid semaphore methods
ipcrm  -asem

5. Here, in the process of finding semaphore resource leakage, in order to facilitate real-time viewing of semaphore information, the semaphore output is written into the script and printed circularly
echo “ipcs -s loop”

while [ 1 ]
	sleep 1
	ipcs -s

6. Note: the final problem here is to see why the semaphore in the code exceeds the limit. Normally, the semaphore will not exceed the system limit.

Apex library Install Error: amp not installed error [How to Solve]

Problem Description:

the apex library is missing and needs to be installed! Note: do not use PIP install apex. Although it can be installed successfully, it will still be found that there are errors when running the program in the end. It can’t be used

The specific installation steps are as follows:

# When you execute git to download the apex folder, if the download is too slow, you can manually enter the URL to download and unzip and perform subsequent operations
git clone
cd apex
python install

After execution, if the results shown in the figure below appear, the installation is successful

Remember to collect, in case you can’t find it next time
for my sake, please give me a compliment before you leave

[Solved] Win 10 VS Code Connect to the container of the server error: Cannot connect to the Docker daemon at … Is the docker daemon running


After solving the installation of docker desktop above, I continue to operate according to the instructions of vs code plug-in remote container, in order to connect and edit the files in the container on the remote server (Linux) on the PC (Windows).

After everything is completed, the container is connected, but an error is reported. The log content is cannot connect to the docker daemon at Is the docker daemon running. However, the docker desktop of my PC has already started docker, no problem.

After searching, I found that my account on the server is not in the docker group, that is, I need sudo to execute the docker instruction every time. The solution is to add my account to the docker group.


Add according to the instructions on the official website, and then everything goes well and the problem is solved. The following code is a simple version, you can go directly to the official website.

cat /etc/group | grep docker # Print group information and filter with grep to view onlydocker
# If there are no results, run the following command to create a new docker group 
sudo groupadd docker 
# If the cat command yields results, then instead of creating a new group, just run the following command
sudo usermod -aG docker $USER # where $USER is replaced by your account name
newgrp docker # In Linux environment, make the group update take effect; other environments see the official website link
docker run hello-world # Check if docker can be executed without sudo

Post-installation steps for Linux | Docker Documentation


To access files in a remote server’s container with vs Code
1. Install VS code on PC
2. Connect to the server remotely: Find the Remote-SSH plug-in in the extension of VS code, configure the ssh file after installation, and connect to the server successfully
3. Find Remote-Container in the extension of VS code, install it, and then install docker and WSL2 software according to the extension’s introduction ( the link where the problem occurred above )
4. Connect to the server according to the introduction of Remote-Container (the problematic link in this article)

[Solved] Pointsift Error: – ltensorflow not found_framework

My environment: Ubuntu 18.04 tensorflow 2.1
when reproducing pointsift, follow the readme prompt, modify the locations of tensorflow and Lib in the. Sh file, compile the. Sh file, and report an error:
/usr/bin/LD: cannot find – ltensorflow_framework
collect2: error: ld returned 1 exit status

The reason is that the shell file is connected to the dynamic library In, the dynamic library name of tensorflow 2.1 is libtensorflow_Frame.So.2, so the link is not available

Solution: create a connection symbol to make libtensorflow_Framework. So. 2 and points to the same

cd /usr/local/lib/python3.6/dist-packages/tensorflow_core //My files are in this directory, some are in the tensorflow directory, as long as they are in the same directory as .so.2
ln -s

[Solved] Ubuntu 20.04 install MATLAB and toolbox permissions Error

1. Prompt for no access during installation
open the install file with sudo command, and remember to CD to the install directory

 sudo ./install

if the program is stuck and cannot be opened after entering the password, open the terminal and enter the following command

xhost +SI:localuser:root

2. Prompt for no access when installing the toolbox using the built-in add on
use Chmod to adjust file access rights

sudo chmod -R o+rw /usr/local/MATLAB/RXXXXx

after adjusting the permissions, you can download it, but an unexpected error appears at the end, which makes it impossible to install it
download the MATLAB installer again and reinstall it. Note that you don’t need to reinstall it all. Just select the toolbox you want

[Solved] Ubuntu 18.04 Install opencv3.2.0 and opencv_contrib Error

After configuring the ROS melody environment for Jetson nano B01 and planning to install the turtle BOT, you need to install opencv3.2.0 and add GPU acceleration support to the compilation of OpenCV. There is a problem when installing opencv from the source code:

CMake Error at cmake/OpenCVModule.cmake:286 (add_subdirectory):
  The binary directory


  is already used to build a source directory.  It cannot be used to build
  source directory


  Specify a unique binary directory name.
Call Stack (most recent call first):
  modules/CMakeLists.txt:7 (ocv_glob_modules)

CMake Error at cmake/OpenCVModule.cmake:286 (add_subdirectory):
  The binary directory


  is already used to build a source directory.  It cannot be used to build
  source directory


  Specify a unique binary directory name.
Call Stack (most recent call first):
  modules/CMakeLists.txt:7 (ocv_glob_modules)

CMake Error at cmake/OpenCVModule.cmake:286 (add_subdirectory):
  The binary directory


  is already used to build a source directory.  It cannot be used to build
  source directory


  Specify a unique binary directory name.
Call Stack (most recent call first):
  modules/CMakeLists.txt:7 (ocv_glob_modules)

CMake Error at cmake/OpenCVModule.cmake:286 (add_subdirectory):
  The binary directory


  is already used to build a source directory.  It cannot be used to build
  source directory


  Specify a unique binary directory name.
Call Stack (most recent call first):
  modules/CMakeLists.txt:7 (ocv_glob_modules)

The reason is that the version of opencv_conteib is inconsistent with that of opencv. When cloning opencv, add -b 3.2.0. Similarly, when cloning opencv_contrib, clone version 3.2.0 and add -b 3.2.0, then no error will be reported.

How to Solve insufficent privileges error: Ora-01031

For Oracle database in remote multi instance linux environment, an error is reported when executing conn/as SYSDBA: ora-01031: insufficient privileges. The solution process is as follows:

Step 1: find the sqlnet.ora file. Add the following two


Step 2: after saving, exit and execute lsnrctl reload

Step 3: the following errors occur after I finish executing:

TNS-12555: TNS:permission denied
 TNS-12560: TNS:protocol adapter error
  TNS-00525: Insufficient privilege for operation
   Linux Error: 1: Operation not permitted```

To solve this problem, execute: Chmod 777/var/TMP/.Oracle

Step 4: specify the connection instance. The orcl here should fill in your own instance name.

export ORACLE_SID=orcl

Step 5: when reconnecting, an error is reported connected to an idle instance.
. Note that this only means that the instance is not started, which is not a big problem. First query the status select status from V $instance

Step 6: start


Since then.

docker-compose -version Run Error [How to Fix]


Start downloading

curl -L ” $(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose


docker-compose –version

report errors

Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg


Find out that the downloaded files are missing due to the network


Download the source file from GitHub on the local machine, and then upload it to the Linux server

[Solved] curl: symbol lookup error: curl: undefined symbol: curl_mime_free

curl: symbol lookup error: curl: undefined symbol: curl_mime_free
Execute curl command to report error

curl -s

report errors:

curl: symbol lookup error: curl: undefined symbol: curl_mime_free


#ubuntu system
apt-get update -y

yum update -y

Execute curl – s again, normal

[Solved] error:getaddrinfo ENOTFOUND

The nodejs request interface on the container docker server reports error: getaddrinfo ENOTFOUND


The current server cannot be connected to the request you want to request.


1. Ping on the current server to see if it can be pinged (If the ping fails, it is a proxy problem, add xxxx in the hosts file.)
2. If it can be pinged, use the curl command to request the path to see if it can be called
3. If you are using the ip path interface, the call may be unsuccessful or the default port is not opened (80 is the default port of http, 443 is https)
4. If it can be pinged and the interface can be successfully called by using the curl command on the server, but it cannot be called in the project, it may be that the hosts file has been modified but did not take effect. Solution for this situation: add hosts in the container or inherit the hosts when starting the container (inherit hosts: when starting the docker container, add a sentence $(cat /etc/hosts|awk -F ”'{if(NR>2 ){print “–add-host “$2”:”$1}}’), you can integrate the host’s hosts file)

docker run --restart=always $(cat /etc/hosts|awk -F ' ' '{if(NR>2){print "--add-host "$2":"$1}}') -d -p 主机端口:容器端口 --name 指定容器名字 仓库/容器