分类 Linux 下的文章

用mcelog检测硬件错误

mcelog是现代Linux(kernel version 2.6.30及以上版本)系统上一个检测硬件问题(CPU、内存、IO)的工具包,支持Linux x86和x64。通过其记录的日志,可以及时检测到已经发生但还没有引起系统崩溃的硬件错误。

安装

$sudo aptitude install mcelog

- 继续阅读 -

编译Linux内核

从Debian 5开始接触Linux,主要当桌面系统使用。最近在业余时间尝试了一下编译内核,记录一下主要步骤。

1. 准备工作

目前安装的系统是Debian testing,内核版本4.8.0,先将所有软件包升级到最新

$sudo aptitude update
$sudo aptitude upgrade

安装编译工具包

$sudo aptitude install build-essential

安装ncurse和ssl开发库

$sudo aptitude install libncurses5-dev libssl-dev

- 继续阅读 -

卸载旧版本Linux内核

Linux系统经过多次升级以后,会有很多旧版本的内核保存在硬盘,可以将这些不再使用的内核卸载,节省硬盘空间。

系统升级安装的内核

查看已安装的内核

$sudo dpkg -l | grep linux-image
$sudo dpkg -l | grep linux-headers

其中,linux-image-VERSION 是内核映像文件,linux-image-extra-VERSION 是内核扩展模块,linux-headers-VERSION 是内核头文件,VERSION 代表具体的内核版本号,比如

linux-image-4.8.0.2-amd64
linux-headers-4.8.0.2-amd64

确定要删除的内核版本,用下面的命令进行删除

$sudo aptitude purge linux-image-VERSION
$sudo aptitude purge linux-extra-VERSION
$sudo aptitude purge linux-headers-VERSION

更新 grub

$sudo update-grub2

手动编译安装的内核

从源码手动编译安装的内核版本,需要手动删除文件。查看所有可引导的 Linux 内核

$ls -l /boot

删除内核文件

sudo rm -rf /lib/modules/*VERSION*
sudo rm /boot/*VERSION*
sudo rm /var/lib/dpkg/info/linux-headers-VERSION*
sudo rm /var/lib/dpkg/info/linux-image-VERSION*
sudo rm -rf /usr/src/linux-headers-VERSION
sudo rm -rf /var/lib/initramfs-tools/VERSION

更新 grub

$sudo update-grub2

Setting up Proxy on Debian

Debian上并没有一个统一的"区域"或"选项"来设置代理服务器,有些桌面环境会提供这样的功能,或者使用软件自带的选项。不过系统中已经提供了一些预定义的环境变量(Environment Variable),可以通过这些变量来设定代理服务器地址。

- 继续阅读 -

diff and patch

diff是Linux系统上一个很重要的命令,用来查看两个文件或者目录之间的不同,是实现版本管理的基础,其算法基础是动态规划中的最长公共子序列,diff命令支持很多额外选项,最常用的是 -u 这个选项,即合并格式(Unified Format)的diff,此选项的输出格式可以被很多自动化工具识别并处理。

- 继续阅读 -