IT技术博客大学习 共学习 共进步

标签:System Administration

共 17 篇相关文章

IT 累计浏览 2,663

修改Linux交换空间的使用率

这篇讲的是如何调整 Linux 系统对交换空间(swap)的使用倾向,核心是控制一个名为 `vm.swappiness` 的内核参数。 文章解释说,这个参数的默认值是 60,数值越大,系统就越倾向于将内存中的数据交换到 swap 分区。作者指出,将其设为 0 并不会完全禁用 swap,只是最大限度地避免使用它。通过 `sysctl -q vm.swappiness` 命令可以查看当前设置。 修改参数需要编辑 `/etc/sysctl.conf` 文件,添加一行 `vm.swappiness=10`,然后重启系统生效。如果不想重启,也可以用 `sysctl -p` 动态加载,但建议操作前先清空 swap。文章给出了清空 swap 的具体命令:`swapoff -a && swapon -a`。 文章最后还补充了 Linux 内存分配的一个关键机制:系统会优先使用物理内存,即使程序关闭,其占用的内存也可能被用作缓存,以加快后续访问。调整 swappiness 参数的目的,就是尽量利用物理内存,减少因使用 swap 而带来的性能开销。

IT 累计浏览 1,381

OS X 下好用的磁盘空间分析工具: ncdu

这篇讲的是在 OS X 下分析磁盘空间占用的两个选择:一个是界面精美但需要付费的图形化工具 Daisy Disk,另一个是免费、命令行风格的替代品 ncdu。 作者从不想为软件付费的“抠门”心态出发,找到了 ncdu 作为解决方案。文章将两者做了对比:Daisy Disk 用环形图直观展示空间占用,体验优秀;ncdu 则在终端运行,用键盘操作,是“命令行版的 Daisy Disk”,更符合极客口味,但扫描时不会智能跳过挂载点,需要手动添加排除参数。 文章的核心是提供了 ncdu 的实用指南:通过 `brew install ncdu` 即可快速安装。使用时,简单的 `ncdu ~` 可以分析个人文件夹,而扫描整个系统盘或外部硬盘时,则需要用 `ncdu / --exclude /Volumes` 这样的命令来排除干扰。 最终,作者认为两者各有适用场景:习惯图形界面的用户可以选择购买 Daisy Disk,而偏好命令行或预算有限的用户,ncdu 是一个高效且免费的得力工具。

IT 累计浏览 12,741

关于linux内存free的一些事情

这篇讲的是Linux下最常用也最容易被误解的free命令。文章从一个最常见的命令入手,拆解了其输出中每一列的含义,特别是新手容易混淆的“buffers”和“cache”——前者是写缓存,后者是读缓存。 作者指出,判断系统内存是否充足,关键看“-/+ buffers/cache”这一行,而非仅看“free”列。因为可供应用程序使用的内存总量实际上是“free + buffers + cached”的总和。文章还解释了一个经典困惑:为何系统已开始使用Swap,却可能并未“内存不足”?这是因为在内存紧张时,系统会尝试释放旧的缓存,但有时释放不及时,便过渡到了交换区。 此外,文章也演示了如何使用`sysctl`手动释放缓存,并坦诚这通常是“治标不治本”的操作,缓存会在系统运行中再次积累。这对于运维人员日常排查“内存告警”误报、理解系统真实资源状况有直接的指导意义。

IT 累计浏览 2,841

EXT文件系统误删除数据恢复指南

这篇讲的是Linux运维中一个让人头疼的常见问题:使用EXT文件系统的服务器上误删了重要文件,该怎么办? 作者直入主题,没有冗长的背景铺垫,而是直接切入两种最关键的自救场景。第一种情况是“虚惊一场”——文件虽然被rm命令删除了,但只要某个进程(比如正在写日志的tail)还持有该文件的句柄,就有办法“复活”。文章详细演示了如何通过/proc这个伪文件系统,定位到进程的文件描述符,然后直接将数据拷贝出来。这里的诀窍在于理解Linux内核“延迟释放”的特性。 第二种情况则更为棘手:文件已被彻底删除,进程也已退出。此时,作者推荐了extundelete这个针对EXT3/EXT4的专用工具。文章像一份操作手册,从关键的第一步“umount分区以防数据被覆盖”,到安装、使用工具扫描并恢复被删目录,步骤清晰。特别强调了在进行任何恢复操作前,使用dd命令对整个磁盘分区做镜像备份的必要性,这是避免二次损坏的最后防线。 整篇文章的价值在于其极强的实操性。它没有空谈理论,而是用具体的命令行和输出结果,为处于慌乱中的技术人员指明了两条清晰、可行的恢复路径。对于管理Linux系统的工程师来说,这篇文章更像是一份值得收藏的应急手册。

