内部ISSUE

常规问题

关掉docker容器导致安装失败

现象:docker -v 可以看到版本,安装失败
解决方案:启动容器,再执行
	sudo systemctl start docker

终端回显日志输出捕获

	现象:终端输出信息,使用>或者>>无法获取完整内容
	解决方案:
		1、多通道重定向到1,再输出文件
		xcal-scanner -sc run.conf -uc user.conf -pc project.conf  >  log.txt
		2、需要回显,可以增加tee进行输出文件
		xcal-scanner -sc run.conf -uc user.conf -pc project.conf  2>&1 3>&1 | tee log.txt

显示某一目录

	现象:需要显示文件是否存在某些文件
	解决:使用tree指令
			1、例如:tree *ceph* 列出当前目录下带ceph的目录内容;
				注意:
					a)*ceph* 不包含 ceph*和*ceph
					b)*ceph* 不包含 ceph*和*ceph
			2、例如:tree -h *ceph* 列出当前目录下带ceph的目录内容,并带上大小。

启动网卡管理器

16.04虚拟机网卡丢失

sudo service network-manager start

18.04虚拟机网卡丢失

首先尝试不用sudo(针对又上角无法看到三个小方块图标):

service network-manager start

以上行不通,再使用以下办法(处理过有图标,ip无法获取的情况):

service network-manager stop
sudo mv /var/lib/NetworkManager/NetworkManager.state /var/lib/NetworkManager/NetworkManager.state.bak
service network-manager start

ssh 失败

C:\Users\sun.lee>ssh shaw@10.10.2.120
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:zCbPr56qCkWACJTnhatdjSqwu0qWm9NhP4zHPlBN7w0.
Please contact your system administrator.
Add correct host key in C:\\Users\\sun.lee/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in C:\\Users\\sun.lee/.ssh/known_hosts:13
ECDSA host key for 10.10.2.120 has changed and you have requested strict checking.
Host key verification failed.

需要更新host key,执行更新再次登录即可

ssh-keygen -R x.x.x.x

Bazel 升级了gcc编译报错问题

.cach目录的文件找不到依赖的头文件

bazel clean --expunge

sudo: no tty present and no askpass program specified

  1. 明文密码,写到sh内

    echo <password> | sudo -S <cmd>
    
  2. 修改为root权限(未验证)

  3. 使用不提示设置(未验证)

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xc3 in position 3015: ordinal not in range(128)

2021-01-29 15:39:51,169 - TRACE    - [output] File "xcalbuild.py", line 486, in<module>
2021-01-29 15:39:51,169 - TRACE    - [output] File "c:\Python37\lib\encodings\ascii.py", line 26, in decode
2021-01-29 15:39:51,170 - TRACE    - [output] UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 3015: ordinal not in range(128)
2021-01-29 15:39:51,270 - TRACE    - subprocess return code:  4294967295
2021-01-29 15:39:51,271 - TRACE    - XcalBuildTask Finish with 4294967295
Traceback (most recent call last):
  File "xcal-scanner.py", line 369, in <module>
  File "xcal-scanner.py", line 330, in main
  File "components\XcalTasks.py", line 406, in perform_offline_tasks
  File "components\XcalTasks.py", line 179, in run
  File "components\XcalTasks.py", line 107, in run
common.XcalException.XcalException: service_name: XcalBuildTask, operation_name:
 run, message: XcalBuild exit with error = 4294967295, error_code: TaskErrorNo.E
_XCALBUILD_FAIL
[12464] Failed to execute script xcal-scanner

修改代码解决

make 的几个清理区分

make clean仅仅是清除之前编译的可执行文件及配置文件。
而make distclean要清除所有生成的文件。

Makefile

在符合GNU Makefiel惯例的Makefile中,包含了一些基本的预先定义的操作:

make

根据Makefile编译源代码,连接,生成目标文件,可执行文件。

make clean

清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件。

make install

将编译成功的可执行文件安装到系统目录中,一般为/usr/local/bin目录。

make dist

产生发布软件包文件(即distribution package)。这个命令将会将可执行文件及相关文件打包成一个tar.gz压缩的文件用来作为发布软件的软件包。

它会在当前目录下生成一个名字类似“PACKAGE-VERSION.tar.gz”的文件。PACKAGE和VERSION,是我们在configure.in中定义的AM_INIT_AUTOMAKE(PACKAGE, VERSION)。

make distcheck

生成发布软件包并对其进行测试检查,以确定发布包的正确性。这个操作将自动把压缩包文件解开,然后执行configure命令,并且执行make,来确认编译不出现错误,最后提示你软件包已经准备好,可以发布了。

make distclean类似make clean,但同时也将configure生成的文件全部删除掉,包括Makefile。

too many open files(打开的文件过多)解决方法

这个错误通常也可以叫做句柄数超出系统限制。
查看当前系统设置的最大句柄数是多少:ulimit -a

  1. 方法一
    增大允许打开的文件数——命令方式:ulimit -n 2048
  2. 方法二
    增大允许打开的文件数——修改系统配置文件
    vim /etc/security/limits.conf  
    #在最后加入  
    * soft nofile 4096  
    * hard nofile 4096  
    

terminal无法打开

  1. 操作不便,下载了xterm,

  2. 打开Xterm,执行gnome-terminal

  3. 结果:

    File "/usr/bin/add-apt-repository", line 12, in <module> from softwareproperties.SoftwareProperties import SoftwareProperties, shortcut_handler
    File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 67, in <module> from gi.repository import Gio
    File "/usr/lib/python3/dist-packages/gi/__init__.py", line 42, in <module> from . import _gi
    ImportError: cannot import name '_gi' from 'gi' (/usr/lib/python3/dist-packages/gi/__init__.py)
    
  4. 进入目录

    $ cd /usr/lib/python3/dist-packages/gi
    
  5. 拷贝文件

    $ sudo cp _gi.cpython-36m-x86_64-linux-gnu.so _gi.cpython-37m-x86_64-linux-gnu.so
    $ sudo cp _gi_cairo.cpython-36m-x86_64-linux-gnu.so _gi_cairo.cpython-37m-x86_64-linux-gnu.so
    
  6. 打开terminal,可以正常打开

扫描信息xvsa-xfa-dummy.v解读

 "ss": 1618803404120536,  扫描开始时间,1970年以来的微秒数
 "se": 1618804467948815,  扫描结束时间,1970年以来的微秒数
 "usr": 265270257,        程序执行在用户态的时间,微秒
 "sys": 62013496,         程序执行在内核态的时间,微秒
 "rss": 12553332          内存,单位kb
 
 (se - ss) - (usr + sys)是程序没有抢到cpu在等待的时间

扫描工具

cpplint:
1、先安装pip3
2、pip3 install cpplint
3、使用:cpplint {cpp-file}
4、例如:cpplint main.cpp

checkpatch:
1、获取:git clone https://github.com/riboseinc/checkpatch.git
2、使用:./checkpatch/checkpatch.pl --no-tree --max-line-length 120 -f {c-file}
3、例如:./checkpatch/checkpatch.pl --no-tree --max-line-length 120 -f …/…/test/test.c

shellcheck:
1、安装:sudo apt-get install shellcheck
2、使用:shellcheck {shell-file}
3、例如:shellcheck main.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值