debian软件包管理

转自:http://baike.sogou.com/v63691049.htm


ubuntu继承与debian,管理方法一致。


实用命令:
1.dpkg -S /bin/ls 查询文件属于哪个deb包

2.dpkg -s linux-image-generic 显示已安装包的信息

3.dpkg -l 列出已安装的全部deb包

4.dpkg -L 列出已安装包文件列表

5.dpkg -i 安装deb包

6.dpkg --contents 列出指定deb包的内容

1.
root@ubuntu13:~# dpkg -S /bin/ls
coreutils: /bin/ls
root@ubuntu13:~# 

2.
root@ubuntu13:~# dpkg -s linux-image-generic
Package: linux-image-generic
Status: install ok installed
Priority: optional
Section: kernel
Installed-Size: 33
Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>
Architecture: amd64
Source: linux-meta
Version: 3.11.0.12.13
Depends: linux-image-3.11.0-12-generic, linux-image-extra-3.11.0-12-generic, 

linux-firmware
Description: Generic Linux kernel image
 This package will always depend on the latest generic kernel image
 available.
root@ubuntu13:~# 

3.
root@ubuntu13:~# dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                Version                          


Architecture Description
+++-===================================-================================-


============-=================================================
==============================
ii  accountsservice                     0.6.34-0ubuntu6                  amd64      


  query and manipulate user account information
ii  acpid                               1:2.0.18-1ubuntu2                amd64      


  Advanced Configuration and Power Interface event 
daemon
ii  adduser                             3.113+nmu3ubuntu2                all        


  add and remove users and groups
ii  apparmor                            2.8.0-0ubuntu31                  amd64      


  User-space parser utility for AppArmor
ii  apport                              2.12.5-0ubuntu2                  all        


  automatically generate crash reports for debuggin
g
ii  apport-symptoms                     0.20                             all        


  symptom scripts for apport
...

4.
root@ubuntu13:~# dpkg -L linux-image-generic
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/linux-image-generic
/usr/share/doc/linux-image-generic/copyright
/usr/share/doc/linux-image-generic/changelog.gz

root@ubuntu13:~# 


  Debian是一款能安装在计算机上使用的操作系统 (OS)。操作系统就是能让您的计算机工作的一系列基本程序和实用工具。由于Debian采用了 Linux Kernel (操作系统的核心),但是大部分基础的操作系统工具都来自于 GNU 工程, 因此又称为 GNU/Linux。Debian GNU/Linux 附带了超过 29000 个软件包,这些预先编译好的软件被包裹成一种良好的格式以便于在您的机器上进行安装。让Debian支持其他内核的工作也正在进行,最主要的就是 Hurd,Hurd 是一组在微内核 (例如 Mach))上运行的提供各种不同功能的守护进程

  Debian的发行及其软件源有五个分支:旧稳定分支(oldstable)、稳定分支(stable)、测试分支(testing)、不稳定分支(unstable)、实验分支(experimental)。

  当前的稳定分支即wheezy(即下一个旧稳定分支),测试分支即Jessie(即下一个稳定分支),所有开发代号均出自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年5月4日

  一只带着领结的玩具企鹅

加强MultiArch

  8 Jessie

预计2015年

  玩具总动员第二部中的角色,是一个女牛仔

 
Sid 每日更新 席德,隔壁的男孩,玩具终结者 软件较新,稳定性好,但是安全性稍差

  一,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

  修改源码部分

 

  nano 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/为伪根目录)

  nano dirname/DEBIAN/control,最简陋的格式如下:

  Package: foo

  Version: version-revision

  Architecture: amd64

  Maintainer: xxx

  Priority: extra

  Description: xxx

  2,生成DEB包

  dpkg-deb -b --new -Zxz -z9 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,比如

  export LC_MESSAGES=en_US.UTF-8

  alias a="apt-get install"

  alias b="dpkg-deb -b --new -Zxz -z9"

  alias c="apt-get check;apt-get autoremove;apt-get autoclean;apt-get clean"

  alias i="dpkg -i"

  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 m="mktorrent -a <tracker announce url>"

  alias s="apt-cache search"

  alias r="apt-get --purge remove"

  alias u="apt-get update;apt-get upgrade"