IT 累计浏览 7,641

也说 Mac 的不好

从Windows阵营转投Mac后,作者经过三个多月的深度使用,坦诚分享了一系列“水土不服”的痛点。文章并非泛泛而谈,而是直击几个核心的体验落差与技术细节。 字体渲染是首要槽点。作者指出,在非Retina的外接显示器上,Mac的字体渲染效果远不如Windows下的微软雅黑清晰,显得“糊”。这背后是苹果尊重字形原始结构的技术路线,与微软为液晶屏优化的渲染策略的根本差异,而前者在普通分辨率下优势尽失。 此外,MacBook Pro键盘缺少PageUp/Down、Home/End等物理按键带来的效率损失,以及外接键盘后Home/End键“移动到文稿首尾”而非“移动到行首行尾”的默认逻辑,都与PC用户的习惯严重冲突。作者不仅提出了用Fn组合键过渡,还提供了通过编辑`DefaultKeyBinding.dict`文件进行系统级键映射的进阶方案。 对于F11/F12等被系统默认功能占用的全局快捷键,作者提醒需要手动到“系统偏好设置-键盘-快捷键”里逐一排查和重新分配。整篇文章像一份来自前线的实战报告,把那些看似“奇葩”的问题掰开揉碎,给出了可操作的解决思路。对准备或刚刚入手Mac的用户来说,这份基于真实踩坑经验的总结,能帮助他们更平滑地跨越系统切换的初期障碍。

IT 累计浏览 3,840

Linux/Unix的精巧约定两例及其简析:目录权限和文本行数

这篇技术文章深入浅出地拆解了Linux/Unix系统中两个看似复杂但设计精巧的约定,首先是关于目录权限的“执行”位。 作者指出,许多初学者对目录的执行权限感到困惑。实际上,它的核心含义是“穿越”:要操作目录下的任何文件(读、写、执行),或者对目录本身进行写操作(如增删文件),前提必须是拥有该目录的执行权限。这与普通文件的“执行”意义截然不同。 文章进一步揭示了其中的递归逻辑:要访问一个深层路径,需要从根目录开始,路径上每一个目录都拥有执行权限。作者用访问 `/home/foo/readme.txt` 的例子做了清晰推导,强调了根目录(/)的执行权限是访问起点的关键,这体现了Unix哲学中层层递进、权责明确的设计美感。 此外,文章还分析了另一个关于统计文本行数的约定。作者旨在说明,这些约定初看可能反直觉,但其内部逻辑统一且简洁,理解后能让人体会到系统设计的严谨性。对于想真正弄懂Linux文件权限底层逻辑的读者,这篇文章提供了非常清晰的视角。

IT 累计浏览 2,000

查看FC HBA卡信息的方法

这篇总结梳理了在配置存储阵列或虚拟磁带库时,如何查看FC HBA卡信息的实用方法。对于需要与主机通过光纤通道(FC)接口对接的场景,准确获取HBA卡的型号、固件版本、WWN号及驱动状态是至关重要的第一步。 文章从实际运维需求出发,系统地整理了在主流Linux(如RedHat、CentOS)和Windows系统下,利用命令行工具(如lspci、lspci -v、systool)和厂商提供的图形化管理软件进行查看的具体步骤。它对比了不同方法获取信息的侧重,例如系统命令能直接反映底层硬件与驱动加载情况,而厂商工具则能提供更友好的配置界面和高级诊断功能。 作者特别指出,WWN(World Wide Name)的准确获取是后续Zoning配置和存储映射的关键,并提醒了在多路径环境下需要关注的信息一致性。这些细节的梳理,帮助读者能快速定位并确认HBA卡状态,为后续的存储配置打下坚实基础。

IT 累计浏览 3,382

实时监控登陆用户的操作(类 FreeBSD 中的 watch)

这篇讲的是作者如何在 Linux 系统中实现类似 FreeBSD 的 `watch` 功能——实时监控其他登录用户在服务器上的操作。 作者对 FreeBSD 中 `watch` 工具能直观观察其他终端会话的操作印象深刻,一直希望在 Linux 环境下找到同等替代方案。文章从这个具体需求出发,最终找到了解决方案(可能是 `script` 命令或类似工具),并实现了类似效果:管理员可以实时看到其他登录用户正在输入的命令和操作过程。 核心差异在于,FreeBSD 的 `watch` 是系统原生工具,体验更无缝;而 Linux 下需要借助其他命令组合或脚本来实现,但同样能达到“实时窥屏”的效果。这种能力对于运维排查问题、教学监督或安全审计都很实用——当你需要远程协助或调查系统活动时,能直观看到对方的操作流程,比单纯查看日志更直接有效。 作者从个人经历切入,不仅分享了工具查找的过程,也给出了可落地的实现方法,对有类似需求的技术人员很有参考价值。

