a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 93|回复: 1

[综合辅导] Linux辅导:浅谈ubuntu之DIY发行版

[复制链接]
发表于 2012-8-4 12:07:07 | 显示全部楼层 |阅读模式
二十一世纪到了,每小我都强调自己的个性,于是一种叫做DIY的工具悄然兴起。
  I/ V- J' r& f  操作系统作为全人类聪明的结晶,自然DIY起来难度极大,因而DIY出一个操作系统成就感绝对比买宜家的工具的成就感大。
8 d" H  r+ n) @1 ~7 X2 E) b2 b  为了不至于从头起头编写一个操作系统,我们当然把采用现成的操作系统作为一个底线。
, V3 M! @3 V' \6 m, ^" Q+ L  当然,我们可以经由过程LFS让我们爽到底,可是,能够做到LFS的人可真的是放缦惬麟角。而且更主要的是LFS简直在挑战我的忍耐水平。
4 {" O9 {& H3 Q  我的这篇文章,教巨匠若何DIY一个自己的ubuntu刊行版。在很是节约时刻的情形下,达到耍酷的目的。
* P4 ^5 h. L8 P$ Y0 d4 P2 S  就好比LFS一样,我们需要一个创作基地。我们首先成立一个变量。成立这个变量的益处很较着,即使你不用~/diy_ubuntu这个目录,一样可以照着这个文章继续做下去。, |" G% W9 [0 n+ n: t/ }
  $ export WORK=~/diy_ubuntu
  j& A1 A4 ?7 ]7 X& }; A) o  $ mkdir -p $WORK0 I/ ?! L& r1 M  N" y9 l
  然后我们把光盘镜像文件挂到/mnt0 a: [6 O3 N6 s# [4 O' Z; c" k
  $ sudo mount -t iso9660 -o loop dapper-live-i386.iso /mnt
% _4 ?0 b" {/ c2 Y  $ cd $WORK( E$ M$ n% e( j8 p, I
  复制文件光盘文件
/ ?3 t' W  h  l! ]! j' I  $ mkdir ubuntu-livecd, t- _, q6 T$ J* h; R; u
  $ cp -a /mnt/. ubuntu-livecd) H( F+ a# r3 S) Y$ t2 N  B) m5 ?
  $ chmod -R u+w ubuntu-livecd
# _, G" {( E0 D3 p3 L: X  $ sudo umount /mnt5 i2 m; Y  S2 ^/ \$ o3 l
  因为光盘中包含了良多windows下面的自由软件,我们来把不需要的文件删除。当然你可以保留。* X, z& e! t3 f% y: ?8 ]5 }
  $ rm -rf $WORK/ubuntu-livecd/programs
% G" s4 Y1 y, m$ N  把光盘中的压缩文件挂起来,这个样辅往后你可以在$WORK/old目录中看到一个完整的linux操作系统的目录。
' v" r- L' p& v/ r  $ mkdir $WORK/old
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:07:08 | 显示全部楼层

