[Debian] 用debootstrap安装Debian的流程

最大的社区版本,Ubuntu的发源地
回复
头像
lwaterl
帖子: 379
注册时间: 2007-08-24 17:46

[Debian] 用debootstrap安装Debian的流程

#1

帖子 lwaterl » 2012-02-29 21:45

本用的是arch,感觉很好,但用stumpwm时怎样都进不去,无耐转到Debian(原以为会和ubuntu一样很臃肿,外加陈旧 ; ubuntu11.10很不适应才转到了arch。当然事实证明我错的很离谱,把它们变的苗条没有想象中那么难,如下),但当时正好在看 ljj_jjl2008 的签名,发现了debootstrap,同时顺着贴子又看到了 自由建客 的squeeze的安装整理,心定,决定安装Debian。
其实最让我开心的是用debootstrap安装,就像是arch版的Debian。在清爽之极的同时还拥有强大的包后援(arch也不少)和社区(ubuntu的就是Debian的,哈哈哈~)。
==============================不想装嫩,但没办法我就是很嫩,所以我要说:好多地方我都不明白什么意思的如果下面有误人的地方请指出来===============================

主要参考:
http://forum.ubuntu.org.cn/viewtopic.php?f=165&t=292390
http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=338764
http://www.linuxsir.org/bbs/thread357685.html这个是安完后发现的,所以基本没有看
以及百度前十几页debootstrap的作者(google确实好用,但总抽)
=========================
我用的是Ubuntu11.10的光盘,很简单,放光盘,进ubuntu,选试用,把网连上,调好分辨率,打开终端,和一个新文档
给root设置密码及进入root模式:

代码: 全选

$ sudo passwd root 
设好后,进入root权限
$ su -
1.分区,并格式化 (这里所做的一切都改成你自己的,你想要的,如下面的sda,sda5 ,sda6,还有ext4格式)

代码: 全选

# cfdisk /dev/sda
分好后,格式化
# mkfs.ext4 /dev/sda5
# mkfs.ext4 /dev/sda6
2.建目录,挂载

代码: 全选

# mkdir -v /newdebian
# mount /dev/sda5 /newdebian
# mkdir -v /newdebian/home
# mount /dev/sda6 /newdebian/home
3.用derootstrap安装新基本系统

代码: 全选

安装derootstrap
# wget http://mirrors.163.com/debian/pool/main/d/debootstrap/debootstrap_1.0.26+squeeze1_all.deb  -------------我这里安装的是蝶变squeeze版本
# dpkg -i debootstrap_1.0.26+squeeze1_all.deb
运行debootstrap 安装基本系统,架构i386,版本代号 squeeze
# debootstrap --arch i386 squeeze /newdebian http://mirrors.163.com/debian/       --------改成自己挂的目录,架构,版本,选中的镜像
4.借用目录(/dev , /sys , /proc), 进入刚安好的新系统

代码: 全选

# mount -o bind /dev /newdebian/dev
# mount -o bind /sys /newdebian/sys
# mount -t proc proc /newdebian/proc
# chroot /newdebian
5.给新系统创建fstab文件

代码: 全选

这个文件在/etc目录下,这里我就是临时写一个能让系统启动的,具体其它(如sda2 , tmpfs等分区)的等新系统设置完了再写,现在写太麻烦,我这里是:
# cat >  /etc/fstab << "EOF"
> proc /proc proc defaults 0 0
> /dev/sda5 / ext4 defaults 0 1
> /dev/sda6 /home ext4 defaults 0 0
> EOF
6.创建sources.list文件(就是软件源,这里要是没设置,后面在这个新系统里就下不了软件了)

代码: 全选

# cat > /etc/apt/sources.list << EOF
#下面的“#”可不是上面在命令行的意思,而是把后面的注释掉,因为这里我只想用sohu的镜像
#deb http://mirrors.163.com/debian squeeze main contrib non-free
#deb http://security.debian.org/debian-security squeeze/updates main contrib non-free
#deb http://mirrors.163.com/debian squeeze-updates main contrib non-free
## deb http://mirrors.163.com/debian squeeze-proposed-updates main contrib non-free
#deb http://mirrors.163.com/debian-multimedia squeeze main non-free
#deb http://mirrors.163.com/debian-backports squeeze-backports main #contrib non-free

