标题：Debian
Debian简介
Debian-OpenLogo(2张)
广义的 Debian 是指一个致力于创建自由操作系统的合作组织，由于Debian项目众多内核分支中以 Linux 宏内核为主，而且 Debian开发者 所创建的操作系统中绝大部分基础工具来自于GNU 工程 ，因此 “Debian” 常指Debian GNU/Linux 。
非官方内核分支还有Preventa（Minix3微内核）、Dyson（Illumos混合内核）等。这些非官方分支都存在一些严重的问题，观赏性大于实用性，比如Minix3或者Hurd微内核在技术上不成熟，而Dyson则基础功能仍不完善。
“Debian” 正式发音为 /ˈdɛ.bi.ən/ ，Debian 是国际化协作项目，官方未指定任何非英文名称。
版本记录
Debian的发行及其软件源有五个分支：旧稳定分支（oldstable）、稳定分支（stable）、测试分支（testing）、不稳定分支（unstable）、实验分支（experimental）。
当前的稳定分支即squeeze（即下一个旧稳定分支），测试分支即wheezy（即下一个稳定分支），所有开发代号均出自Pixar的电影《玩具总动员》。
Debian GNU/Linux历史版本一览表版本号以及代号
发布日期
玩具总动员的对应角色
主要特点
0.01至0.91
1993年8月至1994年1月 
0.93R5
1995年3月 
0.93R6
1995年11月 
1.1 Buzz
1996年6月17日 
巴斯光年 
使用Linux内核2.0
1.2 Rex
1996年12月12日
暴龙 
1.3 Bo
1997年6月2日
放羊的女孩 
2.0 Hamm
1998年7月24日
小猪扑满
2.1 Slink 
1999年3月9日
玩具狗
APT问世
2.2 Potato 
2000年8月15日
Potato Head先生
3.0 Woody 
2002年7月19日
胡迪，电影主角之一的牛仔
3.1 Sarge
2005年6月6日
绿色塑胶玩具士兵的首领 
4.0 Etch
2007年4月8日
玩具黑板 
5.0.0 Lenny
2009年2月14日 
望远镜 
6 squeeze 
2011年2月16日 
三只眼睛的绿色大嘴玩具外星人
当前的稳定分支
7 wheezy
预计2013年初
一只带着领结的玩具企鹅
8 Jessie
—
阿薛/席德，隔壁的男孩，玩具终结者

软件管理
一，APT以及dpkg常见用法如下：　
功能
具体语句
软件源设置
/etc/apt/sources.list
更新软件源数据
apt-get update
更新已安装软件
apt-get upgrade
更换系统版本
apt-get dist-upgrade
通过安装包或卸载包来修复依赖错误
apt-get -f install
搜索软件源数据
apt-cache search foo
解压安装软件包
apt-get install foo
 重新安装软件包 apt-get --reinstall install foo删除软件包释放的内容
