Linux
yin138
毕业于中南林计算机专业
展开
-
Docker内部访问宿主机或其他容器
一般情况下Docker内部之间端口访问,通过docker compose统一编排主机名称,通过名称访问即可。如果需要跨不同docker compose项目访问,或者访问宿主机,那么Docker内部虚拟机可以通过docker0网卡IP访问宿主机。如果之前可以访问,突然不能访问了,那么,请看看是不是防火墙拦住了!因为Docker访问宿主机的docker0网卡是会经过防火墙的。所以通过把docker的IP网段添加到防火墙就可以了。CentOS 的方法:firewall-cmd --add-source原创 2021-08-25 14:04:34 · 1057 阅读 · 0 评论 -
OpenSSL升级后导致libcrypt.so.10和libssl.so.10找不到的解决
起因机器因为安全需要,对OpenSSL进行了升级,通过openssl version可以查看版本为1.1,执行curl提示libcrypto.so.10库不匹配。分析寻找解决办法:OpenSSL是Linux的基础库,升级会带来不少问题,比如:weg, curl提示找不到libcrypt.so.10和libssl.so.10库通过资料分析:这个问题就是因为升级OpenSSL导致的,新版本的SSL把1.1版本的库替换了老的1.0库,导致老的程序不兼容。因此需要让老程序也可以继续工作,不至于全部升级原创 2020-12-07 16:00:01 · 16001 阅读 · 0 评论 -
MongoDB 4.0 启动失败问题定位
mongod是启动MongoDB的主程序,该程序通过命令行参数或者配置文件进行启动。mongod会在MongoDB异常关闭后(例如OOM Killer前置关闭Mongo进程),执行恢复过程,无需采用repair参数启动。我在恢复一个一主一从的DB库是,出现恢复数据成功后,MongoDB主动关闭,导致恢复失败,尝试过程启动方式后无果,经过分析MongoDB的启动过程,并亲自写代码做实验,发现MongoDB的启动的一个小漏洞。具体问题报告如下:https://jira.mongodb.org/brows原创 2020-12-02 19:03:11 · 889 阅读 · 1 评论 -
Monogo日志文件旋转,并定期清理脚本
每日生成Monogo日志文件,并定期清理脚本。Mongo日志文件一直写入到一个文件,文件越来越大,为了更好的治理日志文件,写下如下脚本,用于旋转Mongo日志,并定期清理。#!/bin/bash# Roate mongos or mongd logging file# And check logging file date, remove old file before 7 daysL...原创 2019-12-25 16:16:07 · 449 阅读 · 0 评论 -
Docker中运行Mongo时出现权限问题
错误开始:因为/var/lib/docker目录空间不够,开始移动位置,并构建软链接其他几个容器启动没有问题,但是Mongo容器出现问题,无法启动,重新创建新的容器也没有办法。错误提示:Failed to set up listener: SocketException: Permission denied通过百度和Bing找了许久,都没有解决问题,最后,借梯子到Google上面输入"do...原创 2019-12-20 11:08:44 · 1774 阅读 · 0 评论 -
PKG_CHECK_MODULES未定义
一直以来,对于使用automake有点害怕,网上的大多资料都是说明autoconf生成什么文件,automake又做什么事情,还有autoscan等等。 笔者在使用开源项目过程中遇到了一个问题: PKG_CHECK_MODULES未定义! 奇怪,所有解决方式都说需要安装pkgconfig包,可是明明安装了啊,为啥还是不行呢?经过大约1天的时间阅读了GNU的automake的官方文档,也发现通过原创 2017-09-21 11:01:07 · 9094 阅读 · 1 评论 -
新版本Mariadb安装后无法登录问题的解决
新版本Mariadb安装后无法登录问题的解决给新机器Ubuntu安装的Mariadb后无法登录,通过网上各种方法修改root用户密码,仍然无法解决,耗费几个小时!经过看日志和查手册,发现原因如下:ubuntu确实安装没有启用root用户,所以没有root用户密码,而新安装的mariadb使用的系统root的密码(初始安装后)通过原来的方法重置password无效(原因就是采用了un...原创 2018-05-12 17:56:40 · 6942 阅读 · 0 评论 -
KVM磁盘空间调整
KVM磁盘空间调整使用KVM构建虚拟化平台是一个把Linux机器快速搭建虚拟化平台的优秀工具,如果前期规划问题,导致磁盘空间不够用,通过可视化工具无法实现磁盘的动态扩展,这个时候,需要用到命令行工具来解决,下面一起来看看具体的步骤:场景如下:早先建立一台虚拟机,系统盘空间15G,随着安装软件变多,导致根挂载点磁盘空间不够用了,必须扩容。本文参考:https://fatmin.com/20...原创 2019-01-24 09:01:49 · 2534 阅读 · 0 评论 -
CentOS7上搭建DNS服务器
参考网站:如何在CentOS7上搭建DNS服务器如何在Ubuntu上搭建DNS服务器详细文档参考搭建DNS服务的步骤比较简单,如果出现问题,最重要的就是查看日志,定位问题,祝你好运!开启、关闭和查看DNS服务器日志如下:# 初次为开启rndc querylog tail -f /var/log/message# 再次为关闭(建议关闭,不然日志太多)rndc querylog...原创 2019-02-23 17:45:02 · 615 阅读 · 0 评论 -
Oracle在Linux系统连接很慢的问题
无比的兴奋,新版本的Bing支持国际版,这样就可以更好的检索国外的资料了。Oracle在Centos7中连接局域网内的速度很慢的问题,终于找到问题的原因了,当然可能还会存在其他问题,本文考虑两个: (1)代理问题ProxySelector.setDefault(null);在开始连接数据库前调用,我开始的时候感觉有效,过一段时间就没有效果了,任然很慢,甚至第一次连接是失败的。(2)安全随机数问题原创 2017-08-11 11:32:36 · 6059 阅读 · 2 评论 -
JNotify JNI动态库在Linux下的编译
在CentOS7下,JNotify编译好的动态库无法使用,自己编译了以下,供参考。 需要安装gcc, make, jdk, jdk-devel CentOS7中安装很方便: yum install -y java-1.8.0-openjdk.x86_64 yum install -y java-1.8.0-openjdk-devel.x86_64 rpm -qa | grep jdk 从原创 2017-06-14 19:30:27 · 3246 阅读 · 0 评论 -
net-snmp开发代理入门
编程技术到不存在问题,可是要快熟编写net-snmp代理到还是遇到了不少小问题,网上资料也比较少,通过官网和《深入理解Net-SNMP》一书,基本搞定了net-snmp开发代理的过程,其他的都是编程的工作了。本文的目的也是希望可以快速通过net-snmp实现代理的开发,本文基本概念就省了,直接开始如何开始开发一个自定义代理。开发一个代理:(1)需要编写自己的MIB库建议使用Mib原创 2015-12-23 20:03:40 · 5469 阅读 · 5 评论 -
net-snmp代理开发之表格开发入门
Net-SNMP代理开发之表格开发入门net-snmp开发比较难以理解的是表格的实现方式,本文,笔者尝试一个人的理解,用简单的方式解释net-snmp的开发。并通过示例来说明如何开发表格。Net-SNMP表格的理解现实中的表格如下图所示,有多行,多列,有唯一确定某一行的索引列,可以是固定的一列,也可以是多列共同决定某行。在Net-SNMP中,表格的标识方法如下图所示:原创 2015-12-23 22:18:42 · 4833 阅读 · 5 评论 -
Centos7下PHP安装gd库
Centos7下安装php, 或php的gd库支持,都是很简单的。 一切通过yum搞定。 yum install php-gd 以上命令就搞定php-gd的支持,快快看看phpinfo是否支持了?可是,如果需要采用不同版本的php时,那就是相当的麻烦,经过摸索,笔者找到了一个较为简单的方式。由于需要与系统原生版本共存多个php版本,那么你要求的版本必须采用源码编译。(如果有其他办法,请记得回复原创 2016-04-09 00:03:12 · 28503 阅读 · 1 评论 -
GitLab修改root用户密码
GitLab是一个私有的Git仓库,具有较好的项目管理和用户管理能力。 对于普通用户而言,通过系统的重置密码,接受邮件即可解决,可是GitLab的管理员账号,缺省的邮箱是一个不存在的邮箱地址,所以没有办法通过邮箱来复位。 通过在服务器上,可以修改用户的密码: 官方修改密码:(http://docs.gitlab.com/ce/security/reset_root_password.html)原创 2016-05-13 13:59:33 · 61238 阅读 · 0 评论 -
CentOS7修改时区的正确姿势
CentOS7修改时区的正确姿势 今天在CentOS7上运行Java程序,发现程序生成的时间与当前时间匹配不上,还以为是数据停止更新了,后来发现没有正确使用修改时区的姿势,导致程序时区错误。 正确的修改CentOS7 时区的姿势:ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime其他系统的修改文件可能是/var/etc/localtim原创 2016-10-09 11:34:22 · 57160 阅读 · 7 评论 -
Zabbix, Nagios告警规则比较
首先说说我比较熟悉的Zabbix的告警规则。 Zabbix是通过触发器实现告警的,触发器主要是对数据现(item)进行分析,如果条件满足,就可以产生告警(Action),也叫做动作,比如发送Email或者短信。Zabbix的触发器的实现主要是依赖于触发器的表达式,例如:{www.zabbix.com:system.cpu.load[all,avg1].last()}>5表示对system.cpu.原创 2016-12-21 11:12:49 · 2336 阅读 · 0 评论 -
Linux下使用Apache访问FTP文件夹引起的问题
通过FTP服务器接收由IP摄像头上传的抓图文件,在通过Apache实现到HTTP的访问,结果配置FTP和Apache遇到了奇怪的权限问题,与一般的问题不同,经过验证,终于找打了解决方案。403 权限问题无论什么问题,首先禁用SELinux,看看是否正常。 禁用SELinux权限的方法是:setenforce 0 开启权限是:setenforece 1 一般情况下,生产服务器建议打开SELinu原创 2017-06-14 19:03:44 · 2246 阅读 · 0 评论 -
inet_ntoa函数段错误(Segmentation fault)
inet_ntoa函数段错误(Segmentation fault)今天在用udp编写程序是,出现奇怪的问题: inet_ntoa函数在调用时出现段错误,这个函数我再两个文件中都有使用,在一个文件中正常工作,在另一个文件中就出现段错误,百思不得其解,由于项目工期紧,所以有点心烦意乱。 后来喝点茶,仔细看了编译的输出,一个不起眼的警告提醒了我:gcc -I../include -c -Wall -原创 2015-12-20 10:11:04 · 3327 阅读 · 0 评论