deb http://mirrors.sohu.com/debian squeeze main contrib non-free
deb http://security.debian.org/debian-security squeeze/updates main contrib non-free
deb http://mirrors.sohu.com/debian squeeze-updates main contrib non-free
# deb http://mirrors.sohu.com/debian squeeze-proposed-updates main contrib non-free
deb http://mirrors.sohu.com/debian-multimedia squeeze main non-free
deb http://mirrors.sohu.com/debian-backports squeeze-backports main contrib non-free

#deb http://ftp.tw.debian.org/debian squeeze main contrib non-free
#deb http://security.debian.org/debian-security squeeze/updates main contrib non-free
#deb http://ftp.tw.debian.org/debian squeeze-updates main contrib non-free
## deb http://ftp.tw.debian.org/debian squeeze-proposed-updates main contrib non-free
#deb http://ftp.tw.debian.org/debian-multimedia squeeze main non-free
#deb http://ftp.tw.debian.org/debian-backports squeeze-backports main contrib non-free

#deb http://ftp.cn.debian.org/debian squeeze main contrib non-free
#deb http://security.debian.org/debian-security squeeze/updates main contrib non-free
#deb http://ftp.cn.debian.org/debian squeeze-updates main contrib non-free
## deb http://ftp.cn.debian.org/debian squeeze-proposed-updates main contrib non-free
###deb http://ftp.cn.debian.org/debian-multimedia squeeze main non-free
#deb http://ftp.cn.debian.org/debian-backports squeeze-backports main contrib non-free

