Category Archives: Linux

Vmware Virtual Machine ubuntu Compile Error: fatal error: Killed signal terminated program cc1plus

VMware virtual machine
Ubuntu compiles opencv with an error of 92%.
fatal error: killed signal terminated program cc1plus.

Cause: the virtual machine is out of allocated memory.

Close the client, edit the client settings, and expand the memory to 4G.

After confirmation, restart the virtual machine and execute the compile command again. Generally, the system will compile and will not restart.

[Solved] NameError: name ‘reload’ is not defined on ROS melody terminal

Solve in Ubuntu 18 After installing ROS melody under 04, the terminal appears NameError: name ‘reload’ is not defined

Method 1:

Comment out the melodic source in .bashrc, .zshrc, for example:

# source /opt/ros/melodic/setup.zsh

Method 2:

Comment out the code in /opt/ROS/melody/lib/python2.7/dist-packages/sitecustomize.py

#coding=utf8
#import sys
#reload(sys)
#sys.setdefaultencoding('utf8')

[Solved] Ubuntu tab Error: _complete:96: bad math expression: operand expected at end of string

Error content

_complete:96: bad math expression: operand expected at end of string

Cause: Zsh folder permission error

Solution:

    1. view the location of the Zsh folder
compaudit
# my path is:
/usr/local/share/zsh/site-functions
/usr/local/share/zsh

Set folder user group and its user

sudo su
chown -R user.user /usr/local/share/zsh

Set folder permissions

# root
chmod g-w -R zsh/

Restart the command window

Linux Error: audit: backlog limit exceeded [How to Solve]

Phenomenon description:

Linux SSH cannot be connected and can be pinged. The login interface will give an error prompt audit: backlog limit exceeded

audit:backlog limit exceeded audit:backlog limit exceeded audit:backlog limit exceeded audit:backlog limit exceeded audit:backlog limit exceeded audit:backlog limit exceeded audit:backlog limit exceeded audit:backlog limit exceeded ...

Cause analysis:

The error is Linux kernel logs. The reason for the problem is that the audit service performs audit event operations in a busy system, and there is a bottleneck in the buffer, resulting in the system near crash.

Background:

Audit is a service used to record the user’s underlying calls in Linux system. It is used to record the user’s open, exit and other system calls, and write the records to the log file. Audit can add or delete audit rules by using the auditctl command. You can set recording for a user or for a process.

Main command: auditctl audit rules & amp; The system management tool is used to obtain status, add and delete monitoring rules, audit search query audit log tool, and audit report output audit system report

Solution:

You can try to increase the audit buffer to solve this problem.

The default memory page size for Linux is 4096 bytes. You can obtain the page size through the following command: getconf page_ Size, which can be set to N times of paging

View help auditctl – H

View the current default configuration auditctl – S

backlog_ Limit 320 # my centos7 1 only 320 by default

Optimize the audit service and modify the buffer size auditctl – B 8192. If not set, the system defaults to 64bytes

Settings take effect permanently:

Method 1) modify the rule configuration VIM/etc/audit/audit Rules - D - B 8192 - F 1 Parameter Description: – D delete all rules – B set the audit buffer size. If the buffer is full, the kernel will issue a failure flag – f [0|1|2] set the level of audit acquisition error. There are three values of 0/1/2. 0 is no log output; 1 is the output printk log; 2 is the highest level and will output a large amount of log information -e [0|1] enable/disable audit

Method 2) you can also set CHMOD U + X/etc/rc d/rc. local vim /etc/rc. d/rc. local auditctl -b 8192

[Solved] Linux program error: dpkg is interrupted. You must manually run ‘sudo dpkg — configure – a’

The Linux program reports an error: dpkg is interrupted. You must manually run ‘sudo dpkg — configure – a’ to solve this problem.

Run the following command to resolve the error

sudo rm /var/lib/dpkg/updates/*
sudo apt-get update
sudo apt-get upgrade

The main reason should be that there are errors in the data in the/var/lib/dpkg/updates folder, resulting in errors in the software update program, so they have to be completely deleted. The sudo apt get update command will re-establish these data, use sudo apt get upgrade to update the details of the software installed in your computer, and update the software to the latest version according to the details of the software.

[Solved] Ubuntu Error: PCIe Bus Error:severity=Corrected, type=Physical Layer, id=00e8(Receiver ID)

Reason for error reporting: it is probably caused by imperfect peripheral driver under Ubuntu

Solution: modify the grub file as follows

# Open the grub file with sudo privileges
sudo -H gedit /etc/default/grub

# Modify the GRUB_CMDLINE_LINUX_DEFAULT parameter
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=nomsi pci=noaer pcie_aspm=off"

# save and quit

# update grub
sudo update-grub

# restart

[Solved] docker Error: System has not been booted with systemd as init system (PID 1). Can‘t operate. Failed to con

Environment centos7 eight

The docker container reported an error using the systemctl command:

[root@d7a74069b83c yum.repos.d]# systemctl status firewalld
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

Solution:

Add the parameter — privileged when starting the container

[root@localhost ~]# docker run -itd --name c8 --privileged centos /usr/sbin/init
6a6a3c9f9fa9acc59d62a6e82ccb6a637db8aada004aa8a096c6061108c6b144
[root@localhost ~]# docker exec -it c8 /bin/bash

[Solved] Error during WebSocket handshake Unexpected response code 404

Problem Description: the websocket project was well deployed before. When it was transplanted to the domain name specified by the government cloud SLB, an error occurred:
error during websocket handshake unexpected response code 404

Solution

1. Configure nginx

In any case, configure nginx:
proxy_http_version 1.1;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;

location /xxx{
    proxy_pass http://127.0.0.1:7071/xxx;
    proxy_redirect    off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_http_version 1.1;
    proxy_set_header Connection "upgrade";
    proxy_set_header Upgrade $http_upgrade;
    
    proxy_connect_timeout 60s;
    proxy_read_timeout 7200s;
    proxy_send_timeout 600s;
    
    # 再不行的话就把下面的设置试一下
    #proxy_set_header Upgrade websocket;
    #proxy_pass_request_headers on;
    #access_log off;
    #proxy_buffering off;
    
}

2. Websocket configuration

We use springboot, and all configurations cannot be less

import com.fh.websocket.session.MySpringConfigurator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;

/**
 * enable WebSocket support
 */
@Configuration
public class WebSocketConfig {

	@Bean
	public ServerEndpointExporter serverEndpointExporter() {
		return new ServerEndpointExporter();
	}

	@Bean
	public MySpringConfigurator mySpringConfigurator() {
		return new MySpringConfigurator();
	}
}

3. Websocketserver needs to add a parameterless constructor

This is a pit, and it is normal to deploy to another
transplanting will not work in the past.