Tag: Linux

[小技巧] 巧用yum三板斧,巧解软件源重复导致的软件包冲突

在使用yum的过程中,我们经常会遇到冲突的情况。有时冲突来源于同时安装了多个版本/架构的软件包,但更多时候冲突来源于当前安装的软件与依赖的软件来自不同软件源。由于yum基于rpm,而rpm包名的规则为包名-版本号-发布次数-发行商-Linux平台-适合的硬件平台-包扩展名,这就造成了不同软件源中包名上的差别会直接导致冲突。本文将以一个简单的小例子,来为读者讲解如何解决软件源重复导致的yum冲突。

继续阅读 [小技巧] 巧用yum三板斧,巧解软件源重复导致的软件包冲突

浅谈motd的历史,并在Linux下使用多种方法实现动态motd消息显示

motd,全称Message Of The Day,是Linux中发送问候消息的功能。其消息内容通常存储在/etc/motd中,在用户登录时显示于终端提示符的上方。静态的motd可以用来显示的内容通常有限,但如果我们想要显示一些更加灵活的消息(例如系统负载、内存使用情况、磁盘使用量等),静态的motd文件无法满足我们的需求。本文将为读者介绍motd的实现原理,并使用多种方法实现动态的motd消息显示。

继续阅读 浅谈motd的历史,并在Linux下使用多种方法实现动态motd消息显示

[小技巧] 在zsh中使用鼠标定位光标,简单直接,节省时间,提升命令行操作效率

Linux下的命令行Shell由于其历史原因(需要兼容没有鼠标的设备如电传打字机),往往并不自带鼠标定位光标支持,这就造成一个比较麻烦的问题:如果我写了一个非常复杂的命令,想要修改里面的部分内容,再执行一次,就需要一直按下键盘上的方向键,找到想要替换的内容,狂按 backspace 删除,再回车执行。这一过程费时费力,且在服务器管理等存在延迟的情况下经常出现方向键按太多,又得按回去的问题。本文将为读者介绍在zsh中安装并配置 mouse.zsh 插件,使终端支持鼠标定位,提升命令行操作效率的小技巧,以及综合应用各种方法的最佳实践。

继续阅读 [小技巧] 在zsh中使用鼠标定位光标,简单直接,节省时间,提升命令行操作效率

[源码级解析] 漫游源码、纵观Linux&Unix历史,探索shutdown、poweroff、halt与reboot的前世今生

使用过Linux/MacOS的读者一定对shutdown、poweroff、halt和reboot这四个管理系统电源状态的命令非常熟悉,但这些命令到底有什么区别?它们之间存在什么样的历史故事?本文将为读者们讲解这四个命令的起源、发展、以及它们之间的联系与区别。

继续阅读 [源码级解析] 漫游源码、纵观Linux&Unix历史,探索shutdown、poweroff、halt与reboot的前世今生

为CentOS/RHEL等发行版中的systemd服务配置ulimit限制

近年来,几乎所有现代Linux发行版都将service替换成了systemd以实现更完善的服务管理,而随之变化的是相关用户策略的变化。可能不少读者都遇到过systemd服务提示打开文件数过多,但设置ulimit无效的问题,尤其是对于数据库这种并发数较大的业务。本文将为读者讲解如何正确地为systemd的服务配置ulimit限制。

继续阅读 为CentOS/RHEL等发行版中的systemd服务配置ulimit限制

进程间信号简述及使用Python响应进程间信号

在软件开发,尤其是命令行软件开发过程中,我们经常会遇到需要响应用户中止热键的情况:如Ctrl+C(中止程序)、Ctrl+Z(Shell下发送SIGTSTP信号)等,这些热键最终会以进程间信号的方式通过操作系统传递给进程。一个完善的软件应该能通过合适的方式处理各种信号,并执行用户所需的任务,以Python为例,它提供了signal模块便于我们捕获、处理信号,本文将为读者介绍常见的进程间信号与Python下使用signal响应进程间信号的方法。

继续阅读 进程间信号简述及使用Python响应进程间信号

逐步深入解决DS3617xs黑群晖提示『您所指定的页面不存在』的故障

群晖的家用、商用NAS因其易用性与稳定性饱受好评,但众所周知买系统送主机的群晖NAS价格高昂.对于不想花那么多钱的用户,我们有第三方Bootloader:Jun’s Mod来实现所谓的『黑群晖』。Jun’s Mod V1.02b中存在一个BUG,会导致DSM系统文件损毁,故障表现为可以ping通,ssh可以连接,但无法打开网页控制面板,提示『您所指定的页面损坏』。本文将给出在保留用户数据情况下解决该故障的一种方法。

继续阅读 逐步深入解决DS3617xs黑群晖提示『您所指定的页面不存在』的故障

Linux下快速生成大量文件的若干小技巧

最近参与了一款类Haystack存储引擎的开发,在开发的后期需要进行性能测试,即需要大量小文件作为测试素材。考虑到文件数量以千万/亿记,因此如何快速生成这些文件十分重要。这篇文章为大家分享一下我的探索过程,以及多种生成大量文件的方案。

继续阅读 Linux下快速生成大量文件的若干小技巧

[源码级解析] 巧妙解决并深度分析Linux下rm命令提示参数列表过长的问题

在维护实习单位服务器的过程中,偶然发现一个有350万文件的文件夹需要清理,于是我习惯性执行了rm -rf ./*,却在数秒后被告知“参数列表过长”。在一番折腾过后,我终于通过取巧的办法完成了这一任务,也随着相关内核源码的阅读,了解到了关于Linux Shell的一些有趣特性。

继续阅读 [源码级解析] 巧妙解决并深度分析Linux下rm命令提示参数列表过长的问题

解决FydeOS下由于Linux应用DPI设置不当导致缩放异常的BUG

FydeOS是在ChromiumOS基础上进行本地化与功能增强开发出的操作系统,解决了ChromeOS家族在国内由于网络问题带来的较差体验。系统流畅顺滑,但我发现在最新版本的FydeOS下运行Linux桌面应用会出现缩放异常的问题,很是恼人。本文将分享我解决这一问题的过程与方法。

继续阅读 解决FydeOS下由于Linux应用DPI设置不当导致缩放异常的BUG