• [交流吐槽] 希望增加 composer 源和 Rocky Linux 源
    希望增加 composer 源和 Rocky Linux 源
  • [技术干货] 全网最全Linux命令总结!!(史上最全,建议收藏)--5
    原帖地址:(1条消息) 全网最全Linux命令总结!!(史上最全,建议收藏)_冰河的专栏-CSDN博客_unzip解压命令VIMVIM是一款功能强大的命令行文本编辑器,在Linux中通过vim命令可以启动vim编辑器。一般使用vim + 目标文件路径 的形式使用vim如果目标文件存在,则vim打开目标文件,如果目标文件不存在,则vim新建并打开该文件:q:退出vim编辑器VIM模式vim拥有三种模式(1)命令模式(常规模式)vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次),命令模式下可以键入不同的命令完成选择、复制、粘贴、撤销等操作。命名模式常用命令如下:i : 在光标前插入文本;o:在当前行的下面插入新行;dd:删除整行;yy:将当前行的内容放入缓冲区(复制当前行)n+yy :将n行的内容放入缓冲区(复制n行)p:将缓冲区中的文本放入光标后(粘贴)u:撤销上一个操作r:替换当前字符/ 查找关键字(2)插入模式在命令模式下按 " i "键,即可进入插入模式,在插入模式可以输入编辑文本内容,使用esc键可以返回命令模式。(3)ex模式在命令模式中按" : "键可以进入ex模式,光标会移动到底部,在这里可以保存修改或退出vim.ext模式常用命令如下::w :保存当前的修改:q :退出:q! :强制退出,保存修改:x  :保存并退出,相当于:wq:set number 显示行号:! 系统命令  执行一个系统命令并显示结果:sh :切换到命令行,使用ctrl+d切换回vim软件包管理命令(RPM)1、软件包的安装使用RPM命令的安装模式可以将软件包内所有的组件放到系统中的正确路径,安装软件包的命令是:rpm –ivh wu-ftpd-2.6.2-8.i386.rpmi:作用rpm的安装模式 v: 校验文件信息h: 以#号显示安装进度2、软件包的删除删除模式会将指定软件包的内容全部删除,但并不包括已更改过的配置文件,删除RPM软件包的命令如下:rpm –e  wu-ftpd注意:这里必须使用软件名“wu-ftpd”或”wu-ftpd-2.6.2-8而不是使用当初安装时的软件包名.wu-ftpd-2.6.2-8.i386.rpm3、软件包升级升级模式会安装用户所指定的更新版本,并删除已安装在系统中的相同软件包,升级软件包命令如下:rpm –Uvh wu-ftpd-2.6.2-8.i386.rpm  –Uvh:升级参数4、软件包更新更新模式下,rpm命令会检查在命令行中所指定的软件包是否比系统中原有的软件 包更新。如果情况属实,rpm命令会自动更新指定的软件包;反之,若系统中并没有指定软件包的较旧版本,rpm命令并不会安装此软件包。而在升级模式下,不管系统中是否有较旧的版本,rpm命令都会安装指定的软件包。rpm –Fvhwu-ftpd-2.6.2-8.i386.rpm   -Fvh:更新参数5、软件包查询若要获取RPM软件包的相关信息,可以使用查询模式。使用-q参数可查询一个已   安装的软件包的内容rpm  –q wu-ftpd查询软件包所安装的位置:rpm –ql package-namerpm –ql xv (l参数:显示文件列表)
  • [技术干货] 全网最全Linux命令总结!!(史上最全,建议收藏)--4
    原帖地址:(1条消息) 全网最全Linux命令总结!!(史上最全,建议收藏)_冰河的专栏-CSDN博客_unzip解压命令初始化一个文件系统mkfs /dev/hda1 在hda1分区创建一个文件系统mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统fdformat -n /dev/fd0 格式化一个软盘mkswap /dev/hda3 创建一个swap文件系统SWAP文件系统mkswap /dev/hda3 创建一个swap文件系统swapon /dev/hda3 启用一个新的swap文件系统swapon /dev/hda2 /dev/hdb3 启用两个swap分区备份dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份restore -if /tmp/home0.bak 还原一个交互式备份rsync -rogpav --delete /home /tmp 同步两边的目录rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsyncrsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通过ssh在远程目录中复制一个目录内容( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容光盘cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容mkisofs /dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中cd-paranoia -- "-3" 从一个CD光盘转录音轨到 wav 文件中(参数-3)cdrecord --scanbus 扫描总线以识别scsi通道dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD网络 - (以太网和WIFI无线)ifconfig eth0 显示一个以太网卡的配置ifup eth0 启用一个 'eth0' 网络设备ifdown eth0 禁用一个 'eth0' 网络设备ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址ifconfig eth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing)dhclient eth0 以dhcp模式启用 'eth0'route -n show routing tableroute add -net 0/0 gw IP_Gateway configura default gatewayroute add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16'route del 0/0 gw IP_gateway remove static routeecho "1" > /proc/sys/net/ipv4/ip_forward activate ip routinghostname show hostname of systemhost www.example.com lookup hostname to resolve name to ip address and viceversa(1)nslookup www.example.com lookup hostname to resolve name to ip address and viceversa(2)ip link show show link status of all interfacesmii-tool eth0 show link status of 'eth0'ethtool eth0 show statistics of network card 'eth0'netstat -tup show all active network connections and their PIDnetstat -tupl show all network services listening on the system and their PIDtcpdump tcp port 80 show all HTTP trafficiwlist scan show wireless networksiwconfig eth1 show configuration of a wireless network cardhostname show hostnamehost www.example.com lookup hostname to resolve name to ip address and viceversanslookup www.example.com lookup hostname to resolve name to ip address and viceversawhois www.example.com lookup on Whois database
  • [技术干货] 全网最全Linux命令总结!!(史上最全,建议收藏)--3
    原帖地址:(1条消息) 全网最全Linux命令总结!!(史上最全,建议收藏)_冰河的专栏-CSDN博客_unzip解压命令查看文件内容cat file1 从第一个字节开始正向查看文件的内容tac file1 从最后一行开始反向查看一个文件的内容more file1 查看一个长文件的内容less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作head -2 file1 查看一个文件的前两行tail -2 file1 查看一个文件的最后两行tail -f /var/log/messages 实时查看被添加到一个文件中的内容文本处理cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUTcat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug"sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"sed '/^$/d' example.txt 从example.txt文件中删除所有空白行sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容sed -e '1d' result.txt 从文件example.txt 中排除第一行sed -n '/stringa1/p' 查看只包含词汇 "string1"的行sed -e 's/ *$//' example.txt 删除每一行最后的空白字符sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容sed -n '5p;5q' example.txt 查看第5行sed -e 's/00*/0/g' example.txt 用单个零替换多个零cat -n file1 标示文件的行数cat example.txt | awk 'NR%2==1' 删除example.txt文件中的所有偶数行echo a b c | awk '{print $1}' 查看一行第一栏echo a b c | awk '{print $1,$3}' 查看一行的第一和第三栏paste file1 file2 合并两个文件或两栏的内容paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分sort file1 file2 排序两个文件的内容sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)sort file1 file2 | uniq -u 删除交集,留下其他的行sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分字符设置和文件格式转换dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIXunix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOSrecode ..HTML < page.txt > page.html 将一个文本文件转换成htmlrecode -l | more 显示所有允许的转换格式文件系统分析badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性
  • [openEuler] 软件包加固测试文档
    软件包加固测试文档 一、预置条件 1、已经挂载openEuler21.03的软件源 。 2、先把openEuler仓库下的integration-test fork下来后,下载到本地 3、再从openEuler仓库下载test-tools这个包 。 4、初始化了mugen测试框架的环境。 二、写脚本 1、我们首先先把我们我要要测的包下载下来,执行指令:dnf install包名 2、我们将要测的包的rpm包下载下来,执行指令:yumdownloader + 包名 3、我们找到我们要测试的包里面含有的功能,即我们要测试的内容。 通常指令位于bin目录下或者sbin目录下,所以我们可以执行命令 rpm qpl + rpm包检索当前包中有哪些命令。 4、知道了我们要写测试用例的命令以后,我们要去寻找相关指令的功能,这个需要我们自己去查找,如yelp-tools包中的三个指令,我们在yelp的官网查到了相关信息以及相关用法。 5、我们针对相关功能去编写测试用,一些框架的内置函数可以在 https://gitee.com/openeuler/test-tools/tree/master/mugen 中仔细阅读。 6、在书写测试用例后,下面是测试套的位置和已经写好的测试用例。 7、接下来,我们把测试包和测试用例对应的关系存进test-tools/mugen/suite2cases文件夹中名字为包名的文本中。 8、接下来,我们分别对包内所有的测试用例,以及包内的单个用例进行测试。 9、对已经写好且运行成功或者运行不成功的问题,我们都要检查一遍运行日志 寻找或者发现,是否出现问题。 三.提交 到这里,我们就完整的写好了我们的测试用例,将测试用例以及测试套和测试用例的对应关系复制到integration-test对应的文件夹中,然后提PR即可。 四.视频 mugen框架使用视频 https://www.bilibili.com/video/BV1UU4y1G7Zs
  • [技术干货] ARM Linux 环境 c程序设计
    正所谓:工欲善其事必先利其器   开发环境ip地址配置如下:windows工作主机地址为:192.168.1.101 linux宿主机 eth0 ip地址为192.168.1.102   tap0 ip地址 10.0.0.1 arm虚拟机ip地址为 10.0.0.101:编辑源码在windows主机上编辑以下的c语言源代码#include <stdio.h>int func(int n){int sum=0; for(i=0;i<n;i++){sum+=i;}return sum;}main(){int i;long result=0; for(i=1;i<=100;i++){result+=i;}printf("result[1-100]=%d\n",result);printf("result[1-250]=%d\n",func(250));保存文件为test.c通过Samba服务将服务文件复制到linux宿主机中  设置/opt/work目录为共享目录  编辑/etc/samba/smb.conf配置文件  在最后加入内容{root}path=/opt/workvalid users=rootwritable=yes添加root用户smbpasswd - arootNew Smb passwordRetype new SMB password修改好配置文件重启服务   在windows工作主机访问共享目录  可以设置映射网络驱动器  这样就可以像访问本地磁盘一样访问共享目录了2:交叉编译源程序 test.c已经编译完成并赋值到了linux宿主机的/opt/work中 下面进行交叉编译# arm-linux-gcc-g test.c- o test在编译之前需要检查gcc版本3:下载程序到arm虚拟机中去交叉编译完成后需要将test程序赋值到arm虚拟中去  打开arm虚拟机 使用ftp登录到arm虚拟机上#fp 10.0.0.10Connected to 10.0.0.10220 Friendly  Arm  ftp  server  verstion 6.4/OpenBsd/linux-ftpd-0.17 readyname(10.0.010:root):plg331Passwird required for plgpassword:230 User plg logged in.Remote system type is  UNixusing binary mode to transfer filesfip>登录用户名  密码为plg 使用put命令上传文件ftp>put(local-file)/opt/work/test(remote-file)testlocal:/opt/work/test remote:test200 PORT command successful150 opening binary mode data connection for  test   226transfer complete  9250 bytes sent in 0.00 secs(19057.4kb/s)上传的文件在arm虚拟机的/home/plg目录下使用gdb进行远程调试修改test程序属性{root@friendlyarm/opt}#chmod a+ x test在arm虚拟机中运行 gdbserver  设置调试端口9000# ./gdvsever 10.0.01:9000 testProcess test created;pid=792listening on port 9000在linux宿主机上运行gdb 链接在arm虚拟机中的gdbserver进行远程调试#./arm-linux-gdb/opt/work/testGNU  gdb (GDB)7.2license gplv3+:gnu gpl version 3 or later<http://gnu。org/licenses/gpl。html>this is free softwate :you are free to change and redistribute it......................warning unable to find dynameic linker breakpoint  function GDB will be  unable to debug shared library initalizersand track explicitly loaded dynameic code.(gdb)1cannot access memory at address 0x06{sum+=i;} return sum;}12main()13{14int i;15int result=0;(gdb)在arm虚拟机中将显示连接成功#./gdbserver 10.0.0.1;9000 testProcess test created pid=792listening on port 9000remote debugging from host 10.0.0.1;
  • [典型案例] 桌面云显示模糊
    摘要:CT6200 linux终端登录桌面云,浏览器文字的灰色背景看不到,客户企业数字化平台系统文字边框看不见,桌面图标有虚影,更换TC和显示器连接线DP为HDMI,调整有损压缩识别阈值为0,问题解决。【故障类型】桌面云显示模糊,TC和显示器连接线兼容性和FA显示策略配置问题【使用版本】FusionAccess 6.5.1【案例作者】【关键词】模糊,桌面,显示【问题现象】一、桌面云浏览器访问部分网页文字看不到灰色背景;二、桌面云登录客户系统,里面的文字看不到边框;正常应为:三、桌面图标显示虚影【告警信息】无【问题分析】一、桌面显示模先调整FA显示策略,显示等级从4调到5,显示帧率25调到60,有损压缩识别阈值调为0,显示还是模糊;二、VNC直接登录,三个问题同样存在,需要检查TC和显示器及两者之间的转接线;三、更换显示器无效;CT6200 linux 和显示器连线从DP换成HDMI接口,浏览器背景和系统边框问题解决,再调整策略有损压缩识别阈值调为0,桌面图标虚影问题也能解决;四、后续还测试了更换TC,windows盒子DP到DP,DP到HDMI接口的方式连接桌面显示都正常,linux 盒子只有DP到HDMI接口显示才正常。【解决方案】针对客户实际使用的CT6200 linux,更换TC到显示器的连接线DP为HDMI接口,调整显示策略有损压缩识别阈值调为0,问题解决。【总结&建议】无。
  • [技术干货] 宝塔安装加速包,5分钟在ARM盒子上安装完成宝塔面板!
    分析宝塔在Arm盒子上的安装过程,编译调试依赖包,将宝塔面板安装速度从100+分钟降低到5分钟5分钟在ARM盒子上安装完宝塔面板,不得不说的秘密?各种ARM电视盒子刷了Linux/Ubuntu/Centos/Debian/UOS是真香,盒子大部分有1-4G的RAM,尤其是4G版本的,跑起数据库和PHP也是很香,LNMP更是顺畅.在Linux系统上安装LNMP最简单直接的方法是用宝塔面板来一键安装.但是在ARM盒子上安装宝塔面板简直慢的要命,宝塔面板本身就需要1个多小时,再安装LNMP往往需要几个小时,实在是慢的惊人.进入正文前,循例先肝效果,干货放前面5分钟内在Arm64盒子的Linux系统上安装完成宝塔面板LNMP安装加速30%以上安装脚本是官网下载宝塔安装在Arm上为什么这么慢经过调试、跟踪宝塔面板的安装过程,下图是宝塔安装的基本步骤安装python 3.7这一步并不是通过apt-get或者dnf来安装,安装脚本会自动到宝塔的服务器上去下载python3.7对应的编译好的包,如果没有就下载源代码,重新编译整个python 。很不幸的是宝塔面板并没有aarch64的预编译包,因此每次安装都会重新编译整个python.安装python libs这一步是pip install 一些依赖库,有些库实在是编译的巨慢,而且pip install多线程貌似还不能用编译依赖包宝塔面板为了更加简单、方便、可靠,很多包是自行重新编译的,如curl/openssl等等。Arm64还是前妻的孩子,服务器上没有对应的预编译包,对应的包都需要完全重新编译,这个也是漫长的过程。对于LNMP依赖的每个具体组件,如Nginx其安装的基本步骤可以看到耗时的是编译依赖包和组件本身加速包的实现针对宝塔面板的安装实现,使用如下直接方式来加速其安装:打包保存预编译的python3.7,安装时直接解压使用,类比其从服务器下载提取保存pip libs的whl文件,安装时直接安装耗时的whl文件将依赖包编译成.deb包,安装时直接apt-get install方式直接使用将每个组件的常见依赖包编译成.deb包,安装时直接使用以加速LNMP等各种组件针对每个组件本身的编译,如nginx,目前尚未做优化,其安装脚本实现较为零散,以待后续持续优化。其中目前编译好的deb包如下包版本安装路径库curl7.747.74/usr/local/curl_2/usr/local/curl_2/libcurl7.707.70/usr/local/curl/usr/local/curl/libopenssl1021.0.2/usr/local/openssl/usr/local/openssl/libopenssl1111.1.1/usr/local/openssl111/usr/local/openssl111/liblua5.15.1.5/usr/local//usr/local/libluajit2.1/usr/local//usr/local/libluasocket2.5.8/usr/local//usr/local/liblua-cjson2.1/usr/local//usr/local/libfreetype2.9.1/usr/local/freetype/usr/local/freetype/libicu4c60.3/usr/local/icu//usr/local/icu/liblibiconv1.14/usr/local/libiconv//usr/local/libiconv/libonig6.9.6/usr/local/onig/usr/local/onig/librpcsvc-proto1.4/usr/local/rpcgen/usr/local/rpcgen/libmhash0.9.9/usr/local//usr/local/libmcrypt2.5.8/usr/local//usr/local/liblibsodium1.0.18/usr/local/libsodium//usr/local/libsodium//liblibmcrypt2.5.8/usr/local//usr/local/lib加速包的效果通过这些预编译的包,整个安装过程得到极大加速5分钟内在Arm64盒子的Linux系统上安装完成宝塔面板LNMP安装加速30%以上加速包的使用 git clone https://gitee.com/pdusb/pdusb-fast-btpanel.git . su - ./pdbolt-inst-bt-acel.sh bash /tmp/btp/pdbolt-bt-install/install.sh几分钟后,宝塔安装完成!!!加速包的获取两个途径哦,一个是网盘链接: https://pan.baidu.com/s/1pGLi-EP0wWJeh4OgKWVc7g 提取码: 395h另外一个是gitee下载git clone https://gitee.com/pdusb/pdusb-fast-btpanel.git
  • [已解决问题归档] 【AICC产品】【IVR】能否提供vxml脚本调用linux动态库的demo
    【问题来源】【必填】      北京**局点    【问题简要】【必填】  业务开发需要利用ivr流程获取呼叫信息,再通过动态库传递给业务系统,ISV希望提供vxml脚本调用linux动态库传递数据的demo【问题类别】【必填】     CTI【AICC解决方案版本】【必填】    【UAP版本:UAP9600 V100R005C00SPC016】    【CTI版本:ICD V300R008C21】【期望解决时间】【选填】     尽快【问题现象描述】【必填】    【日志或错误截图】【可选】        无 【附件】【可选】
  • [典型案例] Linux 进程状态Kill杀不掉该进程
    【关键词】Linux 进程状态Kill杀不掉该进程【版本】无【告警信息】无【告警ID】无【问题现象】1、Kill杀不掉该进程2、进程状态释义3、执行ls 出现D进程,不可中断睡眠状态的进程4、原因是由于/test是nfs挂载的文件系统,而此时nfs服务是关闭状态,ls命令执行时,就会出现等待IO的情况,且如果将其调入后台,则会出现无法终止的情况5、同时,ls /;df等和此挂载点有关的命令全部阻塞,无法正常运行,除非nfs服务启动后,则命令会返回执行结果【解决办法】1、让命令得到所请求的IO,如请求nfs,则启动nfs服务2、如果请求无法得到满足,则需要重启机器
  • [技术干货] 全网最全Linux命令总结!!(史上最全,建议收藏)--2
    原帖地址:(1条消息) 全网最全Linux命令总结!!(史上最全,建议收藏)_冰河的专栏-CSDN博客_unzip解压命令磁盘空间df -h 显示已经挂载的分区列表ls -lSr |more 以尺寸大小排列文件和目录du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间'du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)用户和群组groupadd group_name 创建一个新用户组groupdel group_name 删除一个用户组groupmod -n new_group_name old_group_name 重命名一个用户组useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户useradd user1 创建一个新用户userdel -r user1 删除一个用户 ( '-r' 排除主目录)usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性passwd 修改口令passwd user1 修改一个用户的口令 (只允许root执行)chage -E 2005-12-31 user1 设置用户口令的失效期限pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组文件的权限 - 使用 “+” 设置权限,使用 “-” 用于取消ls -lh 显示权限ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限chown user1 file1 改变一个文件的所有人属性chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性chgrp group1 file1 改变文件的群组chown user1:group1 file1 改变一个文件的所有人和群组属性find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限chmod u-s /bin/file1 禁用一个二进制文件的 SUID位chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的chmod g-s /home/public 禁用一个目录的 SGID 位chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件chmod o-t /home/public 禁用一个目录的 STIKY 位chmod +x 文件路径  为所有者、所属组和其他用户添加执行的权限chmod -x 文件路径  为所有者、所属组和其他用户删除执行的权限chmod u+x 文件路径  为所有者添加执行的权限chmod g+x 文件路径  为所属组添加执行的权限chmod o+x 文件路径  为其他用户添加执行的权限chmod ug+x 文件路径  为所有者、所属组添加执行的权限chmod =wx 文件路径  为所有者、所属组和其他用户添加写、执行的权限,取消读权限chmod ug=wx 文件路径  为所有者、所属组添加写、执行的权限,取消读权限文件的特殊属性 - 使用 “+” 设置权限,使用 “-” 用于取消chattr +a file1 只允许以追加方式读写文件chattr +c file1 允许这个文件能被内核自动压缩/解压chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接chattr +s file1 允许一个文件被安全地删除chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件lsattr 显示特殊的属性
  • [技术干货] 全网最全Linux命令总结!!(史上最全,建议收藏)
    原帖地址:(1条消息) 全网最全Linux命令总结!!(史上最全,建议收藏)_冰河的专栏-CSDN博客_unzip解压命令基本命令uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件(SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作系统信息arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpuinfo 显示CPU info的信息cat /proc/interrupts 显示中断cat /proc/meminfo 校验内存使用cat /proc/swaps 显示哪些swap被使用cat /proc/version 显示内核的版本cat /proc/net/dev 显示网络适配器及统计cat /proc/mounts 显示已加载的文件系统lspci -tv 罗列 PCI 设备lsusb -tv 显示 USB 设备date 显示系统日期cal 2007 显示2007年的日历表date 041217002007.00 设置日期和时间 - 月日时分年.秒clock -w 将时间修改保存到 BIOS关机 (系统的关机、重启以及登出 )shutdown -h now 关闭系统(1)init 0 关闭系统(2)telinit 0 关闭系统(3)shutdown -h hours:minutes & 按预定时间关闭系统shutdown -c 取消按预定时间关闭系统shutdown -r now 重启(1)reboot 重启(2)logout 注销文件和目录cd /home 进入 '/ home' 目录'cd .. 返回上一级目录cd ../.. 返回上两级目录cd 进入个人的主目录cd ~user1 进入个人的主目录cd - 返回上次所在的目录pwd 显示工作路径ls 查看目录中的文件ls -F 查看目录中的文件ls -l 显示文件和目录的详细资料ls -a 显示隐藏文件ls *[0-9]* 显示包含数字的文件名和目录名tree 显示文件和目录由根目录开始的树形结构(1)lstree 显示文件和目录由根目录开始的树形结构(2)mkdir dir1 创建一个叫做 'dir1' 的目录'mkdir dir1 dir2 同时创建两个目录mkdir -p /tmp/dir1/dir2 创建一个目录树rm -f file1 删除一个叫做 'file1' 的文件'rmdir dir1 删除一个叫做 'dir1' 的目录'rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容rm -rf dir1 dir2 同时删除两个目录及它们的内容mv dir1 new_dir 重命名/移动 一个目录cp file1 file2 复制一个文件cp dir/* . 复制一个目录下的所有文件到当前工作目录cp -a /tmp/dir1 . 复制一个目录到当前工作目录cp -a dir1 dir2 复制一个目录ln -s file1 lnk1 创建一个指向文件或目录的软链接ln file1 lnk1 创建一个指向文件或目录的物理链接touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)file file1 outputs the mime type of the file as texticonv -l 列出已知的编码iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)文件搜索find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录find / -user user1 搜索属于用户 'user1' 的文件和目录find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令whereis halt 显示一个二进制文件、源码或man的位置which halt 显示一个二进制文件或可执行文件的完整路径
  • [其他问题] 【CANN】Ascend-cann-toolkit_20.2.alpha001_linux-x86_64.run安装错误
    gjbe@gjbe-VirtualBox:~/ascend$ ./Ascend-cann-toolkit_20.2.alpha001_linux-x86_64.run --installVerifying archive integrity...  100%   SHA256 checksums are OK. All good.Uncompressing ASCEND_RUN_PACKAGE  100%  [Toolkit] [20210620-23:46:19] [INFO] LogFile:/home/gjbe/var/log/ascend_seclog/ascend_toolkit_install.log[Toolkit] [20210620-23:46:19] [INFO] install start[Toolkit] [20210620-23:46:19] [INFO] The install path is /home/gjbe/Ascend ![Toolkit] [20210620-23:46:19] [WARNING] driver package maybe not installed[Toolkit] [20210620-23:46:19] [WARNING] driver package maybe not installed[Toolkit] [20210620-23:46:19] [INFO] install package Ascend-acllib-1.77.t10.0.b100-linux.x86_64.run start[Toolkit] [20210620-23:46:23] [INFO] Ascend-acllib-1.77.t10.0.b100-linux.x86_64.run --devel --quiet --nox11 install success[Toolkit] [20210620-23:46:23] [INFO] install package Ascend-pyACL-20.2.rc1-linux.x86_64.run start[Toolkit] [20210620-23:46:23] [INFO] Ascend-pyACL-20.2.rc1-linux.x86_64.run --devel --quiet --nox11 install success[Toolkit] [20210620-23:46:23] [INFO] install package Ascend-atc-1.77.t10.0.b100-linux.x86_64.run start/tmp/selfgz1405319795/atc/scripts/run_atc_install.sh: 行 112: pip3:未找到命令chmod: 无法访问 '/home/gjbe/Ascend/ascend-toolkit/20.2.alpha001/x86_64-linux/atc/python/site-packages/auto_tune.egg': 没有那个文件或目录chmod: 无法访问 '/home/gjbe/Ascend/ascend-toolkit/20.2.alpha001/x86_64-linux/atc/python/site-packages/schedule_search.egg': 没有那个文件或目录[Toolkit] [20210620-23:46:56] [INFO] start uninstall Ascend-acllib-1.77.t10.0.b100-linux.x86_64.run[Toolkit] [20210620-23:46:58] [INFO] start uninstall Ascend-pyACL-20.2.rc1-linux.x86_64.run[Toolkit] [20210620-23:46:59] [INFO] start uninstall Ascend-atc-1.77.t10.0.b100-linux.x86_64.run[Toolkit] [20210620-23:47:20] [ERROR] packe_name=Ascend-atc-1.77.t10.0.b100-linux.x86_64.run install failed[Toolkit] [20210620-23:47:20] [ERROR] package install failed,Please refer to the log for more details: /home/gjbe/var/log/ascend_seclog/ascend_toolkit_install.log
  • [典型案例] FA_Linux基础组件备份失败错误码(50061)
    【故障类型】:局点AD组件备份成功,Linux基础组件都备份失败,备份报错码为“50061”。【使用版本】:FA 通用【关 键 词】:Linux基础组件备份失败、报错码(50061)【问题现象】:局点反馈Linux基础组件架构备份失败,AD域控组件均备份成功。【告警信息】:50061【问题分析】:1、检查FA组件备份失败提示如下:2、检查FA Linux基础组件虚拟机上本地是否有备份,发现虚拟机本地备份已经完成。路径为:/var/vdesktop/backup/3、检查backupserver服务器上是否有Linux基础组件备份。发现AD组件备份成功上传,Linux基础组件并没有上传到备份服务器上。4、检查FA上对接基础组件重新输入gandalf密码进行保存,发现报错“50045”。5、登陆对应基础架构虚拟机,尝试用gandalf登陆,发现在VNC界面可以用gandalf正常登陆,排除gandalf帐户密码不对以及帐户锁定导致的问题。6、因为ITA与虚拟机连接通信下发配置需要使用SSH的22端口,检查基础架构虚拟机22端口是否正常。在对应基础架构虚拟机上执行ssh –v 127.0.0.1 –p 22端口之后,发现连接失败。7、检查基础架构虚拟机ssh服务是否正常执行命令“service sshd status”发现服务未运行。8、尝试重启ssh服务,执行命令“service sshd restart”重启之后再次检查服务正常。9、服务正常之后,在FA界面重新输入基础架构gandalf的密码保存成功之后,再次执行备份,备份成功至此问题得到解决。【解决方案】:通过上述逐步排查,是因为客户FA Linux基础组件SSH服务状态异常。手动重启服务之后正常。【总结&建议】:无。
  • [技术干货] 北斗物流课程动手实践-潦草笔记
    本来想购买个弹性云服务器,安装Ubuntu系统,Server版本没GUI界面,感觉不太行,作罢。本人PC配置内存16G、D盘730G+,win10 64位。一、资源准备核心资源:http://down.myir-tech.com/MYD-YA157C/,该帖子很重要,一堆资源要从这里下载。先不管是否用到,我下载了如下红框部分:二、环境准备 1、安装VirtualBox虚拟机(VirtualBox 6.1.22  内存8G,磁盘80G),下载地址:https://www.virtualbox.org/wiki/Downloads2、虚拟机安装Ubuntu系统(Ubuntu 20.04.2.0 LTS),下载地址:https://ubuntu.com/download/desktop3、VirtualBox设置和使用共享文件夹,方便大文件在Windows和Linux下快速互传。参考:https://jingyan.baidu.com/article/c74d6000324e984f6b595d74.html我是将所有要用的资源,全放在D:\share下,挂在到/home/VMShareDir4、安装STM32CubeProgrammer(我安装在win10下,Linux版本请自行尝试)下载地址:https://www.st.com/zh/development-tools/stm32cubeprog.html三、烧录检查1、参考《MYD-YA157C_Linux软件开发指南V2.1.pdf》4.1. CubeProg 烧写 - 3) 在windows下烧录系统注:Type-C连接开发板与PC,点下工具界面Port后的刷新按钮,端口自动识别。(1)选择课件中的FlashLayout_sdcard_stm32mp157c-ya157c-512d-v2-trusted.tsv,Binaries path选择D:\*\课程软件清单\第二课\MYiR-YA157C-V2-qt,可以Download成功(B2/B1/B0 : 1 0 1)。提示:推荐与课程配套的SD卡模式,需要在板子背面SD卡槽插入一张存储容量不低于4GB的SD卡。(2)解压前面下载的myir-image-full.zip,选择FlashLayout_emmc_stm32mp157c-ya157c-512d-v2-trusted.tsv,Binaries path选择D:\share\myir-image-full,可以Download成功(B2/B1/B0 : 0 0 0)。2、通过microUBS线将板子连接到PC,如果端口未识别,请下载附件并安装usb转串口驱动。串口配置如下:连接后,按一下板子上的RST复位按钮,在如下红框提示处,选择3:等待出现root@myir:~# 表示启动完毕。继续后续操作。四、点亮LCD屏1、使用网线将开发板接入网络,相互ping一下,确认网络能通。PC->开发板:开发板->PC及华为云官网:2、参考帖子https://bbs.huaweicloud.com/forum/thread-132408-1-1.html,10楼,使用阿正老师提供的设备树文件进行替换并完成配置修改,重启开发板。然后,LCD屏就正常显示了。五、开发配置1、参考《MYD-YA157C_Linux软件开发指南V2.1.pdf》2.1安装必备软件包sudo apt-get update sudo apt-get install u-boot-tools libyaml-dev bison flex sed wget curl cvs subversion git-core coreutils unzip texi2html texinfo docbook-utils gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ chrpath libxml2-utils xmlto docbook bsdmainutils iputils-ping cpio python-wand python-pycryptopp python-cryptopython-wand没有可安装候选,先忽略吧sudo apt-get install libsdl1.2-dev xterm corkscrew nfs-common nfs-kernel-server device-tree-compiler mercurial u-boot-tools libarchive-zip-perl sudo apt-get install ncurses-dev bc linux-headers-generic gcc-multilib libncurses5-dev libncursesw5-dev lrzsz dos2unix lib32ncurses5 repo libssl-dev无法定位软件包lib32ncurses5,是否64位系统不需要呢?先忽略吧无法定位软件包repo,根据提示安装了git-repo。2、参考:2.3 安装米尔定制的 SDKWindows下解压03_Tools.zip,然后在Linux下进入*\03_Tools\Complie Toolchain目录并拷贝sdk.zip到&HOME/work下。cd $HOME/work unzip sdk.zip cd sdk sh ./meta-toolchain-qt5-openstlinux-eglfs-myir-x86_64-toolchain-3.1-snapshot.sh测试SDK:source /opt/st/myir/3.1-snapshot/environment-setup-cortexa7t2hf-neon-vfp v4-ostl-linux-gnueabi $CC –version3、参考:3.2.1. 从光盘镜像获取源码压缩包4、参考:3.3. 快速编译开发板镜像我仅执行了环节变量设置脚本DISTRO=openstlinux-eglfs MACHINE=myir source layers/meta-myir-st/scripts/envsetup.sh选择忽略并继续。六、QT应用开发1、参考:《MYD-YA157C_QT应用开发笔记.pdf》a)参考:5.1.安装 Qt Creator注:安装完没有示例显示,我没有体验小时钟应用。b)参考:5.2.配置交叉编译环境添加设备时,主机名称填写开发板IP,并测试连通性。c)参考:5.3.Measy HMI2.0编译提示:mxapp2.tar.gz是个假gz,tar -xvf mxapp2.tar.gz 直接解压就行。打开项目出现如下提示,没有其他选项,只能OK。构建设置中,竟然提示找不到make。执行如下命令安装:sudo apt-get install build-essential安装完重新添加Build步骤,添加Clean步骤,如下图:注:Debug配置、Release配置需要分别配置。构建项目,查看编译输出日志信息,等待构建完成。唉,有报错:七、xxx1、待续。。。