
linux
文章平均质量分 74
Dancen
这个作者很懒,什么都没留下…
展开
-
CentOS安装MariaDB
这就涉及到了mariadb-secure-installation的脑残设定,其sock路径是写死的,说明我们必须在修改MariaDB配置(修改sock路径)之前,就执行这个工具。看报错可知,mariadb-secure-installation找不到sock文件,这里显示的sock文件是默认的sock文件路径,而非我们自定义的sock文件路径。这里就涉及到新版MariaDB的又一个脑残设定,当数据文件夹为空时,不会自动创建默认数据库和数据表,旧版MariaDB无此问题。操作系统:CentOS 7.9。原创 2025-02-26 16:54:46 · 1233 阅读 · 0 评论 -
Linux升级openssl
运行acme.sh更新SSL证书时出现报错:Register account Error具体错误为:重装acme.sh无效,后面怀疑为openssl版本问题,升级openssl后问题解决,本文简述openssl升级步骤。原创 2024-03-06 15:33:39 · 1076 阅读 · 0 评论 -
Linux开机自动挂载文件系统的几种方式
在Digitalocean上,给主机添加硬盘时,为了免去分区、格式化、挂载等麻烦,可以选择让运营商帮忙自动完成以上操作。查看文档可知,运营商在添加硬盘时,在挂载阶段自动执行了以下脚本:1). 创建挂载目录。2). 挂载硬盘(临时挂载,主机重启后失效)。3). 修改/etc/fstab,使得挂载持久化,主机重启后将自动挂载硬盘。随后,当计划按照需要将修改挂载目录/mnt/volume修改为/mnt/data时,只需要创建新的挂载目录,修改/etc/fstab的相关内容即可:/mnt/data。原创 2023-06-15 21:18:32 · 17577 阅读 · 0 评论 -
Linux之chattr和lsattr命令简介
与平常所说的文件属性的管理命令chmod不同,chmod只是改变文件的读写、执行这些基础属性,chattr则可以控制更底层的文件属性。chattr命令的一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux系统都是2.6以上内核了。通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令用来显示chattr命令设置的文件属性。原创 2023-05-31 18:00:44 · 315 阅读 · 0 评论 -
Linux设置网络代理
这里的两个http可能会引起误解,简单解释就是:环境变量http_proxy指明了为哪种网络协议配置代理,这里是http协议。即只有http协议的网络请求会使用该环境变量配置的代理,其它网络协议,sftp等,则不会使用该环境变量配置的代理。而其取值中的http,则表示的是代理服务器的服务协议,即系统与代理服务通信时使用的协议,比较常见的代理协议有http://https://socks://另外还有ss://ssr://vmess://等。原创 2022-11-25 21:54:40 · 23647 阅读 · 0 评论 -
Linux eval命令——关于空格那些事
eval 属 Shell 内建命令,通过连接参数构造命令。其使用空格分隔每个参数,构造的命令应由 Shell 读取和执行。eval 会对后面的命令进行两遍扫描。如果第一遍扫描后,命令是个普通命令,则执行此命令;如果命令中含有变量的间接引用,则保证间接引用的语义。也就是说,eval 命令将会首先扫描命令行进行所有的置换,然后再执行该命令。使用示例以上命令读取文本文档cmd.txt中的内容,并将内容作为命令行来执行。例如cmd.txt的内容如下:”执行结果为:非常直观。原创 2022-11-17 21:32:57 · 1037 阅读 · 0 评论 -
ubuntu安装nvidia显卡驱动
即内核编译所使用的gcc版本和当前系统中的gcc版本不一致,如果系统中的gcc版本不是太古老的话,可以尝试忽略该错误,看安装程序能够执行成功,如果安装程序无法安装成功,则需要安装匹配的gcc,本文不再赘述。根据cuda版本号、系统环境,找到并下载需要的CUDA Toolkit版本,这里官方直接提供了runfile、deb包的下载命令,我们选择runfile的方式来安装cuda。ubuntu默认的root用户没有固定密码,root密码随机产生,动态改变,即每次开机都有一个新的root密码。原创 2022-10-25 17:32:35 · 12531 阅读 · 0 评论 -
不同的命令行风格
最近计划编写一个命令行解析程序,已知命令行的编写格式比较自由,例如:ls -l -als -lals -l –all以上3个命令的用途是完全一致的,都是列出当前目录下所有文件的详细信息,但是写法却有很大差别,如何去解析呢。为了做到这一点,有必要系统地去了解一下命令行的格式标准,命令行的一般格式为:命令 [选项1] [选项2] [选项2参数] [命令参数]下面以命令为例,作出概念解释。...原创 2022-08-09 11:55:43 · 1543 阅读 · 0 评论 -
Ubuntu安装docker和nvidia-container-toolkit
当前的docker称为Docker Engine-Community软件包docker-ce,Docker的旧版本称为docker,docker.io或docker-engine,如果已安装旧版本,请执行卸载:2. 更新apt包索引3. 安装apt依赖包安装apt依赖包,用于通过HTTPS来获取仓库:4. 添加Docker的官方GPG密钥5. 设置稳定版仓库6. 更新apt包索引7. 安装docker7.1. 安装最新版docker7.2原创 2022-07-08 23:06:02 · 5921 阅读 · 3 评论 -
Linux系统用户配置文件/etc/passwd简介以及Ubuntu默认Shell问题
Linux系统中的/etc/passwd文件,是系统用户配置文件。打开这个文件,可以看到其包含如下内容:可以看出,/etc/passwd文件中存储的是一些系统用户信息,每行记录对应一个用户,包括root用户,以及普通用户dancen。这里大家可能会有疑问,除了前面指出的两个用户之外,并没有为在系统中添加过其他用户,这里为什么会有这么多用户呢?事实上,/etc/passwd包括了系统中所有用户的基本信息,除root用户之外,其中的大多数用户并非系统管理员手动添加的普通用户,而是系统或者其它软件正常运行所原创 2022-07-07 19:15:28 · 4038 阅读 · 0 评论 -
Ubuntu apt-get public key报错
原文地址:Fix apt-get update “the following signatures couldn’t be verified because the public key is not available” :: Chris Jean在Ubuntu中执行apt-get update命令时,有时候会显示如下错误信息:如果不修复这个报错,apt在后续将不能正常执行软件包的安装和升级等操作,例如:仔细查看报错,其提示系统缺失了一些PUBKEY。Apt软件包管理系统内置了一个密钥集合,只原创 2022-07-06 20:07:01 · 1335 阅读 · 0 评论 -
Docker停电事件未解之谜
周末出现了一次偶然的停电事故,供电恢复后,按照惯例重启服务器,并重新运行各项服务。然而,一台Ubuntu 16.04服务器的Docker容器无法启动了……错误信息指出:cgroup的挂载点不存在!从网络查询可知,很多用户都遇到过该错误,一个临时的解决办法是执行以下两条命令:由于这仅仅是一个临时处理办法,系统重启后失效。因此,重启系统后,需要再次执行以上命令,才能正常启动容器,目前暂时没有找到可行的持久化解决方案。参考资料:https://github.com/docker/for-linux/i原创 2022-07-05 20:09:51 · 2336 阅读 · 1 评论 -
Linux时间同步服务NTP和Chrony
NTP全称Network Time Protocol网络时间协议,用于同步计算机时间,帮助计算机与时间服务器的时间保持一致,并支持使用加密确认的方式防止恶意协议攻击。在Linux上,NTP并非默认安装,但其使用仍然非常简单,以CentOS为例:安装:yum install ntp启动:systemctl start ntpd查看状态:systemctl status ntpd设置开机启动:systemctl enable ntpd然而,在某些系统上,你可能无法安装NTP。这是因为传统的NTP已经成为过原创 2022-07-05 19:53:10 · 1551 阅读 · 0 评论 -
Tomcat崩溃排查
Tomcat运行过程中出现崩溃现象,所幸服务器监控程序自动对其执行了重新启动,因此对生成环境没有造成太久的服务中断。 崩溃问题首次出现,考虑为偶然情况。然而在几日之内,Tomcat再次崩溃,因此需要调查具体崩溃原因,初步考虑后,推测是由于Tomcat运行所占内存过大,因此被系统kill,准备升级服务器。假设是系统所为,一般会有系统日志:cat /var/log/messages查看后没有发现kill、mem相关日志。如果Jvm遇到致命错误而崩溃,应当会在程序目录生成hs_err_pid.log等错误报告文件原创 2022-06-21 12:06:22 · 4554 阅读 · 0 评论 -
5分钟让你明白“软链接”和“硬链接”的区别
原文地址:https://www.cnblogs.com/fqnb001/p/8778790.html作者:Choice_Than_to今天在知乎上看到一篇十分有趣的问题:如何评价微软高级工程师痴迷于soft link这一linux常见概念?虽然又是知名撕逼王曾某的撕逼帖,但是我还是想就题目中链接的问题简单地讲讲。什么是链接?链接简单说实际上是一种文件共享的方式,是POSIX中的概念,主流文件系统都支持链接文件。它是用来干什么的?你可以将链接简单地理解为 Window...转载 2021-01-04 19:55:10 · 476 阅读 · 0 评论 -
Linux终端中的文本颜色
现象:ServerDog的其中一个服务器命令行监控功能是用于监控服务器的各个网卡的流量情况的,以往该功能一直能够正常运行。但是最近新添加的几台服务器,ServerDog一直无法获取到有效的网络sar -n DEV信息,相关的各项网络数据一直为0。查看ServerDog的日志发现,这几台服务器的命令行输出有异常,其中包含了一些奇怪的字符,如:ESC[32;22mESC[0mESC[34;1m等。命令行输出中这些字符的出现导致ServerDog对命令行输出的结果解析异..原创 2020-11-05 16:16:55 · 1450 阅读 · 0 评论 -
MeiK / Linux 中多个进程操作同一个文件时会发生什么
转载自:https://meik2333.com/posts/linux-many-proc-write-file/原文作者:MeiK与 Windows 不同, Linux 允许一个文件在写入的时候被读取(或者在被读取的时候写入),本文就来探索一下多个进程同时读写同一个文件会产生的效果。Read + Read多个进程同时读取同一个文件不会出现问题的,放心去干吧。Read + Write本文的重点研究对象。Linux 通过文件描述符表维护了打开的文件描述符信息,而文件描述符表中的.转载 2020-10-23 15:36:34 · 699 阅读 · 0 评论 -
CentOS 8 配置网络
一. 涉及程序介绍由于ifconfig、network.service等经典网络程序工具在各个新的Linux发行版本中逐步被废弃,因此本文将避开这些工具的使用,本文将要使用到的工具是取而代之的NetworkManager.service。程序和描述a. NetworkManager:默认联网守护进程b. nmtui:NetworkManager的使用光标的简单文本用户界面(TUI)c. nmcli:允许用户及脚本与NetworkManager互动的命令行工具1. Netw..原创 2020-08-21 15:41:26 · 1018 阅读 · 0 评论 -
curl返回http_code为000的一种情况
我在服务器监控程序ServerDog的Curl模块中,使用curl命令来实现对一些网络链接的监控。如:curl -o /dev/null --connect-timeout 10 --max-time 50 -X GET -s -w http_code=%{http_code},ssl_verify_result=%{ssl_verify_result},time_namelooe_conne...原创 2019-12-23 20:02:12 · 10073 阅读 · 1 评论 -
Linux之文件描述符
注:本文中所使用的Linux发行版为CentOS 7 X64一 文件描述符简介Linux的设计中,不仅文件是文件,还将数据也抽象成了文件,甚至将一切操作和资源抽象成了文件,比如说socket,磁盘,进程,线程等,即所谓一切皆文件。内核为了高效管理已被打开的文件,便创建了索引,用于指向被打开的文件。这样,要操作文件的时候,我们直接找到索引就可以对其进行操作了,我们将这个索引叫做文件...原创 2019-11-29 21:07:48 · 668 阅读 · 0 评论 -
将 MySql 查询结果输出到文件
参考资料:https://www.cnblogs.com/edgedance/p/7090800.html方法一:直接执行命令:mysql>select *from table limit 100 into outfile '/home/test.txt';Query OK, 100 rows affected (0.00 sec)在目录/home/下会产生文件test...原创 2019-05-16 15:56:48 · 6733 阅读 · 0 评论 -
CentOS 服务器因 Redis 遭遇挖矿程序 minerd 入侵事件记录
事件经过:周六早上监控服务器发送报警,连续多次无法建立与一台应用服务器的连接。情况紧急,登录时发现该应用服务器并没有崩溃。执行:ps -ef | grep nginx结果显示相关服务还健在。执行:uptime发现,服务器的负载非常高。执行:top发现,有一个叫做minerd的进程占用了几乎所有cpu资源。百度“centos minerd”,搜索结果显原创 2017-07-18 17:10:46 · 3699 阅读 · 3 评论 -
Kernal Panic - Not syncing : VFS: unable to mount root fs on unknown-block (0,0)
周末公司断电,所以使用shutdown命令将CentOS关闭,周一回来后,启动CentOS报错:Kernal Panic - Not syncing : VFS: unable to mount root fs on unknown-block (0,0),在启动菜单选择老版内核后可以正常启动,查看/etc/fstab、/boot/grub、/dev/disk/by-uuid、df,没有发现异原创 2016-12-26 11:41:56 · 2457 阅读 · 0 评论 -
Linux top命令的用法详细详解
文章来源未知!以下是对Linux中top命令的用法进行了详细的介绍,需要的朋友可以过来参考下查看多核CPU命令mpstat -P ALL 和 sar -P ALL 说明:sar -P ALL > aaa.txt 重定向输出内容到文件 aaa.txttop命令经常用来监控linux的系统状况,比如cpu、内存的转载 2016-03-22 11:17:57 · 657 阅读 · 0 评论 -
关于Subversion主从备份方式的调整(全量、增量脚本)更新
原文:http://blog.chinaunix.net/uid-25266990-id-3369172.html之前对Subversion服务器作了迁移,关于SVN的架构也走了调整,有单一的服务器改为主从备份的方式。在“subversion迁移过程中增量备份脚本”中提到了增量备份的方式,但是运行一段时间,发现备份出错,提示导入的文件已存在,于是重新检查,修改了脚本。现在一直稳定运行着。今天重新回顾转载 2016-03-07 15:11:39 · 699 阅读 · 0 评论 -
借助sasl构建基于AD用户验证的SVN服务器
SVN服务器的用户验证方式很多,以下列出一些我所了解的:1 最简单的,即使用SVN版本库目录之下的conf/passwd文件存储用户信息。然而,密码使用了明文存储,有安全隐患。2 SVN+sasl实现密码加密,我参考网上资料:http://www.cnblogs.com/linn/archive/2011/08/04/2127014.html进行了实验,该方式使用了另外的可自定义的原创 2015-05-26 16:16:12 · 8116 阅读 · 4 评论 -
linux如何查看端口被谁占用
原文地址:http://www.blogjava.net/kxx129/archive/2013/05/13/399206.html转载 2014-07-30 22:25:55 · 15970 阅读 · 0 评论 -
Linux中crontab的坑爹环境变量问题
手动在CentOS中执行sh脚本,调用java程序,一切正常;将该sh加入cront原创 2014-04-23 11:49:20 · 70138 阅读 · 6 评论 -
Linux ssh 命令常用用法小结
我需要在Linux(CentOS)上使用ssh的场景是,有时候本地无法通过ssh连接国外的服务器,这时借助在国内(内地/香港)的CentOS服务器来做跳板,先ssh到国内的CentOS服务器,再ssh到国外的服务器。#ssh -v name@remoteserver -p 22-v:打印连接信息,可帮助检查ssh连接失败的原因。-p:端口name:用户名remoteserver...转载 2017-07-31 11:58:37 · 1219 阅读 · 0 评论 -
CentOS 7升级python
1 查看当前python版本:python --version结果显示当前版本为2.7.52 下载安装包,这里选择的是3.6.3版本: cd /home/dancen wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz 3 解压之: tar -zxf Python-3.6.3.tg原创 2017-12-08 10:29:40 · 1661 阅读 · 0 评论 -
Linux 文件的分割与合并
有一次需要将一个文件上传到海外的服务器,该文件有10多G,由于网络很慢,而且不稳定,以及断点续传等问题,直接上传文件几乎是很难搞定的。解决办法就是,先将文件分割为小文件,然后上传,上传完毕后再进行文件合并。而且上传时对这一批小文件可以并发执行上传,上传效率也更高了。1. 使用split命令分割文件:split -b 15m sourcefile.tar -d -a 5解...原创 2019-03-26 18:01:56 · 1067 阅读 · 0 评论 -
分析 java 占用 cpu 过高的原因以及 java ScheduledThreadPoolExecutor bug 介绍
近期发现一个java进程的cpu占用接近100%。开始简单地认为是由于给java分配的内存不足,从而导致频繁GC。于是首先的处理方式就是直接给该java程序分配更多的内存,然而进程启动没几分钟,cpu占用再次接近100%,看来问题没这么简单。 一. 分析 java 占用 cpu 过高的原因1. 通过top命令直接查到该java进程的进程ID,可以看到进程ID为26260。...原创 2018-10-08 15:46:29 · 3664 阅读 · 0 评论 -
lsof命令与Linux磁盘空间的释放
lsof命令简介lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用...原创 2018-09-28 10:45:00 · 2060 阅读 · 0 评论 -
CentOS df命令卡死问题
1. 在CentOS上执行以下命令查看硬盘使用状态:df -h发现命令卡住不动,Ctrl+c也无法终结该命令。 2. 安装strace:yum install stracestrace是一个非常简单的工具,它可以跟踪系统调用的执行。最简单的方式,它可以从头到尾跟踪binary的执行,然后以一行文本输出系统调用的名字,参数和返回值。 3. 通过strace跟踪df命令...原创 2018-08-15 10:33:36 · 3164 阅读 · 0 评论 -
CentOS 7 安装Mariadb
由于mysql被甲骨文收购后存在一些风险,越来越多的Linux发行版已不再使用mysql,包括CentOS在内的很多Linux发行版的源中的数据库都被换为了Mariadb。Mariadb的安装:yum -y install mariadb mariadb-server启动,开启启动:systemctl start mariadbsystemctl enable mariadbMariadb怎么使...原创 2018-05-31 15:35:20 · 367 阅读 · 0 评论 -
CentOS7安装iptables防火墙
1. 首先禁用/停止自带的firewalld服务。#停止firewalld服务 systemctl stop firewalld #禁用firewalld服务 systemctl mask firewalld#或者禁止开机启动systemctl disable firewalld2. 安装iptables iptables-service。yum install -y iptab...原创 2018-05-31 14:47:58 · 541 阅读 · 0 评论 -
Letsencrypt无法生成、更新SSL证书的解决办法
我在CentOS服务器上统一使用Letsencrypt来管理(创建和更新)网站的https证书。在海外的服务器上,Letsencrypt一直使用正常。在国内,我使用的是阿里云的服务器,首次使用Letsencrypt创建https证书时一切正常,当证书到期后,使用renew命令无法更新证书;我将证书删除,重新创建证书,也报同样的错误,具体如下:Automated renewal failed:Bo...原创 2018-05-03 15:52:10 · 5153 阅读 · 0 评论 -
Centos 6 L*2tp 配置实例
如何科学地使用互联网,一直是个蛋疼的问题。以前使用p*ptp,iOS 10之后p*ptp被苹果干了,用不了,说是安全性不好,简直有病,我的使用环境又没有那么高的安全要求。而s*ock的使用需要在客户端安装第三方客户端才行,iOS市场上好多s*ock客户端都被下架了,剩余一些不支持自定义配置的,或者是收费的,切换iOS市场可以找到一些可用的,可恶的是切换市场的时候Apple要求一定要提交信用卡等信息原创 2017-08-11 11:50:04 · 765 阅读 · 0 评论 -
Linux开机提示fsck.ext3:Unable to resolve ‘LABLE=XXXX’错误导致无法正常开机解决办法
原文地址:http://liubr1113.blog.163.com/blog/static/1198512932012111183011680/导致这种原因发生的问题在于硬盘分区所给的Label name与/etc/fstab这个文件中对应的“LABEL”项不匹配所导致的。在此先献上解决办法供大家参考,后面还会提到一个地方自己无法理解,希望拿出来和大家探讨!转载 2014-02-25 11:46:28 · 2083 阅读 · 0 评论