中文显示

  安装常用字体

  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

  或者nano ~/.Xdefaults,添加

  XTerm*background: grey20

  XTerm*foreground: white

  XTerm*faceName: DejaVu Sans Mono:pixelsize=13

  XTerm*faceNameDoublesize: SimSun:pixelsize=13

  XTerm*utf8Title: true

中文输入

  1,从官方源中安装fcitx-pinyin或者ibus-pinyin等

  apt-get install fcitx-pinyin(或者ibus-pinyin)

  2,添加ibus启动或者fcitx启动,nano ~/.xinitrc,添加

  #输入法无关部分

  export LC_CTYPE=en_US.UTF-8

  export LC_MESSAGES=zh_CN.UTF-8

  eval `dbus-launch --sh-syntax --exit-with-session`

  #输入法相关部分

  export XMODIFIERS=@im=fcitx

  export GTK_IM_MODULE=fcitx

  exec fcitx &

  (

  或者

  export XMODIFIERS=@im=ibus

  export GTK_IM_MODULE=ibus

  exec ibus-daemon -xr &

  )

一、虚拟机安装

  由于GNU/Linux软件匮乏,而VMware(或者QEMU等)提供了一个良好的虚拟环境,所以通过虚拟机使用Debian GNU/Linux是一个很好的选择。

  创建虚拟机,虚拟磁盘设置4G左右即可,全部作为根分区,文件系统使用ext4。打开 ftp://ftp.debian。org/debian/dists/sid/main/installer-amd64/current/images/netboot/mini.iso 进入安装界面,根据提示安装完毕。

  安装基本工具:

  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 libgtk2.0-dev libgtk-3-dev libdbus-glib-1-2 nasm dosbox bison axel bc r-base dos2unix lunar mktorrent alsa-utils mplayer cgroup-bin gifsicle medit recordmydesktop qemu

  mount /dev/sr0 /mnt/

  tar fxp /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 fxp firefox-x.x.x.tar。bz2 -C /XX/XX/

  tar fxp 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图标

  nano ~/.local/share/applications/firefox.desktop

  [Desktop Entry]

  Encoding=UTF-8

  Version=1.0

  Type=Application

  NoDisplay=true

  Exec=cgexec -g memory:m /path/to/firefox %U #挂载内存控制组 mount -t cgroup -o memory memcg /sys/fs/cgroup/,创建内存管理组 cgcreate -g memory:m ,限制程序使用内存 echo 200M > /sys/fs/cgroup/m/memory.limit_in_bytes ,然后使用 cgexec -g memroy:m progname 限制内存方式执行程序

  Icon=/path/to/mozicon128.png

  Name=Firefox

  安装spacefm

  (具体信息参看spacefm主页)

  apt-get install desktop-file-utils libudev-dev udisks hicolor-icon-theme(gnome-icon-theme对于绝大部分程序外观是必须的,所以如果不用GTK+3程序,需提取gnome-icon-theme中的usr/icons/gnome至~/.icons/)

  wget https://raw.github。com/IgnorantGuru/spacefm/master/packages/0.8.7/spacefm-0.8.7.tar.xz

  tar fxp spacefm-0.8.7.tar.xz

  cd spacefm-0.8.7

  mv distros/debian .

  dpkg-buildpackage -b -uc

  dpkg -i ../spacefm_0.8.7-1_amd64.deb

  rm /usr/share/applications/spacefm-*.desktop

  echo inode/directory=spacefm.desktop\; >> ~/.local/share/applications/mimeapps.list

  使用默认的Clearlooks主题并设置字体

  apt-get install gtk2-engines gtk2-engines:i386(默认的32位主题引擎)

  nano ~/.gtkrc-2.0

  gtk-font-name="DejaVu Sans 10"

  gtk-icon-theme-name="gnome"

  gtk-theme-name="Clearlooks"

  设置GTK+3主题(确定已安装相应的主题引擎)

  ln -s ~/.themes/xxx/gtk-3.0 ~/.config/gtk-3.0

  设置一个鼠标主题

  nano ~/.Xdefaults

  Xcursor.theme: Golden-3D

