Linux系统运维
文章平均质量分 70
阿基米东
本科毕业于国内某知名双非理工大学,当过校队球员,后自学编程,专注于嵌入式软件开发十余年,在物联网、机器人、汽车等领域拥有实战经验,也是多个开源项目的贡献者,对 Web 前后端、AI 技术略知一二。立志成为一名杰出的开源创客,让世界因我而变得更美好!
展开
-
手把手教你编写 Linux 系统的 systemd 服务脚本
是一个系统和服务管理器,也是 Linux 操作系统中最常用的初始化系统之一。它的设计目标是提供更快、更有效、更可靠的系统启动过程,并提供强大的管理和监控服务的能力。本文首先介绍 systemd 服务脚本的基本情况,并通过一个简单的示例带领读者学习如何编写 systemd 服务脚本,实现 Linux 服务的自启动、启动、停止和重启管理。原创 2023-08-22 11:20:07 · 2847 阅读 · 1 评论 -
查询 Linux 命令属于哪个软件包
在 Linux 中,有些命令的名称软件包的名称是不一样的,或者一个软件包中包含有多个命令。有时候,我们需要确定某个命令来自于哪个软件包,以便于可以在其他机器上安装,或者寻找该软件包的源代码进行编译或者修改。下面以 Ubuntu(Debian 系列)和 CentOS(RedHat 系列)发行版为例,介绍查询 Linux 命令来自哪个软件包的方法。原创 2022-12-14 15:15:02 · 4031 阅读 · 0 评论 -
使用 Shell 脚本定期检查 MySQL 服务是否正常运行
如果 MySQL 服务为 active 状态,则结束本次检测;如果为 inactive 状态,则尝试重启 MySQL 服务。以 MySQL 服务为例,假设我们想定期检查该服务是否正常运行,如果运行异常则重启该服务,从而确保服务尽快恢复。在 Linux 系统中,如果我们想查看某个服务的运行状态,可以使用。如果 Active 一栏显示 “active”,则表示服务运行正常。为了让该程序自动定期运行,例如每隔一分钟检查一次,我们可以使用。这样,我们就实现了 MySQL 服务的自动定期检测和重启的功能!...原创 2022-08-13 22:20:55 · 3164 阅读 · 0 评论 -
使用 iperf 工具测试 Linux 网络性能
在 Linux 网络设备开发过程中,我们常常需要测试网络性能指标参数,找出网络性能瓶颈,从而优化我们的软件或者硬件设计。在 Linux 环境中,我们可以使用 iperf 命令工具测试网络性能,包括网络带宽、延迟抖动和数据包丢失等参数。为了方便使用,我们还可以安装图形化界面工具 Jperf 进行测试。本文将以 Ubuntu 系统为例,介绍 iperf 和 Jperf 的使用,并完成网络性能测试。首先需要安装 iperf 命令工具,在 Ubuntu 系统中执行下列命令即可安装。Jperf 是 iPerf 命令原创 2022-07-10 21:26:24 · 2299 阅读 · 1 评论 -
巧用 Linux 定时任务
cron 是 Linux 系统中常用的任务规划软件,cron 是一个守护进程,用户可以通过 crontab 命令要求系统在特定的时间执行特定的任务。适用于需要周期性自动化执行的工作。定时喂狗在一些设备中,由于下位机(例如 STM32)可能实现了对上位机(例如 i.MX8)的看门狗监控功能,若长期无通信反馈,则会重启 Linux 系统。因此,Linux 系统需要进行喂狗,将喂狗任务添加到 cron 定时任务是一个不错的主意!编辑 cron 任务规划列表:crontab -e添加一行任务:* *原创 2021-08-24 21:27:19 · 591 阅读 · 1 评论 -
VMware虚拟机网络设置简介
VMware(Virtual Machine ware)下面主要介绍VMware虚拟机网络的三种工作模式及设置。 Bridged(桥接模式) 在这种模式下,VMware虚拟机的操作系统就像是局域网中一台独立的主机,与宿主机器平等地存在于网络中,它可以访问网内任何一台机器。因此,必须像对待局域网中的其他真正的机子一样来对待。你需要手动为虚拟系统配置IP地址、子网掩码、网关(...原创 2019-11-19 17:44:42 · 2205 阅读 · 1 评论 -
遇到陌生的 Linux 命令怎么办
1、whatiswhatis 命令用于描述一个命令执行什么功能。whatis <cmd>示例:$ whatis bashbash (1) - GNU Bourne-Again SHell2、whereiswhereis 命令用于查找二进制文件、源文件和 man 手册页的路径。whereis <cmd>示例:$ whereis...原创 2019-11-18 20:17:12 · 548 阅读 · 0 评论 -
案例分析:某企业FTP服务动态密码验证模块存在的问题及建议
1. 动态密码的生成分析某企业网关的FTP服务动态密码验证流程,主要分为两部分:动态密码的生成,以及动态密码的验证。其中,动态密码生成过程如图1.1所示。 图1.1 动态密码生成算法2. 登录验证流程FTP客户端登录及服务端进行动态密码验证的流程如图1.2所示。 图1.2 动态密码验证流程3. 存在问题(1)所谓的动态密码实际上并非动态密码,只是通过同一套算法生成的密码来验证,使得用户名和密码有原创 2017-05-13 02:34:43 · 2195 阅读 · 0 评论 -
Ubuntu 搭建强大的 IDE —— Vim + Vundle + 插件(上)
本文描述如何在 Ubuntu 环境中利用插件管理工具 Vundle 搭建一个 Vim 开发环境,从而提高在 Linux 下使用 Vim 进行编程的效率。安装 Vim 在 Ubuntu 上安装 Vim 很简单,在终端敲入如下命令即可:$ sudo apt-get install vim 在 Ubuntu 14.04 以上版本执行上述命令安装的 Vim 是 7.4+ 版本,但如果你和我一样使用 Ub原创 2017-08-05 19:40:00 · 43287 阅读 · 3 评论 -
Ubuntu 搭建强大的 IDE —— Vim + Vundle + 插件(下)
在上一节(http://blog.csdn.net/lu_embedded/article/details/76732965)我们已经通过 Vundle 下载、安装了一些插件,这些插件有一些可以直接用、有一些需要配置、有一些则需要编译,下面我们一一来看一下常用的一些插件应该怎样用起来吧。 首先要讲的是 YouCompleteMe,它应该是最难安装的一个插件了。vundle 已经帮我们做了一部分工作原创 2017-08-06 00:33:31 · 8864 阅读 · 0 评论 -
阿里云服务器ssh经常掉线的解决办法
方法一:使用 SecureCRT 连接(1)选择“Global Options”(选择“Session Options”也可以);(2)选择“Default Session”,点击“Edit Default Settings”;(3)修改,勾选“Send Protocol NO-OP”,设置时间,比如每 120 秒。方法二:修改云服务器 ssh 配置文件(1)打开配置文件;# vim /etc/ss原创 2017-12-22 09:56:13 · 9577 阅读 · 0 评论 -
Ubuntu 16.04 搭建 LAMP 环境
安装 Apache$ sudo apt-get install apache2打开浏览器,访问 http://localhost/ 出现如下页面说明 Apache 已经工作了! 对于 Ubuntu 16.04,可以通过 service 查看 Apache 的状态,并对它进行启动、停止、重启等操作。$ sudo service apache2 status/start/s...原创 2018-03-18 21:02:11 · 4375 阅读 · 0 评论 -
Shell编程——极简教程
Shell的基础在 Linux 下,我们通常会出于以下原因或优点而使用 Shell 脚本:Shell 脚本在处理自动循环或大的任务方面可节省大量的时间,且功能强大;创建一个脚本,在使用一系列系统命令的同时,可以使用变量、条件、算术和循环快速创建脚本以完成相应的工作(这可比在命令行下一个个敲入要节省大量的时间呢);Shell脚本可以在行命令中接收信息,并使用它作为另一个命令的输入。...原创 2018-04-08 13:53:17 · 2724 阅读 · 0 评论 -
ARM Linux RTC 时间的读取与设置
问题描述 RTC 芯片采用 PCF8563T,Linux 系统使用 date 设置时间后用 hwclock -w 同步到 RTC,一段时间后 Linux 系统时间与本地时间相差 8 个小时。分析问题 直觉告诉我们这是时区造成的,要么是系统的时区配置不对,要么是 RTC 时间的读写不对。时区配置主要是两个文件:/etc/localtime 和 /etc/timezone,内容...原创 2018-06-06 12:09:54 · 9658 阅读 · 0 评论 -
制作 shell 脚本安装包
在 Linux 中可以利用 cat 命令连接两个文件来制作简单的安装包,其文件后缀通常为 sh、run 或 bin。安装包的文件结构如下图所示:安装包实质上是一个安装脚本和要安装的内容的组合。文件的头部是脚本文件,执行的时候需要把尾部的二进制文件分解出来。通常这个二进制文件是个压缩包,因此具有不错的灵活性,能够打包很多不同类型的文件,在脚本中解压出来进行处理。简单起见,我们先来写一个 hel...原创 2019-05-27 13:30:43 · 5710 阅读 · 2 评论 -
浅谈 D-Bus、udevd 和 hald
D-Bus 是针对桌面环境优化的 IPC(Inter-Process Communication,进程间通信)机制,用于进程间的通信或进程与内核的通信。最基本的 D-Bus 协议是一对一的通信协议。但在很多情况下,通信的一方是消息总线。消息总线是一个特殊的应用,它同时与多个应用通信,并在应用之间传递消息。下面我们会在实例中观察消息总线的作用。消息总线的角色有点类似与X系统中的窗口管理器,窗口管理器既转载 2017-07-27 20:40:35 · 1411 阅读 · 0 评论 -
聊聊CentOS的服务
服务名称 功能 默认开启 推荐 说明 NetworkManager 为了自动连接网络的服务 × 可以不用 acpid 高级配置和电源管理接口 ■ ○ 开启,高级电源管理 anacron 一个自动化运行任务的服务 ■ × 比crond高级的玩意,可以不用 apmd 高级电源管理(支持旧硬件) ■ × 可以不原创 2017-07-27 20:07:52 · 1321 阅读 · 0 评论 -
sudo 命令能为你做些什么
对运维人员来说,Linux 系统中有一个很重要的命令 —— sudo!可能你早就已经猜到了,它的字面意思是“超级用户才能做!”(super user do!),可以说 sudo 在 Linux 中是一个统管一切的命令。相信很多 Linux 用户都曾有过这样的经历:在终端中试着运行某个命令,结果却遇到“拒绝访问”T_T …… 那么,很多时候,sudo 就是你所需要的命令! Linux 系统不是已原创 2017-08-04 19:46:00 · 4031 阅读 · 0 评论 -
Unix的起源
不得不说的 Unix【内容摘要】Unix诞生于1969年,此后快速被广泛应用;Unix一开始是开源的,后来AT&T收回版权,并且不公开源代码;Unix的代码是由90%的C语言和10%的汇编组成;Unix后来的两大分支:AT&T的System V和BSD。 由于早期的计算机并不像现在的个人计算机一样普遍,只有极少数人才有机会接触到,并且当时的计算机架构很难使用,操作接口麻烦。因此在1965原创 2016-11-25 11:35:45 · 9666 阅读 · 2 评论 -
Linux横空出世
GNU/Linux 【内容摘要】 1991年,芬兰的赫尔辛基大学的Linus Torvalds在BBS上面贴了一则消息,宣称他以bash、gcc等工具写了一个可以在Intel的386机器上面运行的内核程序,许多人对此很感兴趣,乘自由软件运动的春风,Linux开始了它不平凡的旅程。 如今Linux无处不在,不管你在哪儿,都不太可能不用Linux。Linux正在被越来越多的设备和产品所使用,包原创 2016-12-10 04:42:50 · 1542 阅读 · 0 评论 -
再述GPL授权
对于程序开发者来说,GPL实在是一个非常好的授权,因为大家可以互相学习对方的程序编写技巧,而且自己写的程序也有人可以帮忙排错。现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(http://www.opensource.org/licenses /alphabetical)。我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是O原创 2016-12-10 04:50:40 · 3021 阅读 · 2 评论 -
自由软件运动与GNU项目
自由的追求 【内容摘要】 自由软件意味着自由的权利,而不仅仅是免费获取软件的能力。自由软件的本质:“使用者可以以任何目的运行程序、研究该软件如何开展工作、重新分发拷贝,此外还可以向公众重新发布它的原版或修改版。” 理查德•马修•斯托曼(Richard Matthew Stallman,简称RMS)是自由软件之父,他是自由软件运动的精神领袖、GNU计划以及自由软件基金会的创立者。作为一个著名原创 2016-12-10 04:38:52 · 4353 阅读 · 0 评论 -
管道与Unix哲学
关于Unix管道的,这篇文章讲的非常透彻:http://blog.petersobot.com/pipes-and-filters管道(Pipelines)是现代软件工程中一个非常有用架构模型,最早使用在Unix系统中,有句话是这么说的如果说Unix是计算机文明中最伟大的发明,那么,Unix下的Pipe管道就是跟随Unix所带来的另一个伟大的发明管道所要解决的问题,还是软件设计中老生常谈的设计目标—原创 2016-12-10 04:55:04 · 1593 阅读 · 0 评论 -
使用kill命令批量终止进程
在使用Linux的过程中,有时候我们需要手动去终止进程,少的话还好,找出pid把它kill掉即可。但是,如果有一堆进程需要终止怎么办?今天我就遇到了这样的问题,启动了好多rtp包接收进程,结果停不下来。 用 ps -ef 命令查看,如下: 想了一下,应该可以用pipe(管道)来完成这项任务,经过测试,真的成功了。命令如下: $ ps -ef | grep rtprecv | gre原创 2016-12-12 23:15:27 · 52166 阅读 · 2 评论 -
在Ubuntu中添加和删除PPA的软件源
PPA,英文全称为 Personal Package Archives,即个人软件包档案。是 Ubuntu Launchpad 网站提供的一项源服务,允许个人用户上传软件源代码,通过 Launchpad 进行编译并发布为二进制软件包,作为 apt / 新立得(Synaptic)源供其他用户下载和更新。 PPA 的一般形式是: ppa:user/ppa-name添加 PPA 源 添原创 2017-02-19 12:48:29 · 62400 阅读 · 0 评论 -
Ubuntu使用ssh登陆认证慢的解决办法
经常用 Ubuntu 的朋友们可能已经习惯了一个事实,那就是,通过 ssh 登录到 Ubuntu时,登录认证的时间总要花掉10多秒,甚至20多、30秒。可能你已经习惯了这个事实,但是,其实这个漫长的等待时间完全是可以避免的,如何避免?请看下面说明。步骤一、关闭 ssh 的 GSSAPI 认证vi /etc/ssh/ssh_config 注释掉如下两行:GSSAPIAuthentication ye转载 2017-02-22 10:10:42 · 3297 阅读 · 0 评论 -
vsftpd的安装与配置
1、概述 vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征,比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。 vsftpd 的全称是 very secure FTP daemon,从名字可以看出它是一个原创 2017-01-23 18:24:57 · 1579 阅读 · 0 评论 -
POSIX 标准
在20世纪70~80年代,AT&T虽对UNIX的实际源代码进行了版权保护,但却鼓励在系统的接口和语言基础上进行标准化工作。例如,AT&T发布了SVID(System V Interface Definition,系统V接口定义),这成为了POSIX及其后续工作的基础。后来,UNIX可以说相当优雅地适应了网络环境,虽不那么轻巧却也充分地适应了图形环境。再往后,开源运动的技术基础中集成了UNIX的基本内原创 2016-12-10 11:17:27 · 5366 阅读 · 0 评论 -
如何学习Linux运维
1. 从基础开始常常有些人在学习 Linux 时候问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制 match 使用者的权限等问题。这些问题其实都不是很难的,只要了解了 Linux 的基础之后,应该就可以很轻易 match 的解决掉这方面的问题。而有些朋友常常一接触 Linux 就是希望构架网站,根本没有想到要先了解一下 Linu原创 2017-03-29 01:16:42 · 3064 阅读 · 1 评论 -
Linux系统的守护进程
Linux 服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了 Linux 的系统功能接口,直接面向应用程序和用户。提供这些服务的程序是由运行在后台的守护进程(daemons)来执行的,有些书籍和资料也把守护进程称作“服务”。守护进程是生存期长的一种进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件,常常在系统引导装入时启动,在系统关闭时终止。Linux 系统有很多守原创 2017-03-30 14:27:21 · 2679 阅读 · 0 评论 -
Shell 判断文件是否存在的方法
方法一:locate_library() { [ ! "$1*" = "`echo $1*`" ]; }用法:# Look for PAM (done weirdly due to distribution bugs (e.g. Debian) or the# crypt library.if find_func pam_start sysdeputil.o; then locate_lib原创 2017-04-21 01:45:31 · 6786 阅读 · 0 评论 -
vsftpd与PAM模块编译、安装及测试流程
背景:由于产品需求,需要在嵌入式 Linux 平台提供安全的内部 FTP 服务,所以尝试选择 vsftpd + PAM 的方式实现。1 概述 vsftpd的全名是“Very Secure FTP Daemon”,显然,vsftpd的发展理念就是构建一个以安全为重心的FTP服务器。为什么“非常安全”?(1)vsftpd尽量将服务取得的PID权限降低,使得服务即使不小心被入侵,入侵者也无法得到有效的系原创 2017-04-22 15:25:22 · 7150 阅读 · 2 评论 -
常用的Linux发行版
Linux发行版百花齐放【内容摘要】 如今,众多的Linux发行版百花齐放,Linux的阵营日益壮大,每一款发行版都拥有一大批用户,开发者自愿为相关项目投入精力。Linux发行版可谓是形形色色,它们旨在满足每一种能想得到的需求。那么,对于Linux开发者,就有必要理清各个发行版脉络,并从中选择适合自己的平台。 首先,回顾一下整个Unix大家族,自1991年发布以来,Linux系统得到了来自世原创 2016-12-10 21:20:11 · 10460 阅读 · 5 评论