📄 zip-install.html
字号:
==> cp /boot/map /mnt/floppy
==> cp /usr/src/linux/arch/i386/boot/zImage /mnt/floppy/vmlinuzDESK
现在为了建立 LILO 的 config 档案,我忘了要有 liloconfig 这个程式 (感谢
Javier Rodriguez 提供这资料)。 首先给在 ZIP 磁片上的那些核心建立 LILO
的 config 档案 (/mnt/floppy/lilo.conf)。 下面是我使用的,能让我同时有不
同的核心可测试:
______________________________________________________________________
boot=/dev/fd0
map=/mnt/floppy/map
install=/mnt/floppy/boot.b
prompt
compact
timeout=50
image=/mnt/floppy/vmlinuzLAP
label=Laptop
root=/dev/sda1
read-only
image=/mnt/floppy/vmlinuzDESK
label=Desktop
root=/dev/sda1
read-only
image=/mnt/floppy/vmlinuzDESK
label=rescue
root=/dev/hdc1
read-only
______________________________________________________________________
我有两个核心,一个是给需要在核心中有数学模拟程式的笔记型 486,另一是
给我桌上型电脑用。 其中 rescue 是为了让我可紧急开机到硬碟上。
最後,在软碟仍然挂载时,执行 LILO 去安装到软碟上:
==> lilo -C /mnt/floppy/lilo.conf
一旦 LILO 被安装好在磁片上,跳过下面两个步骤,除非你喜欢再做一遍。
3.3.2.2. 单独核心的安装
---------------------------------------------------------------
NOTE:这不适於 LILO 的安装。
---------------------------------------------------------------
拷贝新造的核心(kernel)到软碟上:
==> cp arch/i386/boot/zImage /dev/fd0
或
==> cat arch/i386/boot/zImage > /dev/fd0
是的,虽然有许多方法可以拷贝核心到磁碟片上,但最後的方法是有一些神□,
也是我的最喜欢的。 试著不要忘记 '>',除非你喜欢看二元档案。 :)
3.3.2.2.1. 设定软碟的根目录(root)和 swap
---------------------------------------------------------------
NOTE:这不适合於 LILO 的安装。
---------------------------------------------------------------
一旦核心在软碟上,你需要设定根目录设备(root device)到 ZIP磁片上:
==> rdev /dev/fd0 /dev/sda1
我不确定下一个选项是否必要,但我不管如何还是做了:
==> rdev -s /dev/fd0 /dev/sda2
------------------------------------------------------------------
译注:
根据作者的 ZIP 磁片分割法,/dev/sda1 是 Linux 的分区,/dev/sda2
是 swap 分区,若你的方法不同时,则必须改变 sda 後的数字为正确的分
区号码(Partition number)。
-------------------------------------------------------------------
4. Red Hat 4.2 的安装
任何跟电脑有关的东西,三个月的可被认为是过时且需要更新。 因为我无法
总是有时间随著新版的推出而更新本文件,我会尽我最大的努力试著做到至少
每二版更改一次。 至於其他的发行版(Distribution),除非作者们愿意送更
新的来,它们将维持跟现在的内容一样。
4.1. 个人的设备
在安装时,我拥有且使用
. Kernel 2.0.30
. Imoega ppa disk drive (印表机埠版的 ZIP 机)
. Red Hat 4.2
4.2. 套件((Package)的安装
当我第一次试图安装 Red Hat 到一片 ZIP 磁片时,我觉得直接使用 Red Hat
的安装(启动)磁片(boot disk)会比较容易。 然後我做了。 我做到非常接近到
建立一个开机磁片,甚至经由 email 从 Red Hat 里许多的人那得到帮助。 但
最後在我发现 rpm 中有 '--root' 的选项时,我开始放弃这整个计划。
4.2.1. 要安装那些套作(Package)
在阅读在一个我在 Red Hat 的备份站(Mirror)上找到的一个档案时,我发现那些
是要安装的套件。 那个档案可以在任何备份站(Mirror)上的
redhat/redhat-4.2/i386/RedHat/base/comps
内找到。
在这安装中,我想要包含网路的支援。 但因为 Red Hat 的 X视窗网路设定方
式,我将必须手工调整,或是相当手动地试著去设定在 /etc/sysconfig/ 内的
网路设置工作稿件(Network setup script)。(参照 4.3.3 节)
至少在没有用特殊修改的核心版本(Kernel version)下,在 ZIP 机中编译任何
程式是相当慢的,所以我决定不安装任何的发展软体套件(Development package)。
基於空间的考量,我也选择不安装 X视窗系统。 稍後,我会试图去挂上硬碟并建
立一个与 /usr 的符号连接(Symlink, Symbolic link),看看我是否可让 X视窗运
作。
下面以安装的顺序列出我安装的套件名单。 那些有打星号的表示从 Red Hat
的勘误(Errata)中有更新。 在括弧中则是更新的套件号码。
例如,NetKit-B-0.09-6 被更新到 NetKit-B-0.09-8,所以内容将是:
*91) NetKit-B-0.09-6 (-8)
______________________________________________________________________
(此表是执行命令 rpm --root /iomega -qa 所产生)
1) setup-1.7-2 2) pamconfig-0.51-2
3) filesystem-1.3-1 4) MAKEDEV-2.2-9
5) adduser-1.7-1 6) libc-5.3.12-18
7) SysVinit-2.64-8 8) ash-0.2-8
9) at-2.9b-2 10) libtermcap-2.0.8-4
11) bash-1.14.7-1 12) bc-1.03-6
13) bdflush-1.5-5 14) cpio-2.4.2-4
15) cracklib-dicts-2.5-1 16) tmpwatch-1.2-1
17) crontabs-1.5-1 *18) db-1.85-10 (-11)
19) dev-2.5.1-1 20) diffutils-2.7-5
21) etcskel-1.3-1 22) file-3.22-5
23) fileutils-3.16-1 24) findutils-4.1-11
25) grep-2.0-5 26) groff-1.10-8
*27) ld.so-1.7.14-4 (-5) 28) getty_ps-2.0.7h-4
29) gzip-1.2.4-7 30) mingetty-0.9.4-3
*31) initscripts-2.92-1 (93-1) 32) ed-0.2-5
33) info-3.9-1 34) ncurses-1.9.9e-4
35) libg++-2.7.1.4-5 *36) pwdb-0.54-3 (-4)
37) rootfiles-1.5-1 *38) pam-0.57-2 (-4)
39) redhat-release-4.2-1 40) less-321-3
41) mount-2.5l-2 42) zlib-1.0.4-1
43) rpm-2.3.11-1 44) e2fsprogs-1.10-0
45) sysklogd-1.3-15 46) tar-1.11.8-11
47) passwd-0.50-7 48) gawk-3.0.2-1
49) gdbm-1.7.3-8 50) gpm-1.10-8
51) hdparm-3.1-2 52) kbd-0.91-9
53) slang-0.99.37-2 54) newt-0.8-1
55) kbdconfig-1.4-1 56) ncompress-4.2.4-7
*57) sh-utils-1.16-4 (-5) 58) procinfo-0.9-1
*59) logrotate-2.3-3 (4-1) 60) lilo-0.19-1
61) losetup-2.5l-2 62) linuxthreads-0.5-1
*63) mkinitrd-1.6-1 (7-1) 64) mailcap-1.0-3
*65) man-1.4h-5 (j-1) 66) mt-st-0.4-2
67) modules-2.0.0-5 68) mailx-5.5.kw-6
69) net-tools-1.32.alpha-2 70) procmail-3.10-10
71) procps-1.01-11 72) psmisc-11-4
73) quota-1.55-4 74) readline-2.0-10
75) sed-2.05-6 76) setconsole-1.0-1
77) sendmail-8.8.5-4 78) shadow-utils-960530-6
79) stat-1.5-5 80) tcsh-6.06-10
81) termcap-9.12.6-5 82) textutils-1.22-1
83) time-1.7-1 84) timeconfig-1.8-1
85) util-linux-2.5-38 86) vim-4.5-2
87) vixie-cron-3.0.1-14 88) which-1.0-5
89) zoneinfo-96i-4 90) tcp_wrappers-7.5-1
*91) NetKit-B-0.09-6 (-8) *92) lpr-0.18-1 (19-1)
*93) bind-4.9.5p1-2 (9.6-1) *94) bind-utils-4.9.5p1-2 (9.6-1)
*95) wu-ftpd-2.4.2b12-6 (b15-1) 96) anonftp-2.3-3
97) zip-2.1-1 98) unzip-5.12-5
99) statserial-1.1-7 100) minicom-1.75-2
101) lrzsz-0.12.14-1 102) dip-3.3.7o-9
103) ppp-2.2.0f-3 104) portmap-4.0-3
105) perl-5.003-8 *106) traceroute-1.0.4.4bsd-2 (1.4a5-1)
*107) elm-2.4.25-7 (-8) 108) lynx-2.6-2
109) ncftp-2.3.0-5 110) pine-3.95-2
111) rdate-0.960923-1 112) apache-1.1.3-3
*113) nfs-server-2.2beta16-7 *114) nfs-server-clients-2.2beta16-7
(2.2beta16-8) (2.2beta16-8)
______________________________________________________________________
而且在安装上面的全部後,我仍然剩下 32MB。
4.2.1.1. 更新; 勘误
正如许多的 Red Hat 使用者知道,部分的套件可能被发现有一些安全漏洞,或
任何其他会引起争论发生的问题。 基於这个理由,Red Hat给这些套件发行更
新。 我已经更新那些我安装且有更新的套件,并且在上述的名单中标上星号。
请参考关於更新套件的Red Hat网页:
http://www.redhat.com/support/docs/rhl/rh42-errata-general.html
---------------------------------------------------------------------
NOTE:
在你可以更新那些套件前,你将必须如 3.3.1.1 中描述一样执行
ldconfig 。
----------------------------------------------------------------------
4.2.2. 如何在使用 rpm 而不用 glint 下安装
在 rpm 中,使用 --root 选项去特定挂载目录为安装置的根目录。 因为安装前
(Preinstall)和安装後(Postinstall)的执行稿(Script)基於不同的根目录而无法
正确地被执行,我已发现有许多套件无法安装。 所以使用 --noscripts 选项:
==> rpm --root /iomega -i --noscripts PACKAGE.i386.rpm
我肯定许多人会注意到,你会得到一个错误讯息像:
______________________________________________________________________
failed to open /iomega/var/lib/rpm/packages.rpm
error: cannot open /iomega/var/lib/rpm/packages.rpm
______________________________________________________________________
所以,只要建立 var/lib/rpm 的目录:
==> mkdir /iomega/var; mkdir /iomega/var/lib; mkdir /iomega/var/lib/rpm
4.2.3. 那个先来, pamconfig 或 pam ?
假如任何人试图安装 pamconfig ,它将会抱怨关於 pam 的错误附属性(Depen-
dency);当你再试著安装 pam 抱怨关於 pamconfig 的错误附属性! 这像鸡生
蛋、蛋生鸡问题一样困扰我一阵子,但要感谢 --nodeps 这个旗帜,我们可以强
迫 pamconfig 被安装; 除了 pamconfig 外,pam 另外有更多的错误附属性。
==> rpm --root /iomega -i --nodeps --noscripts pamconfig-0.51-2
4.3. 套件安装後的问题
一旦所有的东西都安装好後,不幸的是,这磁片并不是功能完整的,假如可以这
麽说的话。 我的意思是,假如你现在试著从软磁开机的话,你将会没有多少进
展。 一旦 init 试著开始,你将会得到两个可爱的错误; 两个执行稿被运行且
会抱怨找不到已经安装的某些档案。
4.3.1. 找不到 /etc/ld.so.cache 和 libc.so.5 的问题
假如你试著开机,你会得到两个错误,第一个是 /etc/ld.so.cache 档案失踪,
第二个是抱怨找不到 libc.so.5 。
4.3.1.1. /etc/ld.so.cache
如许多读者所提到,我以前的方法并不是如所说的会动。 为了建立这个档案,
当 ZIP 磁片还挂载时,你将必须执行 ldconfig:
==> chroot /iomega; /sbin/ldconfig
感谢 Javier Rodriguez 的解答。
4.3.1.2. libc.so.5
为了解决找不到 lib 的问题,你将必须建立一个安装执行稿应该做的符号联结
(Symlink):
==> cd /iomega/lib; ln -s libc.so.5.3.12 libc.so.5
感谢 Darcy Boese 的解答。
4.3.2. 设定 root 的密码
正如在 4.3.1.1 中执行 ldconfig 一样,你可能也要为新系统改变或建立
root 的密码:
==> chroot /iomega; passwd root
4.3.4. 安装程式所建立的东西
------------------------------------------------------------------
NOTE:
这是一个非常简单的设定,一个我尚未能够测试是否会工作的。 理
论上应该会,但请不要送我不会动的抱怨。
------------------------------------------------------------------
当我翻阅我的 Red Hat 4.2 光碟片时,我看到一些相当有趣的东西; 安装程
式的原始程式码。 我发现它在 /misc/src/install 和一个有用的 net.c 。
在里面,我发现安装程式执行时,建立的那些档案。 大部分只是产生网路支
援(为什麽叫 net.c),即使你没有网路卡,你仍然可用 localhost 当做网路
(加上 Apache 会抱怨无法决定主机名称(hostname))。 这些档案包含:
/etc/hosts
/etc/HOSTNAME
/etc/resolv.conf
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
(or any other network device you may have.)
(或你可能有的其他网路装置。)
4.3.4. 网路的设定
本文中,我需要有给我的 3COM 3c595 快速乙太网路卡的网路支援。 (这卡
在前几个月中被用在另一部机器上。)
首先,我需要一个名字,且因我跑一个自己的 Name Server (这又是另一个
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -