Ubuntu 修改 Swap 分区大小

步骤 # 1. 关闭当前 swap sudo swapoff /host/ubuntu/disks/swap.disk # 2. 删除旧文件 sudo rm /host/ubuntu/disks/swap.disk # 3. 创建新的 swap 文件(1G = bs × count) sudo dd if=/dev/zero of=/host/ubuntu/disks/swap.disk bs=1M count=1024 # 4. 格式化为 swap sudo mkswap -f /host/ubuntu/disks/swap.disk # 5. 启用 sudo swapon /host/ubuntu/disks/swap.disk 验证 free -h # Swap 行应显示新的大小 其他大小参考 目标大小 dd 参数 512MB bs=1M count=512 1GB bs=1M count=1024 2GB bs=1M count=2048 4GB bs=1M count=4096

2015年4月17日 · 1 分钟 · Jid

Linux 控制 Core Dump 核心转储文件

什么是 Core Dump 程序崩溃时,系统可以将当时的内存映像写入磁盘文件(core dump),用于事后用 GDB 调试分析崩溃原因。 查看当前设置 # Bash ulimit -c # C Shell limit coredumpsize 输出为 0 表示禁止生成,unlimited 表示无大小限制。 开启 Core Dump # Bash(单位:KB) ulimit -c unlimited # 无限制 ulimit -c 102400 # 最大 100MB # C Shell(单位:B) limit coredumpsize unlimited 永久生效 在 /etc/security/limits.conf 中添加: * soft core unlimited 或编辑 /etc/profile,添加 ulimit -c unlimited。 Core 文件位置 # 查看当前 core 文件路径模板 cat /proc/sys/kernel/core_pattern # 设置路径(例如统一放到 /var/core/) echo "/var/core/core.%e.%p.%t" | sudo tee /proc/sys/kernel/core_pattern 使用 Core Dump 调试 gdb ./program core (gdb) bt # 查看崩溃时的调用栈

2015年4月16日 · 1 分钟 · Jid

Linux 更改用户登录 Shell

方法 # 1. 确认目标 Shell 已安装 which zsh # /usr/bin/zsh # 2. 更改用户的默认 Shell chsh -s /usr/bin/zsh yourname # 3. 重新登录生效 查看可用的 Shell cat /etc/shells 注意事项 必须使用 /etc/shells 中列出的 Shell 路径 普通用户只能改自己的 Shell,root 可以改任何人的 修改后下次登录生效,当前会话不变

2015年4月15日 · 1 分钟 · Jid

Linux find 命令完全指南

find 是 Linux 中最强大的文件搜索命令,支持按名称、类型、权限、时间、大小等多种条件查找。 基本语法 find [搜索路径] [查找条件] [执行动作] 常用查找条件 按名称 find /dir -name "*.c" # 按文件名(区分大小写) find /dir -iname "*.JPG" # 不区分大小写 find . -name "*.log" -not -name "*.gz" # 排除条件 按类型 find . -type f # 普通文件 find . -type d # 目录 find . -type l # 符号链接 按时间 find / -mtime -5 # 5 天内修改过的文件 find / -mtime +3 # 3 天前修改过的文件 find / -mmin -30 # 30 分钟内修改过的文件 按大小 find . -size +100M # 大于 100MB find . -size 0c # 空文件 find . -size +10k -size -1M # 10KB ~ 1MB 按权限和用户 find . -perm 755 # 权限为 755 find . -user root # 属主为 root find /home -nouser # 无有效属主 find . -group developers # 属组 排除目录 find /apps -path "/apps/bin" -prune -o -print # 排除 /apps/bin 执行动作 -exec(对每个文件执行命令) # 删除空文件 find . -size 0 -exec rm {} \; # 列出文件详情 find . -type f -exec ls -l {} \; # 删除 5 天前的日志 find /logs -type f -mtime +5 -exec rm {} \; {} 代表匹配到的文件,\; 是命令结束标记。 ...

2015年4月14日 · 2 分钟 · Jid

Ubuntu 安装 IBus 输入法框架

最小化安装 sudo apt-get install ibus ibus-pinyin ibus-table ibus-gtk 安装后必须注销并重新登录才能使用。 常用输入法引擎 sudo apt-get install ibus-libpinyin # 智能拼音(推荐) sudo apt-get install ibus-pinyin # 拼音 sudo apt-get install ibus-rime # 中州韵(高级用户) sudo apt-get install ibus-table-wubi # 五笔 配置 ibus-setup # 打开 IBus 偏好设置 im-config -s ibus # 设为系统默认输入法框架 在弹出窗口中添加输入法,切换快捷键默认为 Super+Space。

2015年4月12日 · 1 分钟 · Jid

RPM 包管理常用命令

