
Linux
敬致知
不患无位,患所以立,不患莫己知,求为可知也。
展开
-
解压、修改rpm包的内容,再重新打包成rpm
以内核开发包kernel-devel-4.19.91-007.ali4000.alios7.x86_64.rpm为例。原创 2024-06-25 14:57:57 · 928 阅读 · 1 评论 -
systemd在程序被kill -9时的动作
执行 kill -9 abc,然后立即再执行ps -ef | grep abc,发现此时多了一个父进程为1的进程,正在执行abc service中定义的ExecStop命令,而这个命令正是资源回收动作的执行者。推测这是systemd的杰作,所以在redhat6上用service管理的系统上验证,果然在 kill-9之后没有ExecStop命令执行。今天在测试程序的时候发现,使用kill -9杀死程序之后,程序的资源回收动作依旧被执行了。而且我们的service并没有特殊的配置。原创 2024-06-23 11:37:05 · 262 阅读 · 0 评论 -
Linux收集内存快照来使用crash分析的方法
kernel-debuginfo-3.10.0-1160.el7.x86_64.rpm和kernel-debuginfo-common-x86_64-3.10.0-1160.el7.x86_64.rpm。对虚拟机打快照,然后在vsphere对应的存储页面能找到server_name.vmem和server_name.vmsn这两个文件,可以直接下载,注意文件会比较大。除了个别情况下进程本身存在问题,自己就会crash,然后生成core之外,还可以使用gcore主动生成的进程文件。原创 2024-03-08 18:22:17 · 590 阅读 · 0 评论 -
Linux驱动适配内核时,对于不同版本内核中有变化函数的适配方式
Linux的驱动适配,我们都需要在对应适配的内核中去编译一次,基于这个原理,我们可以在编译时,通过测试脚本,来确定使用的函数在当前内核中是否存在,以及是怎么样的形式。原创 2024-03-08 18:05:51 · 1533 阅读 · 0 评论 -
ansible在本地从remoteA同步(synchronize)文件到remoteB
本地连接的是serverA:hosts: serverB - name: Deploy firmware images synchronize: src: /path/on/serverA dest: /path/on/serverB checksum: true delegate_to: serverB本地连接的是serverB:...原创 2019-08-02 10:23:49 · 2696 阅读 · 0 评论 -
Ubuntu安装pyparted, dmidecode过程
通过pip install pyparted 成功,但是依旧提示libparted未安装。 解决方法: 通过apt-get install python-partedpip install dmidecode成功,但是提示没有dmidecode.dmidecodeXML()。 解决方法,pip uninstall dmidecode包,通过apt-get 重新安装...原创 2018-09-09 15:20:57 · 3034 阅读 · 0 评论 -
tar压缩分包,解决git上传对文件的大小限制
将abc.tar.gz分成不大于20M的多个包,再提交到github.比如压缩包abc.tar.gz大于github要求的30M,原创 2024-02-28 16:55:24 · 723 阅读 · 0 评论 -
VMware克隆Linux主机后,新主机ifconfig中的主机名和网卡配置中的不一致,ping报错:network connect unreachable
将网卡配置中和网卡缓存配置中的网卡名和mac地址都修改为与ifconfig中的一致,然后使用命令。,此文件名在不同的CentOS系统中数字可能不一致,比如可能为。目录下的网卡配置文件名为ifcfg-eno16777984,且ifcfg-eno16777984中的网卡名。为00:50:56:AC:C5:11。ifconfig命令显示网卡名为。原创 2022-10-26 17:43:05 · 1480 阅读 · 1 评论 -
Centos yum源问题完全指南
一、repomd.xml文件问题.repo配置文件中的baseurl指定了在yum install时寻找包及其依赖的地址;时常我们在指定yum install 时会报错找不到repomd.xml文件:Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried这个错误的根本原因是baseurl指定的地址下找不到repomd.xml文件,通过vim查看/etc/yum.repos.d/原创 2021-09-18 23:01:11 · 8373 阅读 · 1 评论 -
Ubuntu(debian) 程序 dep 打包
Ubuntu(debain)上的dep和Centos的rpm打包方式有相同之处,都是shell定义安装,安装之后,卸载之前,卸载之后的操作都需要定义软件包的包名,版本,维护者等等信息但定义的方式略有不同,rpm包有一个spec文件,通过%build, %install, %post等等来定义对应执行操作dep包需要定义一个DEBAIN文件夹,下面必须有文件control来定义包的信息,通过可执行文件(需设置shebang #!/bin/sh): postinst, prerm, postrm原创 2021-08-31 11:31:25 · 1358 阅读 · 0 评论 -
在kylin v10上编译安装gcc
编译安装需要的GCC版本,原装GCC5.4,安装GCC4.8.5List item下载gcc4.8.5, 进入目录wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gztar -zxf gcc-4.8.5.tar.gzcd gcc-4.8.5/下载依赖./contrib/download_prerequisites配置安装选项./configure --prefix=/usr/local/gcc --disab原创 2021-08-29 19:07:12 · 4882 阅读 · 2 评论 -
虚拟机硬盘扩容(非LVM)
扩容/根目录,/dev/xvda1通过虚拟机配置增加硬盘大小,如果在aws上,直接增加卷大小。lsblk 查看硬盘大小从50G添加到了1000Gfdisk /dev/xvda进入分区管理,输入选线p 打印出分区表输入选项d 删除原来分区,然后输入选项n再新建分区,起始位置为原来的其实位置2048,结束位置为扩容之后最大的位置,图中为直接选择默认再输入选线p查看分区,并输入w保存通过partprobe /dev/xvda 刷新分区,再查看,/dev/xvda1..原创 2021-08-20 11:19:05 · 292 阅读 · 0 评论 -
Docker搭建Jenkins环境实践
一、准备Docker1. 安装一键脚本curl -sSL https://get.daocloud.io/docker | sh2. 配置代理service docker start启动docker服务service docker status 查看docker状态,找到其中显示的docker服务配置文件,编辑该文件,在[service]选项下面增加:Environment="HTTP_PROXY=http://ip:8080"Environment="HTTPS_PROXY=http://原创 2021-08-20 10:49:13 · 253 阅读 · 0 评论 -
Linux访问Windows的共享目录,pysmb(参数remote_name定义)
方案一net start 此命令只在Windows下面可用方案二sudo mount -t cifs -o username=administrator,password=password //remote_share_server_ip/share_dir ./data这条命令必须使用root权限,对于不能使用root权限的应用无法实现。没有sudo会报错:mount: only root can use "--options" option方案三Python包pysmbdef check原创 2021-07-26 23:26:15 · 3209 阅读 · 0 评论 -
Ubuntu编译安装python3.7.10,解决‘_ctypes‘和ssl问题, 建立软链接python3.7和pip3.7
问题1:pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available解决:sudo apt install libssl-dev问题2:ModuleNotFoundError: No module named '_ctypes'解决sudo apt-get install libffi-dev安装步骤:./configure --pr原创 2021-05-19 14:44:16 · 1978 阅读 · 0 评论 -
github设置使用token之后依然提示输入密码
设置:unset SSH_ASKPASS提示输入密码直接回车。原创 2021-02-05 09:40:56 · 1893 阅读 · 0 评论 -
Shell判断字符串是否相等,=两边需要有空格
custom=""if [ ${custom}=="cas" ]; then echo "cas custom"fi这段代码会输出cas custom因为有两个错误,=两边没有空格,会直接执行if中的内容。=左边的内容没有用""包围。会报"unary operator expected"错误正确的代码:custom=""if [ "${custom}" == "cas" ]; then echo "cas custom"fi...原创 2021-01-13 16:01:20 · 1225 阅读 · 2 评论 -
VMware Workstation连接远程虚拟机,启用复制粘贴
远程虚拟机是没有【客户机隔离】选项,只能通过修改参数生效。前提虚拟机需要安装VMware tools。浏览器访问VMware EXSi关闭虚拟机编辑设置-高级-编辑配置-添加参数isolation.tools.copy.disable FALSEisolation.tools.paste.disable FALSE启动虚拟机...原创 2020-12-23 17:58:38 · 2215 阅读 · 0 评论 -
编译升级最新OpenSSH_8.4p1, 替换sshd.service,解决启动卡死的问题
安装openssl, zlib我是用的openssl版本为OpenSSL 1.0.2k-fips 26 Jan 2017下载openssh最新包wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz解压之后进入目录tar -zxf openssh-8.4p1.tar.gzcd openssh-8.4p1编译安装到/usr/local/openssh,方便打包使用./conf..原创 2020-12-15 19:11:22 · 4592 阅读 · 0 评论 -
Windows下用idea编辑了bash文件出现的问题(^M 100755=」100644)
bash文件编辑之后被加上了^M解决办法: 将Windows默认的CRLF 调成LF执行权限没有了,提示100755=>100644解决办法: git update-index --chmod=+x 文件名,再git commit, git push原创 2020-07-04 17:05:03 · 597 阅读 · 0 评论 -
sed 替换目录下所有文件中的某字符串
sed -i "s/oldstring/newstring/g" `grep oldstring -rl path`原创 2020-05-27 16:08:00 · 1465 阅读 · 0 评论 -
Linux 注册的系统服务(service), 调用环境变量的问题
场景在系统服务中注册服务,通过系统服务启动的应用,不能获取已经全局设置的环境变量。已经尝试在以下位置设置了环境变量, HOME_PATH=‘path’:/etc/profile~/.bash_profile~/.bashrc但是,注册的系统服务(service)中的以下命令:# Start main serviceExecStart=HOME_PATH/manage.py run...原创 2020-04-20 15:32:49 · 7133 阅读 · 0 评论 -
"old mode 100755 new mode 100644",Linux系统拷贝整个项目目录到Windows WSL目录,目录权限改变
从Linux系统直接rsync -zvaP 复制,或tar -zcpf 压缩,再解压,(-p 解析许可权限信息,即保留备份文件中的权限信息, --no-same-owner不使用备份文件中的所有者信息,而以您自己的身份解析文件)到Windows的WSL系统,整个包含git的目录,git diff时都会出现:old mode 100755 new mode 100644 解决办法...原创 2020-04-16 10:47:02 · 998 阅读 · 0 评论 -
内网服务器通过另一台能访问公网的服务器实现访问公网, iptables NAT
一、服务器A,能访问外网网卡eth0, 配置内网IPTYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noNAME="eth0"DEVICE="eth0"ONBOOT="yes"IPADDR=172.16.10.52 # 作为内网的网关NET...原创 2020-03-05 17:06:00 · 8678 阅读 · 1 评论 -
处理服务器与MySQL、Redis、NFS之间的连接问题
MySQL远程连接命令偶尔能连上偶尔连不上,报错:error: (2003, Can’t connect to MySQL server on ip (110))ping显示能连通,没有丢包,但是内网延迟不稳定,在0.8-1.5ms之间。telnet偶尔能连偶尔连不上ping发的是icmp协议包,很小,看不出来网络的状况,而telnet间歇性断联,则说明服务器之间的网络有问题。...原创 2020-03-01 18:54:09 · 347 阅读 · 0 评论 -
OracleDB修改db_name与实例名sid
新建用户切换到oracle系统用户su oracle用sysdba用户进入Oracle dbsqlplus / as sysdba;新建用户CREATE USER test IDENTIFIED BY 1111;密码最好不要带@等特殊字符原创 2020-02-06 18:25:29 · 488 阅读 · 0 评论 -
Centos7使用Docker搭建PXC+双HaProxy高可用MySQL集群
1. 安装Docker卸载旧版本$ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine更新、添加软件源$ sudo yum-config-manager...原创 2019-12-30 11:10:55 · 351 阅读 · 0 评论 -
shell脚本判断服务是否运行
OPENVPN=$(ps -ef | grep -w openvpn | grep -v grep | wc -l)if [ "${OPENVPN}" -le 0 ];then echo "Openvpn is not running, Starting it" sudo openvpn \ --daemon \ --cd /etc/openvpn \ --config cl...原创 2020-12-30 13:43:45 · 3201 阅读 · 0 评论 -
Oracle Linux yum源错误: [Errno 14] HTTP Error 404 - Not Found($releasever变量错误)
配置阿里源:curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repoyum makecache报错:http://mirrors.aliyun.com/centos/7Server/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP...原创 2019-12-17 14:43:04 · 1315 阅读 · 0 评论 -
Oracle Linux上使用MySQL卡死的问题处理(时间变化导致MySQL hung up)
打开MySQL的general log, 方便排查临时一次: mysql -uroot -p 进入,set global general_log='ON';永久: MySQL配置文件, /etc/my.cnf 在[mysqld]下添加general-log=1默认日志位置: /var/lib/mysql/localhost.log打开events_statements_history 历...原创 2019-12-06 18:14:06 · 882 阅读 · 0 评论 -
服务器使用国密(SM2/SM3/SM4)证书,通过浏览器访问
1. Apache + GmsslApache 本身不支持国密,需要修改代码支持GMTLS下载解压:wget http://archive.apache.org/dist/httpd/httpd-2.4.39.tar.gztar -zxf httpd-2.4.39.tar.gz修改文件:Apache dir\modules\ssl\ssl_engine_init.cSSL_C...原创 2019-11-28 15:50:30 · 11673 阅读 · 5 评论 -
MySQL排错记录
vim /etc/default/grub possible_cpus=8 grub2-mkconfig -o /boot/grub2/grub.cfg;# 每条MySQL语句都会记录set global general_log='ON';tail -f /var/lib/mysql/localhost.logStop mysql may hung up for the fir...原创 2019-11-14 15:36:41 · 172 阅读 · 0 评论 -
命令记录
设置/etc/yum.repos.d/CentOS7-Base-163.repoCentOS-Base.repoThe mirror system uses the connecting IP address of the client and theupdate status of each mirror to pick mirrors that are updated to andg...原创 2019-10-30 10:30:03 · 167 阅读 · 0 评论 -
解决git clone 完成后提示'error: RPC failed; curl 56 GnuTLS recv error (-9)'
错误提示remote: Enumerating objects: 9817, done.error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was received.fatal: The remote end hung up unexpectedlyfatal: ear...原创 2019-09-24 15:53:01 · 24588 阅读 · 8 评论 -
WSL中MySQL不能启动(Linux Native AIO interface is not supported | Can't open the mysql.plugin table)
首先确定Windows中的MySQL服务没有运行,占用3306端口/var/log/mysql/error.log中依然报错:Linux Native AIO interface is not supported on this platform. Pleasecheck your OS documentation and install appropriate binary of Inn...原创 2019-09-20 16:43:58 · 5623 阅读 · 0 评论 -
shell获取当前执行脚本路径,并通过sed修改
basedir=`cd $(dirname $0); pwd -P`mysql_data_dir=`echo ${basedir} | sed 's/\/tests\/db\/utils//'`/mysql-files$0: 获取当前脚本的名称$#: 传递给脚本的参数个数$$: shell脚本的进程号...原创 2019-07-29 10:26:38 · 743 阅读 · 0 评论 -
一行代码获取信息
os.popen( "rpm -qi hyve-testview|grep Version|sed 's/Version[ ]*:[ ]//g'|sed 's/[ ]*Vendor.*//g'" ).read().strip()如果用正则: output = commands.getoutput('rpm -qi hyve-testview') vers...原创 2019-06-14 14:08:18 · 252 阅读 · 0 评论 -
Deploying SS and BBR by Ansible
Deploying a SS by Ansible, once you deployed, it can start automatically with you server rebooting. Just supporting CentOS now.1. Create SSH key.Run the command and save the keys under the sshkey fo...原创 2019-03-17 03:05:06 · 345 阅读 · 0 评论