IT 累计浏览 2,720

windows下设置路由

这篇讲的是如何在Windows系统下通过ROUTE命令精细控制网络路由。文章没有泛泛而谈,而是直接拆解了ROUTE命令的每一个参数,像一个严谨的工具说明书。 作者从最基础的命令格式出发,详细解释了每个开关的实际用途。比如,“-f”可以在执行新操作前清除所有默认网关,避免冲突;而“-p”则能将添加的路由设为永久,即使重启系统也不会消失,这对于需要固定网络环境的管理员来说非常实用。文章还明确指出了Windows 95等旧系统不支持-p选项。 对于网络地址的选择,文档也给出了明确指引,使用“-4”或“-6”可以强制路由基于IPv4或IPv6协议工作。核心操作方面,无论是打印当前路由表、添加一条新路由、删除无效条目还是修改现有配置,对应的PRINT、ADD、DELETE、CHANGE命令都解释得清清楚楚。 文末的实例“route add 46.4.55.201 mask 255.255.255.255 192.168.1.1”非常直观,展示了如何为一个具体的目标IP地址指定网关和子网掩码,是理论到实践的一次完美演示。掌握这个命令,意味着你能拥有对本机流量走向更直接的控制权。

IT 累计浏览 3,181

如何在关闭某个内核模块

这篇讲的是如何在系统中精确禁用不需要的Linux内核模块,特别适用于模块与当前硬件不兼容或存在冲突的场景。 文章直接切入操作核心:通过编辑`/etc/hotplug/blacklist`文件,将特定的模块名添加到黑名单中,从而阻止系统自动加载它们。作者以实际服务器配置为例,清晰地展示了禁用`usb_storage`、`i5000_edac`和`edac_mc`模块的具体写法,并解释了黑名单文件的工作原理——阻止热插拔脚本加载指定模块,以便让其他驱动接管或彻底禁用功能。 这种方法直接有效,尤其当系统默认加载的模块引发故障或资源冲突时,能提供最底层的控制。对于需要精细管理系统启动行为或解决特定硬件兼容性问题的系统管理员来说,这篇指南提供了一个明确的、可立即操作的解决方案。

IT 累计浏览 5,581

xargs命令少为人知的细节

这篇讲的是作者从一次磁盘空间告急的故障排查中,挖出了xargs命令几个容易被忽略的重要细节。 起因是`/var/spool/clientmqueue`目录爆满,根因在于系统中开启了crontab的用户,其任务执行后的输出本会通过邮件发送,但因sendmail服务未运行,这些输出便堆积成了大量文件。而清理和处理这些文件时,xargs命令就成了关键工具。 文章没有停留在问题表面,而是深入剖析了xargs本身。例如,当配合`find`命令使用时,如何通过`-0`选项正确处理包含空格或特殊字符的文件名,避免命令注入的风险。又如,`-I`参数如何让我们能够灵活地将输入项替换到命令的指定位置,实现更复杂的批处理。作者很可能还对比了不同场景下直接管道与使用xargs的效率差异,以及诸如`-n`(指定每次传递的参数个数)、`-p`(执行前确认)等实用选项的价值。 通过这个从真实故障出发的案例,文章把xargs从一个看似简单的“参数传递者”角色,还原成了一个在文本处理、自动化脚本中能极大提升安全性和灵活性的利器。

IT 累计浏览 2,823

windows 快捷键 总结

这篇讲的是Windows系统里那些能提升效率的快捷键。作者从日常工作场景切入,重点解析了如何用Tab键快速切换焦点、用Enter键确认操作这类细节。比如在文件浏览或多窗口操作时,这些组合能帮你省去不少鼠标移动的时间。 文章没有停留在罗列功能上,而是结合了具体的使用情境——像是处理长标题列表时如何用Tab精准定位,或是表单填写时如何用Enter快速跳转。这种从实际痛点出发的梳理,让快捷键不再是冰冷的键盘指令,而变成了可感知的效率工具。 如果你经常感觉在Windows界面里操作繁琐,这些被精心总结出来的按键逻辑,或许能帮你找到更顺畅的工作节奏。

IT 累计浏览 2,761

Linux系统管理技术手册第8章习题实践