Linux辅导:浅谈ubuntu之DIY发行版

  $ sudo mount -t squashfs -o loop,ro $WORK/ubuntu-livecd/casper/filesystem.squashfs $WORK/old2 o% {- M7 {6 J/ N% B& Q
  我们成立一个2GB巨细的文件系统,然后把这个文件算作一个设备文件名目化,结不美观系统给出了一个警告,别理会它,选择是就是。
, }. Z* X* A+ i% ~' z6 ]+ y( Z% g  n  $ sudo dd if=/dev/zero of=$WORK/ubuntu-fs.ext2 bs=1M count=2147
. `% Y  c* _2 q  $ sudo mke2fs $WORK/ubuntu-fs.ext2
8 M# D* f3 q) T8 @0 t8 n4 ~  然后我们把这个空文件系统挂起来。$ }5 u, v7 o* Y8 r6 g
  $ mkdir $WORK/new
' d9 b: ?) Q) R( M  $ sudo mount -o loop $WORK/ubuntu-fs.ext2 $WORK/new$ o% P: a/ g6 F) |# i
  复制linux操作系统的文件.因为我们事先获得的linux是压缩的,所以我们把它解压了。9 Q  J% f5 P. g+ o9 k0 A
  $ sudo cp -a $WORK/old/. $WORK/new( ~; G0 Z2 m5 O$ C4 m( ]
  当然此刻$WORK/old就没有用处了。废失踪它
+ j" H% G( q# m# q) ^  $ sudo umount $WORK/old
! z2 A& c/ A1 z5 H  我们首前进前辈入适才获得的阿谁操作系统
3 z+ e' n% C9 `" O; }- r5 v  $ sudo cp /etc/resolv.conf $WORK/new/etc/
6 {7 x8 W: o' n5 F9 d; h  $ sudo mount -t proc -o bind /proc $WORK/new/proc, w* m  N( L/ _& g$ l
  $ sudo chroot $WORK/new /bin/bash
! i, S( W2 H4 _* e  此刻你就进入辖档退,高喊linux for human beings,大炼ubuntu,想干什么就干什么。, k/ k( A( i0 |6 ?
  # vi /etc/apt/sources.list #选择适合你的源
+ ^" P  ]3 [' r- `/ Z) j  # apt-get update
( p0 ~) b& F1 e- j  # apt-get dist-upgrade
' ]1 V4 k4 D5 t' e/ E! q  # apt-get install 你想装的软件- L' q# k, x+ E$ f' Z: f% [1 N/ ~# T* N
  # apt-get clean& Y+ [& D( x6 R3 M5 q/ ~
  .... #更多的设置装备摆设
- b! m) p7 n8 s& D* ?  最后分开你的阿谁操作系统
3 I6 b; n- T# \; \# v5 ~  S  # exit
, _! Q$ l; T9 r* l7 C  $ sudo umount $WORK/new/proc
, H: T7 m: O. p  $ sudo rm $WORK/new/etc/resolv.conf0 T, ^0 B% i- ~" F2 [' P5 _
  此刻你已经回到了你的初始状况中4 D! _2 h( \' t. p
  把manifest从头整一遍9 {- v* W. L- |
  $ sudo chroot $WORK/new dpkg-query -W --showformat='${Package} ${Version}\n' > $WORK/ubuntu-livecd/casper/filesystem.manifest
1 r8 {6 [7 \7 ~2 j- V* O$ f  然后做一下“磁盘清理”5 C" m4 c5 _1 L# F
  $ sudo dd if=/dev/zero of=$WORK/new/dummyfile: G1 V( G; m- Z
  $ sudo rm $WORK/new/dummyfile
" s! ?$ g) L. X  从头压缩系统2 G8 s9 f: ^. x3 i. U5 U* s3 u" t
  $ sudo rm $WORK/ubuntu-livecd/casper/filesystem.squashfs0 l# I8 u' f# g4 ~- P( \! e
  $ cd $WORK/new
" t/ R; I' D7 E1 R# A9 b3 i  $ sudo mksquashfs . $WORK/ubuntu-livecd/casper/filesystem.squashfs5 f1 }( T% Q9 E+ Q
  你的改动都保留了。此刻把$WORK/new废失踪
- P' x' d2 e3 q6 \2 L( M# \  $ cd $WORK
, m) X& ~  i. B% m( y/ ~5 |  $ sudo umount $WORK/new/ K' D; F/ Z+ F1 \
  把文件的md5从头算一下( Y$ o  _- u" Q, s
  $ cd $WORK/ubuntu-livecd3 P- r: a3 N) N& Z
  $ sudo find . -type f -print0 |xargs -0 md5sum |sudo tee md5sum.txt! T" l6 T! M6 B9 z
  成立光盘镜像,呼吁很长,忍受着点。
0 s3 _# K$ z1 T, C* K3 @) X$ D  $ cd $WORK
* k$ [( i2 [9 o5 v0 ~1 d! v  $ sudo mkisofs -o ubuntu-new.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -V "My Cool Ubuntu Live CD" -cache-inodes -J -l ubuntu-livecd
4 B5 R3 p- g0 ]7 k& J: _% T. s  然后你就可以用iso把光盘烧了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-17 09:17 , Processed in 0.591520 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表