#deb http://ftp.debian.org/debian squeeze main contrib non-free
#deb http://security.debian.org/debian-security squeeze/updates main contrib non-free
#deb http://ftp.debian.org/debian squeeze-updates main contrib non-free
## deb http://ftp.debian.org/debian squeeze-proposed-updates main contrib non-free
#deb http://ftp.cn.debian.org/debian-multimedia squeeze main non-free
#deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
7.导入多媒体源公钥(要不一会更新源,最后会提示没有公钥)(你要是忘了,后面安也行http://forum.ubuntu.org.cn/viewtopic.php?f=165&t=363996

代码: 全选

# cd /tmp
# wget http://ftp.tw.debian.org/debian-multimedia/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2010.12.26_all.deb
# dpkg -i debian-multimedia-keyring_2010.12.26_all.deb
# rm debian-multimedia-keyring_2010.12.26_all.deb
# cd -
8.更新源

代码: 全选

# aptitude update
# aptitude full-upgrade
9.设置语言

代码: 全选

上面执行aptitude full-upgrade后会提醒语言没设,咱就设一下(主要是不知在哪个贴子(百度上的)看到说要在设置locales前要设一下)
# export LC_ALL="zh_CN.UTF-8"
# export LANG="zh_CN.UTF-8"      -------------这步用不用忘了 ,反正用命令“ # locale ”看一下,除了LANGUAGE,其它后面没带"zh_CN.UTF-8" 的全弄上
# export LANGUAGE=zh_CN:zh_SG:zh_TW:zh_HK:zh:en_US:en    -----------好像不用这么多的,我不懂了,两个贴子上的全放上
# aptitude full-upgrade   ------------也是我自做主张加上的
10.安装本地化设置的包locales

代码: 全选

# aptitude install -R locales
# dpkg-reconfigure locales
在弹出的对话框中选中:
en_US.UTF8
en_US.ISO-8859-1
带zh_CN……打文头的
为了和前面的LANGUAGE=zh_CN:zh_SG:zh_TW:zh_HK……对应上,把zh_TW , zh_HK , zh_BIG 也选上吧
上面选好回车后,又出现个让你选的,这回选 zh_CN.UTF-8
额,选择/取消 用空格键
11.键盘设置

代码: 全选

# aptitude install -R console-data kbd-compat
如果上面弹出框时选择设置有误,不用担心,可以再次配置
# dpkg-reconfigure console-data
12.內核映象配置文件

代码: 全选

# cat > /etc/kernel-img.conf << EOF
# Kernel image management overrides   这行和下行的“ # ”是注释
# See kernel-img.conf(5) for details
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
EOF
13.系统引导器(grub)

代码: 全选

# aptitude install grub-pc   -------------------如果没有其它系统,可以把“ -R ”带上 ,也就是可以不安 os-prober ,它是用来发现其它系统的
这样直接“ aptitude install grub-pc ”安完后,如果有其它系统(如win7)它就会自发现,并给你配置好
14.安装內核

代码: 全选

首先看下都有什么內核
# apt-cache search linux-image
我是用amd的但內存也不超3G ,用32位的,就选686了    ,这里特别感谢nmsfan,当时安到这步才想起自己不知用哪个,nmsfan给力援助
# aptitude install -R linux-image-2.6.32-5-686
安完后grub2会提示找到了新的內核,并自动配置好启动文件
15.设置cpu自动调节(若你不知道自己cpu对应的模块,这步就忽略掉,等系统设置完了再弄,比如安cpufrequtils 这个不多说了,我arch流程贴中特别说了一下,可以去看http://forum.ubuntu.org.cn/viewtopic.php?f=155&t=363101

代码: 全选

# echo "powernow_k8" >> /etc/modules
16.一些必安软件和设置
我的联网方式是asdl,即拨号方式,所以安装pppoeconf ,方便。
# aptitude install -R pppoeconf
# vi /etc/network/interfaces -----------在其中加入下面两行:
auto lo
iface lo inet loopback
如果是别的联网方式,要设置/etc/network/interfaces,我没用过,就不多说了

更改hostname, 用你想用的主机名
# echo ABC > /etc/hostname
# vi /etc/hosts ----------------------确认你这个文件里有下面这一行,注意,“ABC”位置你上面和下面的必须要一样
127.0.0.1 localhost ABC

设置ROOT密码,要是没设,你重启后就登陆不了系统了
# passwd root

退出chroot
# exit
17.收尾

代码: 全选

卸载
# umount /newdebian/{dev,sys,proc}
# umount /newdebian/home
# umount /newdebian

退出root权限
# exit
===========================================================自此,一个全新的,可用的系统安装完毕============================
重启系统(我还要把我的ubuntu11.10的光盘从光驱中拿出来)

以下你可以看或不看,但建意看下 :em04 ,反正也没几句
1.你若是不用nano的话

代码: 全选

#aptitude purge nano tasksel tasksel-data 
2.安装一些必要的软件http://www.archlinux.org/groups/i686/base-devel/这里面所属“Core”组的全安
如果你习惯用sudo,还要安sudo: # aptitude install -R sudo 设置上网搜一下吧,arch的wiki新手指南中也有

3.关于xorg,及开源驱动

代码: 全选

我安xorg的时候,自动全给安上了(我的是ati)------ 现明白驱动没有问题,是因为KMS,如果你的KMS给不了你想要(应得)的分辨率。我现在知道的唯一方法就是把它关掉,那么你就要再次面对驱动了,这设置在我这很简单。想看更具体的驱动內容,见文尾“Debian/Ubuntu关于显卡驱动和KMS的一些资料”链接
# aptitude install -R xorg
4.Fvwm,我依然用Fvwm,也认为fvwm很好,当然最有可能是我懒,我还没用过*box 。不过不得不说fvwm的坚挺。从ubuntu到arch再到Debian,一个配置走天下,省劲啊,从没遇到过不兼容(自身的不算,在哪里都那样)。(当然,现在想学下CommonLisp,所以想感受感受stumpwm,悲催的是slime死活是启动不了=.=)

5.若用alsa声显的话,只安alsa-utils就可以了,因alsa在內核已集成

代码: 全选

# aptitude install -R alsa-utils
安完后用:
$ alsamixer 就可以设置声音了 
设置完别忘保存设置,即ESC出来后,执行
# alsactl store
6.设置时钟模式、时区及时间同步

代码: 全选

# vi /etc/default/rcS 
UTC=yes     ------ (如果不想用UTC,就是 UTC=no )
接着设置时区:
# dpkg-reconfigure tzdata
我选的是 Asia/Chongqing  (列表挨的近,要是选上海,要把列表拉到S……的位置,浪费电,浪费资源,肿么没有北京?)
设置好了,较准下时间:
# aptitutde install -R ntpdate
安完后,执行:
# ntpdate cn.pool.ntp.org
同步后,把时间写入硬件:
# hwclock -w

上面提到的一些设置,及可用软件可参考http://forum.ubuntu.org.cn/viewtopic.php?f=155&t=363101
Debian/Ubuntu关于显卡驱动和KMS的一些资料(主ati)http://forum.ubuntu.org.cn/viewtopic.php?f=165&t=366466
上次由 lwaterl 在 2012-03-23 13:31,总共编辑 9 次。
cncjm
帖子: 35
注册时间: 2011-08-08 18:37

Re: [Debian] 用debootstrap安装Debian的流程

#3

帖子 cncjm » 2012-03-01 0:47

:em05 不是编译,太没技术含量了。。。
头像
lovebluesky
帖子: 487
注册时间: 2010-02-03 17:09

Re: [Debian] 用debootstrap安装Debian的流程

#4

帖子 lovebluesky » 2012-03-01 8:32

mark
openSUSE+xfce 13年初开始用,可能要成为我用的最久的linux系统了
之所以xfce的官方理由是他轻便简洁
非官方理由是穷,没钱换高配电脑
继续为了买了mac但任性的换装openSUSE而奋斗!
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: [Debian] 用debootstrap安装Debian的流程

#5

帖子 YeLee » 2012-03-01 8:36

不错 :em11 :em11 :em11
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: [Debian] 用debootstrap安装Debian的流程

#6

帖子 自由建客 » 2012-03-01 14:19

不错!解释两点:

环境变量 LANGUAGE 决定软件界面为何种语言。可按先后顺序取多值,各值以冒号相隔。这对英文界面想必意义不大,但对中文意义重大。
很多软件简体汉化不全但繁体汉化较全,或干脆没有简体只有繁体。此时可设置该变量,令软件自动用繁体补足简体未汉化的部分。 gpicview 便是其中一例。

代码: 全选

清目重建
# rm -rf "${DEBIAN_INS_DIR}/"{tmp,var/run,var/lock}
# mkdir "${DEBIAN_INS_DIR}/"{tmp,var/run,var/lock}
你没设置 DEBIAN_INS_DIR 变量,谁要是复制你这段去执行会出问题的。
因为我将 /tmp、 /var、 /var/lock 挂载为内存盘,所以才有了这步。至于其作用,不解释。
头像
lwaterl
帖子: 379
注册时间: 2007-08-24 17:46

Re: [Debian] 用debootstrap安装Debian的流程

#7

帖子 lwaterl » 2012-03-02 9:22

自由建客 写了:不错!解释两点:

环境变量 LANGUAGE 决定软件界面为何种语言。可按先后顺序取多值,各值以冒号相隔。这对英文界面想必意义不大,但对中文意义重大。
很多软件简体汉化不全但繁体汉化较全,或干脆没有简体只有繁体。此时可设置该变量,令软件自动用繁体补足简体未汉化的部分。 gpicview 便是其中一例。

代码: 全选

清目重建
# rm -rf "${DEBIAN_INS_DIR}/"{tmp,var/run,var/lock}
# mkdir "${DEBIAN_INS_DIR}/"{tmp,var/run,var/lock}
你没设置 DEBIAN_INS_DIR 变量,谁要是复制你这段去执行会出问题的。
因为我将 /tmp、 /var、 /var/lock 挂载为内存盘,所以才有了这步。至于其作用,不解释。
谢耐心的查看
终于明白了设置LANGUAGE的用处(都说是设置语言,但细节说的一个都没找到)
从你贴复制过来时想改成“ /newdebian/{tmp,var/run,var/lock} ”的,没想到给落下了,仅把“卸载”步的目录改了。但既然这步对我这个过程没有作用,我就直接把“清目重建”去掉了(自己安的时候,不明白,跟着做了一下,哈哈)
罗非鱼
帖子: 980
注册时间: 2008-04-12 12:44

Re: [Debian] 用debootstrap安装Debian的流程

#8

帖子 罗非鱼 » 2012-08-01 20:02

root@debian:/home/tiger# debootstrap --arch i386 squeeze /newdebian http://mirrors.163.com/debian/
I: Retrieving Release
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Found additional required dependencies: insserv libbz2-1.0 libdb4.8 libslang2
I: Found additional base dependencies: libnfnetlink0 libsqlite3-0
I: Checking component main on http://mirrors.163.com/debian...
I: Validating libacl1
I: Validating adduser

I: Extracting libblkid1...
I: Extracting libuuid1...
I: Extracting mount...
I: Extracting util-linux...
I: Extracting liblzma2...
I: Extracting xz-utils...
I: Extracting zlib1g...
I: Installing core packages...
W: Failure trying to run: chroot /newdebian dpkg --force-depends --install /var/cache/apt/archives/libc6_2.11.3-3_i386.deb
总是有这样的错误,请问,如何解决?
头像
photor
论坛版主
帖子: 11004
注册时间: 2008-04-26 12:41

Re: [Debian] 用debootstrap安装Debian的流程

#9

帖子 photor » 2012-08-01 20:23

罗非鱼 写了:root@debian:/home/tiger# debootstrap --arch i386 squeeze /newdebian http://mirrors.163.com/debian/
I: Retrieving Release
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Found additional required dependencies: insserv libbz2-1.0 libdb4.8 libslang2
I: Found additional base dependencies: libnfnetlink0 libsqlite3-0
I: Checking component main on http://mirrors.163.com/debian...
I: Validating libacl1
I: Validating adduser

I: Extracting libblkid1...
I: Extracting libuuid1...
I: Extracting mount...
I: Extracting util-linux...
I: Extracting liblzma2...
I: Extracting xz-utils...
I: Extracting zlib1g...
I: Installing core packages...
W: Failure trying to run: chroot /newdebian dpkg --force-depends --install /var/cache/apt/archives/libc6_2.11.3-3_i386.deb
总是有这样的错误,请问,如何解决?
换成官方源 :em09
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: [Debian] 用debootstrap安装Debian的流程

#10

帖子 自由建客 » 2012-08-01 22:16

罗非鱼 写了:root@debian:/home/tiger# debootstrap --arch i386 squeeze /newdebian http://mirrors.163.com/debian/
I: Retrieving Release
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Found additional required dependencies: insserv libbz2-1.0 libdb4.8 libslang2
I: Found additional base dependencies: libnfnetlink0 libsqlite3-0
I: Checking component main on http://mirrors.163.com/debian...
I: Validating libacl1
I: Validating adduser

I: Extracting libblkid1...
I: Extracting libuuid1...
I: Extracting mount...
I: Extracting util-linux...
I: Extracting liblzma2...
I: Extracting xz-utils...
I: Extracting zlib1g...
I: Installing core packages...
W: Failure trying to run: chroot /newdebian dpkg --force-depends --install /var/cache/apt/archives/libc6_2.11.3-3_i386.deb
总是有这样的错误,请问,如何解决?
不动任何东西,就地重来,再运行一遍 debootstrap ... 。
topzdx
帖子: 11
注册时间: 2013-10-15 11:15
系统: debian 7

Re: [Debian] 用debootstrap安装Debian的流程

#11

帖子 topzdx » 2014-03-01 19:00

借用楼主宝地吐个槽。

看到debootstrap,觉得不错,可以搞个ubuntu debian 双系统,在ubuntu 13.10中试用cdebootstrap 安装 debian jessie , 不行。用 debootstrap , 可以,不过不能用 jessie的名字,只能用 testing , 无所谓了。

装完重启(没有装GRUB的提示),新系统没有,老的也没有,GRUB 进入RESCUE 模式。
用第二台机,找 RESCUE 模式 命令,能 ls (hd0,msdos1)/boot/grub/i386-pc , 看到很多mod 文件。
但用 insmod 命令不行。

只好手工去下 debian jessie (testing) 的 netinstall ISO 文件, cat ***.ISO | of=/dev/sdb bs=1024
(这个命令如有可优化之处请赐教),完后BIOS中设个U盘启动,装完DEBIAN TESTING ,含GRUB2
),两个系统都好了......

-----------
,花了一晚带一天下载ISO(网速不高)修复系统启动。对debootstrap 很失望。


才看到有个签名档说骑马驯马之谈,从DEBIAN 3 WOODY 开始骑马,没想到昨天掉下马来了 ;-)
回复