ubuntu系统debootstrap的使用

该文引自http://www.latelee.org/using-gnu-linux/ubuntu-debootstrap.html

debootstrap是debian/ubuntu下的一个工具,用来构建一套基本的系统(根文件系统)。生成的目录符合Linux文件系统标准(FHS),即包含了/boot、/etc、/bin、/usr等等目录,但它比发行版本的Linux体积小很多,当然功能也没那么强大,因此,只能说是“基本的系统”。

fedora下(centos亦可用)有类似功能的工具:febootstrap。观察这两个工具名称,可以看到debootstrap使用debian前缀“de”,而febootstrap使用fedora前缀“fe”,bootstrap含义为“引导”,并如果做过LFS的话,对它了解会比较多,而在编译gcc编译器时也有涉及到这个概念。不过debootstrap或febootstrap似乎没有表达出“引导”的意思。

制作根文件系统,在PC上最全面的莫过于LFS(linux form scratch,从头做一个linux系统),而嵌入式中,busybox是不二之选。当然,随着芯片的强大及一些linux发行版本的进化,也有桌面系统直接用于嵌入式领域中,比如ubuntu,就有支持硬件浮点的工具直接下载。

ubuntu默认没有安装debootstrap,安装十分简单,执行下列命令即可:

# sudo apt-get install debootstrap

使用也十分简单,命令格式为:

sudo debootstrap –arch [平台] [发行版本代号] [目录]

比如下面的命令

sudo debootstrap –arch i386 trusty /mnt

即是构建x86(32位)平台ubuntu最新发行版14.04(代号为trusty)的基本系统,存放到/mnt目录下。

当前debootstrap支持的发行版本可以在/usr/share/debootstrap/scripts查看,而各发行版代号,可以到http://en.wikipedia.org/wiki/List_of_Ubuntu_releases查看。比如gutsy是7.10的代号,precise是12.04的代号,等等。

输入上述命令后,就会从网络下载相关的文件,当看到

I: Configuring python-central…

I: Configuring ubuntu-minimal…

I: Configuring libc-bin…

I: Configuring initramfs-tools…

I: Base system installed successfully.

即表示成功。如果看到

E: Failed getting release file

http://archive.ubuntu.com/ubuntu/dists/trusty/Release

或卡在

I: Retrieving Release

则可能是网络原因。

下载的文件在/mnt/var下,如:

$ tree

.

├── debootstrap

│   ├── debootstrap.log

│   └── debpaths

└── var

├── cache

│   └── apt

│       └── archives

│           ├── adduser_3.113+nmu3ubuntu3_all.deb

│           ├── apt_1.0.1ubuntu2_i386.deb

其中adduser_3.113是14.04对应的adduser。从这里也可以确认其下载的是哪一发行版的软件。

下面使用chroot进入/mnt目录,并查看linux版本。

[email protected]:~$ cd /mnt/

[email protected]: /mnt$ ls

bin  boot  dev  etc  home  lib  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

[email protected]: /mnt$ sudo -s

[sudo] password for latelee:

[email protected]: /mnt# chroot .

[email protected]:/# ls

bin  boot  dev  etc  home  lib  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

[email protected]:/# cat etc/issue

Ubuntu 14.04 LTS \n \l

[email protected]:/# ls /proc/ -l

total 0

[email protected]:/# ifconfig

Warning: cannot open /proc/net/dev (No such file or directory). Limited output.

[email protected]:/# uname -a

Linux ubuntu 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 i686 i686 GNU/Linux

因为当然系统使用的并不这个新的系统,因此/proc并没有内容,而内核依然是当前系统所用的版本。

使用光盘不成功

W: Failure trying to run: chroot /home/latelee/test_sys mount -t proc proc /proc

W: See /home/latelee/test_sys/debootstrap/debootstrap.log for details

注:

本文并没有过多技术含量,仅是在学习过程中碰见了debootstrap而写点笔记。本文所用环境均是虚拟机vmware。

附录:

未完事宜:

限于时间,目前还没有实际启动新的系统。

一些涉及到ubuntu根文件系统构建的资源:

http://www.virtuatopia.com/index.php/Building_a_Debian_or_Ubuntu_Xen_Guest_Root_Filesystem_using_debootstrap

https://wiki.ubuntu.com/DebootstrapChroot

https://help.ubuntu.com/10.04/installation-guide/i386/linux-upgrade.html

http://www.thegeekstuff.com/2010/01/debootstrap-minimal-debian-ubuntu-installation/

http://askubuntu.com/questions/442610/debootstrap-warning-during-installation-12-04-lts-server-vmware-virtual-mach

https://help.ubuntu.com/lts/installation-guide/i386/index.html

查看ubuntu各发行版本wiki:

http://en.wikipedia.org/wiki/List_of_Ubuntu_releases

查看ubuntu安装包:

http://packages.ubuntu.com/

后记:本想写稍有点技术含量的文章,把过程所涉及到的知识点都提及,但发现自己文笔不复如前,还是按流水账那样写出来比较畅快些。

本文固定链接: http://www.latelee.org/using-gnu-linux/ubuntu-debootstrap.html

时间: 2025-01-02 19:03:03

