分类: Software

配置 ZRAM,实现 Linux 下的内存压缩,零成本低开销获得成倍内存扩增

由于项目需求,笔者最近在一台 Linux 服务器上部署了 ElasticSearch 集群,却发现运行过程中经常出现查询速度突然降低的问题,登录服务器后发现是物理内存不足,导致机器频繁发生页面交换。由于只是临时内存需求,没有提升配置的必要,而 ElasticSearch 中存储的数据主要是文本数据,因此笔者想到了使用 ZRAM 对内存进行压缩,以避免磁盘 IO 导致性能波动,效果明显。介于互联网上关于 Linux 配置 ZRAM 的文章少之又少,本文将为读者介绍在 Linux 中配置与使用 ZRAM 的过程,并借此机会介绍 ZRAM 以及 Linux 内存部分的运作机制。

继续阅读 配置 ZRAM,实现 Linux 下的内存压缩,零成本低开销获得成倍内存扩增

[笔记分享] iptables 15 分钟入门 & 常用命令速查表

iptables 是 Linux 中非常经典的防火墙工具,但由于结构复杂,官方文档冗长,参数较多,且配置方式别扭(默认不支持持久化,命令添加即生效等),配置存在风险(一不小心就和服务器失联)等问题,导致学习曲线极高,对 Linux 新手或记忆力欠佳的人(笔者的记忆力就很差)极为不友好。本文旨在让 iptables 新手在 15 分钟内掌握 iptables 常用操作,并能根据需要快速查询想要的命令。

继续阅读 [笔记分享] iptables 15 分钟入门 & 常用命令速查表

[案例分享] 解包威联通NAS系统镜像,恢复降级后丢失的系统组件

威联通(QNAP)在2021年9月发布了全新的QTS 5.0系统,笔者最近收到了官方更新通知,于是将自己的TS-551升级到最新版,却发现无论是系统流畅度还是稳定性都与他们宣传的差距甚远,不得不降级到QTS 4.5.4。然而由于QTS 5.0将FTP作为可选软件包(QuFTP),降级后系统里既没有QuFTP,也没有QTS 4应该有的proftpd,本文将为读者分享威联通NAS解包系统镜像,恢复系统组件的过程。

继续阅读 [案例分享] 解包威联通NAS系统镜像,恢复降级后丢失的系统组件

在ARM64架构的Ubuntu Linux机器上编译安装Seafile-GUI客户端及其依赖

Seafile作为一款开源的文件同步套件,为各种主流平台提供了预编译的客户端,但由于近年其对开源热情的逐渐消退(参见我的这篇文章),Seafile-GUI在Ubuntu官方仓库的最新版本只支持到7.x,而官网提供支持最新版本8.x的仓库地址却只有AMD64的预编译版本,不巧笔者需要在ARM64平台(NanoPi NEO3)上使用Seafile-GUI,安装官方仓库里的预编译版本却无法正常使用,于是只能自己动手,尝试编译安装。本文将以Ubuntu 18.04 LTS为例,为读者介绍在ARM64架构下编译Seafile及其依赖的过程。

继续阅读 在ARM64架构的Ubuntu Linux机器上编译安装Seafile-GUI客户端及其依赖

[小技巧] 巧妙解决Office365登录/激活时报错0xCAA70004的问题

众所周知,几乎所有的微软软件都不会提供错误码和实际问题的对应表,正如微软也不会在用户手册中列举每个注册表的键值含义。本文将为读者介绍Office365在登录/激活时提示0xCAA70004错误的解决方法,希望能帮助到在绝望之中搜索到本文的,正版软件的受害者们。

继续阅读 [小技巧] 巧妙解决Office365登录/激活时报错0xCAA70004的问题

分析并解决Seafile配置WebDAV后无法正常监听端口的问题

作为一款性能优异、功能全面的文件存储系统,Seafile提供了全平台的客户端供用户使用,但如果需要将Seafile与其他系统集成,我们就需要使用如WebDAV这样的开放协议将Seafile的存储功能以WebDAV的接口暴露出来。然而,自从7.1版本之后,按照Seafile官方文档对其进行配置会出现Seafile无法监听WebDAV端口的问题。本文将为读者介绍这一问题的解决方法。

继续阅读 分析并解决Seafile配置WebDAV后无法正常监听端口的问题

[小技巧] 巧用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中使用鼠标定位光标,简单直接,节省时间,提升命令行操作效率

[小技巧]在Windows下使用sshfs-win挂载sftp磁盘到本地,便捷管理Linux中的文件

在进行Linux服务器维护时,文件管理一直是一个比较棘手的问题:FTP/SMB/WebDAV安装步骤繁琐,且用户权限等配置也较为复杂,最重要的是以上几种传输协议默认都是不加密的,配置加密等操作又要付出额外的时间与精力。OpenSSH自带的SFTP能做到开箱即用,且自带加密,但SFTP毕竟只是文件传输协议,在Linux下我们可以使用sshfs配合FUSE将其作为磁盘挂载,在Windows下同样有sshfs-win帮助我们实现这一功能。本文将为读者讲解sshfs-win的原理、安装、使用以及使用过程中一些需要注意的细节。

继续阅读 [小技巧]在Windows下使用sshfs-win挂载sftp磁盘到本地,便捷管理Linux中的文件