apt-get remove foo
卸载软件，同时清除该软件配置文件
apt-get --purge remove foo
删除不需要的包
apt-get autoclean
删除所有已下载的包
apt-get clean
自动安装编译一软件所需要的包
apt-get build-dep foo
APT——Advanced Package Tool 功能
具体语句
示例
显示DEB包信息
dpkg -I /path/to/foo_version-revision.deb
显示DEB包文件列表
dpkg -c /path/to/foo_version-revision.deb
安装DEB包
dpkg -i /path/to/foo_version-revision.deb
安装DEB包（指定根目录）dpkg --root=<directory> -i /path/to/foo_version-revision.deb显示所有已安装软件
dpkg -l
显示已安装包信息
dpkg -s foo
只需获取软件可升级状态则dpkg –get-selections foo
显示已安装包文件列表
dpkg -L foo
卸载包
dpkg -r foo
卸载软件包并删除其配置文件
dpkg -P foo
重新配置已安装程序
dpkg-reconfigure foo
dpkg-reconfigure tzdata
dpkg-reconfigure locales
dpkg——package manager for Debian从软件源中编译软件流程（适用于少量代码改动或者配置修改）功能
具体语句
示例
获取源码
apt-get source foo
apt-get source rox-filer
安装编译依赖
apt-get build-dep foo
apt-get build-dep rox-filer
解压源码
dpkg-source -x foo_version-revision.dsc
dpkg-source -x rox_2.11-3.dsc
修改源码部分
vi ROX-Filer/src/main.c
创建包
cd foo-version 
dpkg-buildpackage -rfakeroot -b
cd rox-2.11 
dpkg-buildpackage -rfakeroot -b
修改软件可升级状态
echo -e "foo hold" | dpkg --set-selections
echo -e "rox-filer hold" | dpkg --set-selections
二，用dpkg解包打包（或者修改包）的简单用法
1，新建必要文件control
mkdir -p dirname/DEBIAN（dirname名随意，将生成的usr bin lib之类的文件复制到dirname目录下，dirname/为伪根目录）
编辑dirname/DEBIAN/control，最简陋的格式如下：
Package:foo
Version: version-revision
Architecture: amd64
Maintainer: xxx
Priority: extra
Description: xxx
2，生成DEB包
dpkg -b dirname foo_version-revision_arch.deb （为了便于管理包名应遵循DEB包命名格式）
3，解压DEB包安装文件部分
mkdir newpkg && dpkg -X foo_version-revision_arch.deb newpkg/
4，解压DEB包控制信息部分
mkdir newpkg && cd newpkg && dpkg -e ../foo_version-revision_arch.deb
5，用ar命令解压DEB包
mkdir newdir
cd newdir && ar x foo_version-revision_arch.deb
三，添加常用软件管理命令简短别名
软件管理是一个现代操作系统的基本功能，使用十分频繁，因此有必要设置简短的别名，仅字符界面有效添至~/.profile，仅图形界面有效添至~/.bashrc，比如
alias i="apt-get install"　　alias k="qemu-system-x86_64 -enable-kvm"　　alias l="dpkg -l | grep"　　alias la="ls -a"　　alias ll="ls -lha --time-style=long-iso"　　alias s="apt-cache search"　　alias r="apt-get --purge remove"　　alias u="apt-get update;apt-get upgrade"　　alias y="lunar --utf8 $(date +%Y\ %m\ %d)"
中文设置
中文显示安装常用字体
apt-get install xfonts-unifont
mkdir ~/.fonts/ && cp simsun.ttc ~/.fonts/　　
使用位图字体
ln -s /etc/fonts/conf.avail/70-yes-bitmaps.conf /etc/fonts/conf.d/70-yes-bitmaps.conf && rm /etc/fonts/conf.d/70-no-bitmaps.conf
终端显示调整
编辑 ~/.Xdefaults，添加
XTerm*background: grey20
XTerm*foreground: white
XTerm*faceName: unifont.pcf
XTerm*utf8Title: true
或者编辑 ~/.Xdefaults，添加
XTerm*background: grey20
XTerm*foreground: white
XTerm*faceName: DejaVu Sans Mono:pixelsize=13
XTerm*faceNameDoublesize: SimSun:pixelsize=13
XTerm*utf8Title: true　中文输入1，从官方源中安装ibus-pinyin或者fcitx-pinyin等
apt-get install ibus-pinyin（或者apt-get install fcitx-pinyin）　　2，添加ibus启动或者fcitx启动，vi ~/.xinitrc，添加
#输入法无关部分　　export LC_CTYPE=en_US.UTF-8
eval `dbus-launch --sh-syntax --exit-with-session`
#输入法相关部分　　export XMODIFIERS=@im=ibus
export GTK_IM_MODULE=ibus
exec ibus-daemon -xr &
（或者
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
exec fcitx &
）　　
精简桌面
一，虚拟机安装由于GNU/Linux软件匮乏，而VMware（或者QEMU等）提供了一个良好的虚拟环境，所以通过虚拟机使用Debian GNU/Linux是一个很好的选择。
创建虚拟机，虚拟磁盘设置4G左右即可，全部作为根分区，文件系统使用ext4。打开 ftp://ftp.debian。org/debian/dists/sid/main/installer-amd64/current/images/netboot/mini.iso 进入安装界面,根据提示安装完毕，重启进入Debian GNU/Linux。
安装基本工具：　　dhclient eth0
apt-get update
apt-get install xserver-xorg-input-evdev xserver-xorg-video-vmware xterm xinit
apt-get install build-essential linux-headers-$(uname -r) libncurses-dev intltool libtool libz-dev uuid-dev nasm axel bc dos2unix lunar sdcv mktorrent alsa-utils mplayer recordmydesktop qemu
mount /dev/sr0 /mnt/
tar xpf /mnt/VMwareTools-*.tar.gz -C .
vmware-tools-distrib/vmware-install。pl
umount /mnt
rm -rf vmware-tools-distrib
startx
安装Firefox：
axel -n 20 http://cdimage.debian。org/pub/mozilla。org/firefox/releases/latest/linux-x86_64/zh-CN/firefox-x.x.x.tar。bz2
tar xpf firefox-x.x.x.tar。bz2 -C /XX/XX/
tar xpf install_flash_player_11_linux_x86_64.tar.gz libflashplayer。so
mkdir -p ~/.mozilla/plugins/
mv libflashplayer。so ~/.mozilla/plugins/
#指定flash字体
修改/etc/fonts/conf.d/49-sansserif.conf，将第三个sans-serif改为中文字体
#设置默认浏览器
将 export BROWSER=/xx/xx/firefox/firefox 添至~/.xinitrc
#添加Firefox图标
vi ~/.local/share/applications/firefox.desktop
[Desktop Entry]　　Encoding=UTF-8　　Version=1.0　　Type=Application　　NoDisplay=true　　Exec=/path/to/firefox %U　　Icon=/path/to/mozicon128.png　　Name=Firefox
安装spacefm
（具体信息参看spacefm主页）
apt-get install desktop-file-utils libudev-dev udisks hicolor-icon-theme（gnome-icon-theme对于绝大部分程序外观是必须的，所以如果不用GTK3程序，需提取gnome-icon-theme中的usr/icons/gnome至~/.icons/）
wget -O spacefm.tar.gz https://github。com/IgnorantGuru/spacefm/tarball/master
tar xpf spacefm.tar.gz
cd IgnorantGuru-spacefm-*
mv distros/debian .
dpkg-buildpackage -b -uc
dpkg -i ../spacefm_0.8.6-1_amd64.deb
使用默认的 Clearlooks 主题并设置字体
apt-get install gtk2-engines gtk2-engines:i386（32位的主题引擎）
vi ~/.gtkrc-2.0
gtk-font-name="DejaVu Sans 10"
gtk-theme-name="Clearlooks"
设置一个鼠标主题
vi ~/.Xdefaults
Xcursor.theme: windows二，实体机安装与虚拟机安装不同的是这里引导ISO（CD1较常用），并且显卡替换为实体机显卡，其余类似。毫无疑问，实体机中的Debian GNU/Linux性能将更强劲。
网络上有各种分区方案，但其实分两区（全部ext4）即可：
/ 10G左右，不使用桌面环境5G足矣
/home或者/root 剩余全部，用来存放个人数据和编译软件
也可以只分一个根分区，系统重装时保留用户文件夹/home和/root，其余文件全部删除三，桌面环境一般情况下，直接使用官方CD中附带的完整桌面环境即可，比如GNOME。由于当前桌面环境集成度极低，即使如此还夹杂许多花瓶式软件，因此有必要选择简洁实用的桌面组合，比如openbox+spacefm和dwm+ranger。
适于简洁桌面的一些常见软件有：虚拟终端xterm、下载工具axel和utorrent（闭源软件，mktorrent生成种子）、irc客户端chatzilla（firefox插件）、办公软件永中Office、图片查看编辑软件mtPaint、文本编辑器vim-tiny、集成开发环境geany、音乐播放处理aqualung、电影播放处理mplayer、屏幕录像软件recordmydesktop。
常见问题
一，自动登录以root为例，其余用户类似
1，/etc/inittab
1:2345:respawn:/sbin/getty38400 tty1 -a root
2，/etc/rc.local
touch /root/.tmpfs/X
3，/root/.profile
if [ -f /root/.tmpfs/X ]
then
rm /root/.tmpfs/X && /usr/bin/startx
fi二，基本vimrcset encoding=utf-8　　set fileencoding=utf-8　　set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1　　set history=1000　　set linespace=1　　set listchars=tab:▸\ ,eol:¬　　set nobackup　　set nocompatible　　set termencoding=utf-8三，Geany相关apt-get install build-essential libgtk2.0-dev libwxgtk2.8-dev nasm geany
几个编译命令：
ASM: nasm -f elf64 -o "%e.o" "%f" && ld -s -e main -o "%e" "%e.o" && rm "%e.o"
C: cc -o "%e" "%f" -std=c89 -Wall -O3 -Os -s `pkg-config --cflags --libs gtk+-2.0`
CPP: c++ -o "%e" "%f" -std=c++0x -Wall -O3 -Os -s `wx-config --cxxflags --libs`　　四，BASH提示符一个显示当前绝对路径的例子
export PROMPT_COMMAND='echo -ne "\e[1m\e[31m${PWD} \e[32m$(date +%H:%M:%S\ %u\ %d/%m)\e[0m\n"' #添至~/.xinitrc或~/.bashrc等文件
export PS1="" #添至~/.bashrc或者直接修改/etc/bash.bashrc五，MPlayer修改~/.mplayer/config
ao=alsa
af=volnorm,volume=5
font="SimSun"
subcp=utf8
杂七杂八
由于许多Debian相关词条内容缺失，所以暂时添加一些繁琐的内容附在后面　一，引导方式1、SYSLINUX
安装引导，以下三选一即可　 
①syslinux for vfat/ntfs GNU/Linux平台
fdisk /dev/sdX 
syslinux -i -d/dir /dev/sdXn 
cat mbr.bin > /dev/sdX　 
注意激活syslinux安装文件夹所在分区　 
②syslinux for fat16/fat32/ntfs Windows平台 
syslinux -i -a -m -d/dir X:　 
③syslinux for ext2/ext3/ext4/btrfs（不支持开启压缩的btrfs文件系统） 仅GNU/Linux平台　 
fdisk /dev/sdX　 
mkdir -p /xxx/extlinux　 
extlinux -i /xxx/extlinux 
cat mbr.bin > /dev/sdX　 
注意激活extlinux安装文件夹所在分区　 
复制文件：　 
主要是libcom32.c32、libutil.c32、chain.c32、memdisk和vesamenu.c32这五个文件，访问syslinux官方网站获取其他模块具体使用方法。　 
编辑菜单：
TIMEOUT 300 
UI vesamenu.c32 
MENU BACKGROUND syslinux_splash.jpg
#引导vmlinuz和initrd.gz
LABEL Debian Installer/Rescuer 
KERNEL /vmlinuz append initrd=/initrd.gz
#引导ISO镜像
LABEL Debian Installer/Rescuer
KERNEL memdisk raw iso append initrd=/debian-6.0.7-amd64-CD-1.iso
#引导软盘
LABEL Debian Installer/Rescuer
KERNEL memdisk append initrd=floppy.img
#引导grub4dos
LABEL GRUB4DOS
KERNEL /grub.exe
2、GRUB2（速度慢，不灵活但功能全，适于硬盘主引导）
引导硬盘主系统菜单
menuentry 'Debian -- The Universal Operating System' { 
set root='(hd0,msdos1)' 
linux /vmlinuz root=/dev/sda1 ro quiet
initrd /initrd.gz 
}
使用其他分区引导
menuentry 'Other Bootloader' { 
set root='(hdX,msdosY)' 
chainloader +1
}
安装至磁盘主引导或者分区引导 
mkdir grub2u 
mount -t ext4 /dev/sdXY grub2u/ 
grub-install --root-directory=grub2u/ --no-floppy /dev/sdX(Y) 
vi grub2u/boot/grub/grub.cfg二，字体~/.fonts.conf　　<fontconfig>
<match>
<test name="family"><string>sans-serif</string></test>
<edit name="family" mode="prepend" binding="strong">
<string>DejaVu Sans</string>
<string>SimSun</string>
</edit>
</match>
<match>
<test name="family"><string>serif</string></test>
<edit name="family" mode="prepend" binding="strong">
<string>DejaVu Serif</string>
<string>SimSun</string>
</edit>
</match>
<match>
<test name="family"><string>monospace</string></test>
<edit name="family" mode="prepend" binding="strong">
<string>DejaVu Sans Mono</string>
<string>SimSun</string>
</edit>
</match>
</fontconfig>三，虚拟磁盘file initrd.img #查看文件类型
fdisk -l initrd.img #查看虚拟磁盘分区
mount -t <fs> -o loop,offset=<Start*Sector> initrd.img /mnt#挂载虚拟磁盘（raw格式）分区
cpio -i -d < initrd.img #cpio解压
find . | cpio --quiet -R 0:0 -o -H newc | gzip -9 > ../initrd.img #cpio压缩（常用在编译busybox后制作根文件系统中）四，bootstrap对于一个具体的平台来说，只能安装与当前内核相同架构的Debian系统（64位系统安装32位库后支持32位）。通过获取选定分支最新软件包重装系统，可以快速创建随身系统，用来做新软件测试等，类似网络安装。
简单使用流程如下（安装一个amd64架构、sid分支Debian GNU/Linux基础系统）：
Debian家族操作系统apt-get install debootstrap即可使用，非Debian家族操作系统（指任何其他GNU/Linux发行版）或者不想安装该软件
git clone git://anonscm.debian。org/d-i/debootstrap.git
apt-get install makedev
make -C debootstrap
vi debootstrap/debootstrap #将 /usr/share/debootstrap 替换为 ./debootstrap
./debootstrap/debootstrap --arch amd64 sid sid-dir ftp://ftp.debian。org/debian/ #获取基础系统，大约260MB（其中var/cache/apt/archives/目录下占60MB的139个deb包可以删除）
cd sid-dir
tar cpJf ../sid-dir.txz *
mount -t ext4 /dev/sda1 /mnt
tar xpf sid-dir.txz -C /mnt/
mount -t ext4 /dev/sda2 /mnt/home
（
修改 /mnt/etc/fstab如下：
/dev/sda1 / ext4 defaults,errors=remount-ro 0 1
/dev/sda2 /home ext4 defaults 0 2
/xxx/.swapfile swap swap defaults 0 0
tmpfs /xxx/.tmpfs tmpfs rw,nosuid,noexec,relatime,size=2097152k,mode=755 0 0
）
echo "en_US.UTF-8 UTF-8" > /mnt/etc/locale.gen
echo "DEBIAN" > /mnt/etc/hostname
echo“127.0.0.1 DEBIAN” >> /mnt/etc/hosts
cat /mnt/usr/share/zoneinfo/Asia/Chongqing > /mnt/etc/localtime #时区设置（BIOS时钟为本地时间）
echo "Asia/Chongqing" > /mnt/etc/timezone
echo -e "\n\nLOCAL" > /mnt/etc/adjtime
mount --bind /dev /mnt/dev
mount -t tmpfs /tmp /mnt/tmp
mount -t proc /proc /mnt/proc
mount -t sysfs /sys /mnt/sys
chroot /mnt /bin/bash
date -s "2012-12-31 07:00:00"
hwclock --systohc
passwd root
echo "nameserver 8.8.8.8" > /etc/resolv.conf
vi /etc/apt/sources.list
apt-get update && apt-get install locales
apt-get install linux-image-amd64 #安装内核或者使用自编译内核（apt-get install initramfs-tools && dpkg -i linux-image-x.x.x_x.x.x-1_amd64.deb）
apt-get install grub2　　五，编译内核一般个人配置内核编译时间在4分钟以内，生成内核小于2MB（不生成可加载模块）
tar xpf linux-x.x.x.tar.xz
cd linux-x.x.x && cp /boot/config-x.x.x .config
make menuconfig
make -j20 deb-pkg #临时使用只需安装linux-image-x.x.x_x.x.x-1_amd64.deb
几个常见用法：
① make localmodconfig #处理.config（取消当前运行内核未加载模块）
② sed -i 's/=m/=y/' .config #不生成可加载模块