ubuntu系统debootstrap的使用的相关文章

修改ubuntu系统默认语言

中文乱码 安装ubuntu系统的时候为了方便选择了中文,出现了问题. (1)在终端中中文会显示乱码,因此需要将默认语言改为英文. (2)报错中文显示,不好查找原因和解决办法 修改默认系统默认语言 (1)用vi(或nano等文本编辑器)打开 /etc/default/locale 文件 将原来的配置内容注释掉添加 LANG="en_US.UTF-8″ LANGUAGE="en_US:en" (2)如下操作 $ sudo vi /etc/default/locale (3)再在终

Ubuntu系统下的Mysql安装与使用

摘要 在本篇博文中,笔者将从基础出发,介绍Mysql在Linux环境下的安装和基本使用命令,仅适用于Mysql初学者,大牛请绕道-- 安装Mysql数据库 这里介绍最最简单的安装方式,至于编译安装,可以下载安装包, ./configure 生成Makefile,然后 make clean,  make , make test,  make install  我想这些命令应该很基本了吧,这里不再敖述. 1. 安装命令 [email protected]:~$ sudo apt-get instal

双系统下如何删除Ubuntu系统

这篇随笔说得是如何在双系统下删除Ubuntu系统. 前段时间为了体验Linux系统,就在win7系统的笔记本上装了一个Ubuntu. 现在我想把它删除掉,下面是删除的方法步骤: 1.安装并打开DiskGenius,如下图: 2.找到Ubuntu的分区,在找到的分区上单击右键→删除当前分区: 完成这一步,Ubuntu的系统就算是删除了. 3.接下来要修复MBR,操作如下图: 选择右上角菜单栏中的硬盘→重建主引导记录→是 到此新的MBR已经建立好了. 4.重启,就会发现没有了Ubuntu系统选项,操

ubuntu系统 编译libxml2的库是遇到如下错误

大家好:     我买了细说PHP书来学习.在搭建环境时使用的是ubuntu系统 编译libxml2的库是遇到如下错误, In function 'open',     inlined from 'xmlNanoHTTPSave__internal_alias' at nanohttp.c:1588:12: /usr/include/x86_64-linux-gnu/bits/fcntl2.h:51:24: error: call to '__open_missing_mode' declare

ubuntu系统下安装gstreamer的ffmpeg支持

当您在安装gstreamer到您的ubuntu系统中时,为了更好地进行流媒体开发,需要安装ffmpeg支持,但一般情况下,直接使用 sudo apt-get install gstreamer0.10-ffmpeg 会提示安装不成功. 我们在前应当添加PPA到您的系统,更新本地存储索引,然后再进行安装: sudo add-apt-repository ppa:mc3man/trusty-media sudo apt-get update sudo apt-get install gstreame

Ubuntu 系统搭建php服务器 用ssh 远程操作

一:在桌面下载xshell客户端连接 ,vmavar 上的 Ubuntu系统,遇到的问题跟大家分享一下,希望大家少走弯路 Ubuntu系统默认没有ssh server 要安装 apt-get install openssh-server 服务端程序 apt-get install openssh-client 客户端程序 查看是否启动 ps -e|grep ssh ps -e 是查看系统进程 看到sshd 说明ssh-server 已经启动 sshd 的开启与关闭 sudo /etc/init.

6.5 系统打开缓慢,怎么办?---更新Ubuntu系统

早早的来公司打开电脑,希望看到Ubuntu能启动成功.可是,当我重启后,使用Ubuntu系统,打开界面速度非常慢,当时,又怀疑自己安装出错了.而且,6.2日Ubuntu系统的工作日志又没了.无奈,我把这件事情和leader说明了下情况,因为害怕自己今天还不能搞定Ubuntu系统. leader解释,6.2日Ubuntu系统之所以保存的文件,6.5日再次重启电脑,找不到文件,是因为,6.2日登录的是使用guess用户登录,不需要输入密码即可登录.而6.5日是安装后,需要输入用户名和密码,所以,进入

ubuntu系统用ROOT用户登陆

ubuntu系统用ROOT用户登陆教程: 1.打开终端,首先使用命令sudo passwd root  接着输入密码 2.输入su - 切换用户权限 3.两种配置的方式 1)可以新建lightdm.conf 文件 $gedit /etc/lightdm/lightdm.conf 在其中填写入如下的内容,然后重启,选择“登陆”输入root用户密码: [SeatDefaults] user-session=ubuntu greeter-show-manual-login=true 2)也可以编辑50

魅族Pro5运行Ubuntu系统遭曝光

近日有一张疑似魅族Pro5运行Ubuntu系统的图片遭到爆光,运行的Ubuntu系统版本为15.04,不过魅族官方并没有对此进行回应.Ubuntu系统的优势在于,无需依赖传统APP来填满你的主屏,通过Ubuntu的Scope,你可以将自己最关心的内容直接呈现到你的主屏,你查询的内容和服务无需隐藏在迷宫般的APP网格背后. 在操作上,Ubuntu给用户带来了全新的体验,大多数手机操作都可依靠上下左右的滑动来完成.然而像Ubuntu这样的小众手机系统仍然仅仅是一些发烧友用来尝鲜的,实际拿来做主力机使