二、实体机安装

  与虚拟机安装不同的是这里引导ISO(CD1较常用),并且显卡替换为实体机显卡,其余类似。毫无疑问,实体机中的Debian GNU/Linux性能将更强劲。

  网络上有各种分区方案,但其实分两区(全部ext4)即可:

  / 10G左右,不使用桌面环境5G足矣

  /home或者/root 剩余全部,用来存放个人数据和编译软件

  也可以只分一个根分区,系统重装时保留用户文件夹/home和/root,其余文件全部删除

三、桌面环境

  一般情况下,直接使用官方CD中附带的完整桌面环境即可,比如GNOME。由于当前桌面环境集成度极低,即使如此还夹杂许多花瓶式软件,因此有必要选择简洁实用的桌面组合,比如fvwm+spacefm和dwm+ranger

  适于简洁桌面的一些常见软件有:虚拟终端xterm、下载工具axelutorrent( 闭源软件,mktorrent生成种子)、irc客户端chatzillafirefox插件)、图片查看编辑软件gimp、文本编辑器vim-tiny和medit、媒体播放处理mplayer、屏幕录像软件recordmydesktop、PDF阅读器evince、办公套件libreoffice

自动登录

  以root为例,其余用户类似

  1,/etc/inittab

  1:2345:respawn:/sbin/getty38400 tty1 -a root

  2,/etc/rc.local

  touch /tmp/X

  3,/root/.profile

  [ -f /tmp/X ] && rm /tmp/X && /usr/bin/startx

基本的VIM-tiny设置

  nano ~/.vimrc

  set 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 noexpandtab

  set shiftwidth=4

  set softtabstop=4

  set tabstop=4

  set termencoding=utf-8

基本的MPlayer设置

  nano ~/.mplayer/config

  af=volnorm,volume=5

  ao=alsa

  cache=10240

  font=SimSun

  osdlevel=3

  overlapsub=1

  quiet=yes

  stop-xscreensaver=yes

  sub-fuzziness=1

  subfont-autoscale=1

  subfont-osd-scale=5

  subfont-text-scale=6

  subcp=utf8

  vo=x11

  xy=800

  zoom=yes

省电设置

echo OFF > /proc/acpi/bbswitch

  echo 1 > /sys/module/snd_hda_intel/parameters/power_save

  for f in /sys/class/scsi_host/host*/link_power_management_policy; do echo min_power > $f; done

  for f in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $f; done

  #echo 700 > /sys/class/backlight/intel_backlight/brightness #调节屏幕亮度,可在窗口管理器中添加快捷键快速调节

1,cpu频率调节设置

ondemand

2,将bbswitch编入内核

cp bbswitch.c linux-3.13/drivers/acpi/

sed -i "403s/DEVICE_ACPI_HANDLE/ACPI_HANDLE/" linux-3.13/drivers/acpi/bbswitch.c

sed -i "52iacpi-y\t\t\t\t+= bbswitch.o" linux-3.13/acpi/Makefile

Openbox基本设置

mkdir -p ~/.config/openbox && cp /etc/xdg/openbox/rc.xml ~/.config/openbox/rc.xml

  添加4个基本的快捷键

  F1 打开终端

  Ctl+F1 退出

  Alt+F1 重启

  Mod+F1 关闭窗口