基本操作 安装 rpm -ivh package-1.0.i386.rpm 选项 含义 -i 安装 -v 显示详细信息 -h 显示进度条 卸载 rpm -e package_name # 注意:用包名,不是文件名 升级 rpm -Uvh package-2.0.i386.rpm 升级会自动卸载旧版本。如果配置文件不兼容,旧文件会保存为 .rpmsave。 降级安装需加 --oldpackage。 查询 # 查询已安装的包 rpm -q package_name # 列出所有已安装的包 rpm -qa # 查询某个文件属于哪个包 rpm -qf /path/to/file # 查看包信息(描述、大小、开发者等) rpm -qi package_name # 列出包包含的文件 rpm -ql package_name # 查看未安装的 RPM 文件的信息 rpm -qpi package-1.0.i386.rpm rpm -qpl package-1.0.i386.rpm 校验 # 校验所有已安装包的文件完整性 rpm -Va # 校验指定包 rpm -V package_name 校验结果中的标记含义: ...

2015年4月10日 · 1 分钟 · Jid

C/C++ Linux 程序员必知的 10 类工具

1. 基本命令 Shell 操作是 Linux 开发的基础。掌握文件操作、管道、重定向、文本处理(grep/sed/awk)等。 2. 编辑器 — Vim / Emacs Linux 下两大经典编辑器。至少精通一个,推荐 Vim(服务器环境几乎一定有)。 3. 构建工具 — Make / CMake Make:经典的构建自动化工具,通过 Makefile 定义编译规则 CMake:跨平台构建系统,自动生成 Makefile 或 VS 项目文件,现代项目首选 4. 调试器 — GDB 命令行调试器,支持断点、单步、变量查看、内存检查。核心命令: gdb ./program (gdb) break main (gdb) run (gdb) next (gdb) print variable (gdb) backtrace 5. 版本控制 — Git 现代开发必备。SVN 和 CVS 已逐渐被 Git 取代。 git init / git clone git add / git commit / git push git branch / git merge 6. 代码导航 — ctags / cscope 在大型代码库中快速定位函数定义、调用关系。 ...

2015年4月9日 · 1 分钟 · Jid

Ubuntu 安装 Fcitx / 搜狗输入法

步骤 1. 卸载 IBus(可选,避免冲突) sudo apt-get purge ibus ibus-* 2. 添加 Fcitx PPA 源 sudo add-apt-repository ppa:fcitx-team/nightly sudo apt-get update 3. 安装输入法 搜狗拼音(推荐): sudo apt-get install fcitx-sogoupinyin 其他可选引擎: sudo apt-get install fcitx-googlepinyin # Google 拼音 sudo apt-get install fcitx-sunpinyin # Sun 拼音 sudo apt-get install fcitx-table fcitx-wubi # 五笔 4. 重启 注销并重新登录,或重启系统。首次登录时系统会提示选择输入法框架,选择 Fcitx。 配置 点击托盘区键盘图标 → 配置 → 添加输入法,选择需要的输入法即可。 常见问题 托盘不显示输入法图标:安装 fcitx-config-gtk3 无法切换输入法:检查 im-config 是否设置为 fcitx

2015年4月8日 · 1 分钟 · Jid

RHEL 将光盘镜像设为 YUM 源

适用场景 RHEL 服务器无法联网,需要从光盘安装软件包。 步骤 1. 挂载光盘镜像 mount -o loop rhel-5-server-dvd.iso /media/rhel 2. 创建 YUM 源配置 编辑 /etc/yum.repos.d/rhel-local.repo: [Server] name=Red Hat Enterprise Linux $releasever - Server baseurl=file:///media/rhel/Server enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [Cluster] name=Red Hat Enterprise Linux $releasever - Cluster baseurl=file:///media/rhel/Cluster enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [ClusterStorage] name=Red Hat Enterprise Linux $releasever - ClusterStorage baseurl=file:///media/rhel/ClusterStorage enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [VT] name=Red Hat Enterprise Linux $releasever - VT baseurl=file:///media/rhel/VT enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 3. 生成 repodata(如需要) createrepo -o /var/rhel/Server -g /media/rhel/Server/repodata/comps-rhel5-server-core.xml /media/rhel/Server # 绑定生成的 repodata mount --bind /var/rhel/Server/repodata /media/rhel/Server/repodata 4. 清除缓存 yum clean all 验证 yum list available

2015年4月1日 · 1 分钟 · Jid

C++ man pages 的使用方法

前提:已安装 C++ man pages,参见上篇。 问题 man cout 提示 No manual entry for cout,无法直接查询 C++ 标准库函数。 解决方法 C++ man pages 按命名空间和头文件组织,查询格式为: man 命名空间::头文件名 示例 # 查询 cout —— 属于 std 命名空间,定义在 iostream 中 man std::iostream # 打开后按 /cout 搜索 # 查询 slist —— 属于 __gnu_cxx 命名空间 man __gnu_cxx::slist # 查询 vector man std::vector 与 C 语言 man pages 的对比 操作 C 语言 C++ 查询 printf man 3 printf — 查询 cout — man std::iostream 后搜索 章节指定 man 2 open(系统调用) man std::vector 直接按函数名查 ✅ ❌ 需要知道所属头文件 注意:C++ man pages 由 Doxygen 生成,描述可能不如 C 的 man pages 详细。 ...

2015年3月16日 · 1 分钟 · Jid