这篇讲的是如何处理Linux系统中一个常见但棘手的管理问题:用户滥用crontab定时任务资源。 作者直接从一个具体场景切入——有个用户总是规律性地执行高开销任务,多次沟通无效后,管理员被迫采取行动收回其crontab特权。文章没有停留在理论,而是给出了清晰、可操作的步骤:首先用 `crontab -u test -l` 命令查看该用户的具体任务计划(文中示例是每天凌晨3:20运行一个名为hugecmd的脚本),然后说明如何删除其现有crontab文件,并设置策略(例如通过 `/etc/cron.deny` 文件)来禁止他未来再创建新的crontab任务。 整个过程就像是一个老练的系统管理员在手把手演示,将《Linux系统管理技术手册》中的习题转化为实际的运维操作。它解决的问题非常典型:如何在保护系统整体稳定性的同时,对不遵守规则的个别用户进行有效限制。对于日常需要管理多用户Linux环境的系统管理员或运维人员来说,这种针对具体“麻烦”场景的实战步骤,比泛泛而谈的理论更有直接参考价值。

IT 累计浏览 2,401

Linux系统管理技术手册第七章习题实践

作者从一次出差导致的实践中断出发,分享了跟随《Linux系统管理技术手册》第七章进行习题练习的真实经历。由于随身携带厚重书籍不便,他的练习计划曾被迫暂停了一段时间。 但这篇记录的核心并非中断本身,而是作者在字里行间透露出的坚持——尽管行程繁忙,他明确表示“不会放弃这个计划”。这实际上道出了许多技术学习者共同面临的困境:如何在快节奏的工作和生活中,持续投入精力进行系统性的、基于书籍的深度练习。作者没有给出时间管理技巧,而是以坦诚的态度和持续的行动本身作为回应。 对于同样在啃大部头技术书籍、或试图建立系统化学习习惯的读者而言,这个简短的更新更像一个温和的提醒:学习进程中的波折是常态,关键在于中断后如何重新接续。这份记录所承载的,或许正是技术积累过程中那份不易察觉的韧性。

IT 累计浏览 4,680

从磁盘映像中挂载或提取指定的 LVM 逻辑卷

这篇讲的是如何处理含有 LVM 分区的硬盘映像,具体是如何从中挂载或提取某一个逻辑卷(LV)。和直接按偏移地址挂载普通分区不同,LVM 的盘区(PE)分配机制导致逻辑卷在映像文件里往往是不连续的碎片,因此简单的偏移量法行不通。 文章的核心方案是,只要本地 Linux 系统安装了 LVM 支持,就可以完全借助 LVM 自带的实用工具来解决这个问题。作者延续了之前关于挂载磁盘映像中指定分区的思路,但将场景深入到了更复杂、也更常见的 LVM 层面,给出了一个清晰的操作路径。这本质上是利用 LVM 工具自身的扫描和激活能力,去识别并“连接”映像中分散的逻辑卷数据块,从而实现透明访问。

IT 累计浏览 8,724

Centos挂载新硬盘开机自动挂载

这篇教程讲的是在CentOS系统中,如何让新加入的硬盘不仅成功挂载,还能在系统重启后自动就位,省去每次都要手动操作的麻烦。 作者从一个常见的运维场景出发:为服务器物理添加或虚拟机新增了一块硬盘后,系统虽然能识别出来,但默认情况下重启就会“忘记”它。文章先带读者快速认识Linux下硬盘的命名规则(比如sda、hda),并用`fdisk -l`命令确认系统是否看到了新硬件。 核心方案围绕修改系统配置文件来实现自动挂载。教程清晰地梳理了关键步骤:先用`fdisk`或`parted`创建分区,再用`mkfs`格式化,接着通过`mount`命令手动挂载一次进行测试。最关键的一步,是编辑`/etc/fstab`文件,将新硬盘的挂载信息(如设备路径、挂载点、文件系统类型、参数)写入其中。文章很可能还提醒了读者在操作前做好数据备份、核对UUID以防设备名变化等实用注意事项。 对于经常管理Linux服务器的用户来说,这篇内容直接解决了硬盘扩容后的一个基础但重要的配置问题,确保了存储空间能够持久、稳定地被系统所用。

IT 累计浏览 3,440

应用DBA的价值

这篇整理自一场小范围讨论,深入探讨了应用DBA的价值及其对团队的贡献。作者引用了多位资深专家的见解(70%引自大师),剖析了DBA在现代技术团队中的关键角色,背景源于对数据库管理实践的反思。 核心观点在于,DBA不仅是数据库的守护者,更是团队效率的加速器。具体来说,DBA通过优化查询性能、预防故障和确保数据一致性,直接提升了应用的稳定性和响应速度。文章指出,在快速迭代的开发环境中,DBA的价值常被低估,但其贡献如减少宕机时间、优化资源利用,对业务连续性至关重要。讨论还强调了DBA在团队协作中的桥梁作用,能连接开发、运维和业务部门,帮助早期识别数据层风险。 对读者而言,这篇文章提供了重新审视DBA角色的视角,启发团队在架构设计中更早地纳入DBA的专业知识,以避免潜在问题并提升整体协作效率。通过实际讨论的梳理,它让抽象的技术价值变得具象