lunar提供的Solar2Lunar函数可以提供公历农历转换

  <keybind key="W-F1">

  <action name="Close"/>

  </keybind>

  <keybind key="A-F1">

  <action name="Restart"></action>

  </keybind>

  <keybind key="C-F1">

  <action name="Exit"><prompt>no</prompt></action>

  </keybind>

  <keybind key="F1">

  <action name="Execute"><command>xterm</command></action>

  </keybind>

  由于许多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-7.0.0-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)

  nano 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打包后用gzip压缩

  一个busybox制作初始化文件系统简单例子如下:

  #编译安装

  wget http://www.busybox。net/downloads/busybox-snapshot.tar。bz2

  tar fxp busybox-snapshot.tar。bz2

  cd busybox

  make allyesconfig

  sed -i '137s/$/ dl/' Makefile.flags

  sed -i '921d;929,930d' procps/top.c

  make -j 20

  make install

  #修改文件(/lib64/ld-linux-x86-64。so.2复制到lib64/,其余库文件复制到lib/)

  cd _install

  mkdir etc

  cp -r ../examples/bootfloppy/etc/init{.d,tab} etc/

  rm linuxrc && touch etc/fstab

  cat > init << EOF

  #!/bin/sh

  /bin/mkdir /sys  && /bin/mount -t sysfs -o nodev,noexec,nosuid sysfs /sys

  /bin/mkdir /proc && /bin/mount -t proc -o nodev,noexec,nosuid proc /proc

  /sbin/mdev -s

  /bin/echo /sbin/mdev > /proc/sys/kernel/hotplug

  for f in \$(/bin/cat /proc/cmdline);do [ ! -z "\$(/bin/echo \$f | /bin/grep ^root= | /bin/sed 's/^root=//')" ] && export root="\$(/bin/echo \$f | /bin/grep ^root= | /bin/sed 's/^root=//')";done

  [ -z "\$root" ] && exec /sbin/init || (/bin/mount -t ext4 \$root /root || /sbin/zpool import -f \$root) && exec /sbin/switch_root /root /sbin/init #打开busybox或者在挂载EXT4ZFS以获取新根目录后转到工作系统的init重新初始化

  EOF

  chmod 755 init

  find . | cpio --quiet -R 0:0 -o -H newc | gzip -9 > ../initrd.img

  #测试文件

  qemu-system-x86_64 -enable-kvm -kernel /boot/vmlinuz -initrd ../initrd.img

  显然,使用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

  注意,debootstrap运行时需要bash脚本MAKEDEV

  make -C debootstrap

  nano debootstrap/debootstrap #将 /usr/share/debootstrap 替换为 ./debootstrap

  ./debootstrap/debootstrap --exclude=aptitude,aptitude-common,tasksel,tasksel-data --include=initramfs-tools --arch amd64 sid sid-dir ftp://ftp.debian。org/debian/

  cd sid-dir

  tar fcpJ ../sid-dir.txz *

  mount -t ext4 /dev/sda1 /mnt

  tar fxp 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

  #zfs、btrfs下dpkg读取速度慢的问题,将/var/cache/apt挂载到内存

  #tmpfs /var/cache/apt tmpfs noatime,nodev,noexec,nosuid,mode=0755 0 0

  #修改/etc/rc.local

  #/bin/ln -s /opt/apt/archives /var/cache/apt/archives

  #/bin/ln -s /opt/apt/lock /var/cache/apt/lock

  )

  echo -e "en_US.UTF-8 UTF-8\nzh_CN.UTF-8 UTF-8" > /mnt/etc/locale.gen

  echo "DEBIAN" > /mnt/etc/hostname

  echo“127.0.0.1 DEBIAN 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

  nano /etc/apt/sources.list

  apt-get update && apt-get install locales

  apt-get install linux-image-amd64 #安装内核或者使用自编译内核(dpkg -i linux-image-x.x.x_x.x.x-1_amd64.deb)

  apt-get install grub2 #使用syslinux引导需要建立相关链接(比如:ln -s /boot/vmlinuz-x.x.x /boo/vmlinuz)

  apt-get --purge remove bsdmainutils bsdutils libbsd0 #清除不规范的软件

五,编译内核

  通常软件新版本在性能上有大提升,尤其是内核以及某些应用软件(比如QEMU)。

  一般个人配置内核编译时间在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 #不生成可加载模块


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值