[修改回复]
删除回复
插入表情:
宋体
楷体
幼圆
黑体
隶书
华文行楷
方正舒体
Arial
Arial Black
Arial Narrow
Century Gothic
Comic Sans MS
#0000FF
#8A2BE2
#DEB887
#5F9EA0
#7FFF00
#000000
#D2691E
#FF7F50
#FF0000
#DC143C
#99ccff
字体颜色
#FFF8DC
#00FFFF
#EE82EE
#F5DEB3
#FFFFFF
#F5F5F5
#FFFF00
#9ACD32
使用帮助
Linux 网管 123 --- 第10章. 升级 Linux 及其他应用软体 -2.不使用 RPM 不使用 RPM 进行安装或升级 有时候您会发现需要安装或升级没有 RPM 套件可用的应用软体。 当然有可能要去做这个事 (事实上,在真实的 Unix 世界中这是 “预设”的状况),但除非必要否则我反对这麽做 (要 知道原因的话,查看 第10章,使用 Red Hat 套件管理程式 (RPM) ). 您需要从 tarball 上安装的任何东西, 一般通用的原则是将与系统有关的软体安装在 ``/usr/local/'' 下。 因此,原始的 tarball 要先解到 ``/usr/local/src/'' 下, 然後二进 位档可能会解到``/usr/local/bin'',还有他们的组态档会解到 ``/usr/local/etc/''。这样管 理工作会变得简单一些 (然而不像只有 RPM 的系统那麽简单)。 最後, 终端使用者会依他们自己的意愿将软体将 tarball 解到他们自己的 home 目录下。 最後从您自己信任的网站上下载 tarball ,变更到适当的上层目录然後按照下面例解开档案 (如果必要,以 root 身分): tar zxvpf cardgame.tar.gz 上面的指令会从例的 ``cardgame.tar.gz'' 压缩档解出所有的档案。 ``z'' 选项告知 tar 档 案库是由 gzip 所压缩 (所以如果您的 tarball 没有压缩的话,可以省略这个选项); ``x'' 选项 告诉 tar 从档案库中解出所有档案。 ``v'' 选项表示显示出已经解出的档名。 ``p'' 选项维持档 案库建立时的档案来源及权限。最後,``f'' 选项告诉 tar 下面接的是档名。不要忘了 tar 的选 项大小写不同。 警告: 就如 第8章,使用``tar'' 回存所提到的, 我建议先使用 ``t'' 选项显示档案库内容以 验原先的内容和真正解开的档案相同。这麽做可以避免解到非计划中的位置, 或更糟不慎覆盖 原有的档案。 一但 tarball 安装到适当的目录下,您几乎一定会找到新安装档内附的 ``README'' 或 ``INSTALL'' 档,有关如何准备使用该软体的进一步指示。 很可能您需要键入类似下面的指令: ./configure make make install 上面的指令将会组态软体以确定您的系统有所需的功能及函式馆可以成功地编译套件,编译所有的原始 档变成可执行的二进位档,然後将二进位档及其他支援档案安装到正确的位置。实际您需要进行的程序, 当然依您的软体套件而异,所以您应该阅读完所有内含的档案。 再一次,除非绝对必要,我真的建议可能的话避免使用 tarball 而选择 RPM 。 Linux 网管 123 --- 第10章. 升级 Linux 及其他应用软体 -3.保持系统处於最新状态的策略 随着时间的增加,您可能会从多地方听到有关 Linux 核心及应用程式的重大升级, 这些来源可能是杂,报纸,网页等。 一个可能是 Linux 管理者必须注意的最佳单一来源是 -- 注意 http://freshmeat.net/ 这个网页。 这一个网站的内容有新的开放来源应用软体及计划,文件,及 Linux 社群有兴 趣的通告。 另一个保持追踪新应用软体通告的来源是透过 comp.os.linux.announce 新闻群组。这一个 新闻群组包含有关 Linux 新应用软体,一些核心及应用软体的升级,网页等的通告。这是由 新闻群组本身所管理,因此会有很多“噪音”。 不是所有的产品升级通告都会贴到 comp.os.linux.announce,因此造访您所使用软体的网页 及 FTP 站也是一个好主意。 Linux 网管 123 --- 第10章. 升级 Linux 及其他应用软体 -4.Linux 核心的升级 随着时间的增加,您可能想要升级您的 Linux 核心,这可以让您维持新功能及修正错误, 或是让您的 Linux 在新的特定硬体上运作,或能有订核心所拥有的功能 。 这一节会描述升级和订新的核心。这不像您想的这麽难 ! 可以在很多来源获得新核心版本的通告, 包括在 comp.os.linux.announce 新闻群组,以及 在 http://freshmeat.net/ 和 http://slashdot.org/ 网页。 请注意目前有两组核心正在发展 -- 一组被认定为 “稳定” 版本, 另一组被认定 “发展中” 版本。对於重要的应用像是 Internet 伺服器, 高度建议选择稳定版本的核心而不要使用发展中 版本。 两组之间的不同点是,发展中的核心,尚未测试的硬体驱动程式,档案系统及其他“尖端” 发展 以渐进的原则被导入。这些核心是给骇客用的 -- 不在乎重新启动系统的人。 稳定的核心只导入完全测试过後的新功能及驱动程式。这一组中有少数是用来清除已被发现且更正 後的残馀问题。 这两组的版本编号不同用作分辨, 稳定版本的第二个数字是偶数 (例如. 2.0.35, 2.0.36, 2.2.4) , 发展中的版本第二数字是奇数 (例如. 2.1.120, 2.1.121, 2.3.0). 最新的稳定核心版本都可以在 ftp://ftp.redhat.com/redhat/updates/ FTP 站得到预先编译好的格 式。下载您所要的系统及版本的核心套件 (例如, 您会想在 ``/6.1/i386/'' 目录下搜寻及下载给 Intel 系统的6.1版本 ``kernel-*.i386.rpm'' )。 注意: 除非您打算自定自己的核心,否则不需要下载核心的原始档 (查看 做一个订的核心一 节中有关自订核心的细节)。 有时,您会发现需要用到核心还没有成为 RPM。 在这种情况,您可以在 ftp://ftp.kernel.org FTP 站找到最新版本, 位在 /pub/linux/kernel/ 目录下,先到适合的主要版本子目录下 (例如. ``v2.0''), 那里有最新发表的核心。下载所要的核心套件 (例如,给 Intel 系统所压缩过的 tarball 2.0.36 版会名为 ``linux-2.0.36.tar.gz'' ) 然後用 tar 解到 ``/usr/src'' 目录下。 注意: 传统上,大部分使用者不是用 RPM 所安装的软体会解到 ``/usr/local/src/'' 目录下, 但这是一个核心,所以在这个情形是个例外。 请小心如果您决定下载 tarball 升级您的核心,您几乎可以确定要自己组态,编译及安装。除非您有 要用到最新版核心的特殊需求,管您也可以依您的需要从RPM档编译自订的核心,我强烈建议您使用 Red Hat 提供的 RPM档升级您的核心 -- 这些已经为您预先组态及编译过了。 Linux 网管 123 --- 第10章. 升级 Linux 及其他应用软体 -5.升级 Red Hat 的现成核心 很显然最简单升级您的核心的方法是使用Red Hat提供的现成核心 RPM 。 这些 RPM 档包含预先编译过的二进位核心,支援大部分的硬体及常见的功能 。 安装现成核心很简单而且牵扯的风险很小。只要以 root 身分键入下面一串指令: rpm -Uvh kernel-2.0.36.i386.rpm cd /boot ls 注意核心名称, 和上面 ``ls'' 指令所列的一样。 您应该关心 ``vmlinuz'' 档; 例如第三次 RPM 发表的 2.0.36 版核心看起来会像是 ``vmlinuz-2.0.36-3''. 现在,使用编辑程式编辑 LILO 组态档 (键入: ``pico -w /etc/lilo.conf'') 并且修 改 ``image=/boot/...'' 这一行指向新的档案。 当您完成後,键入 ``/sbin/lilo''。 如果 LILO 回应错误讯息,再一次检查您在 ``lilo.conf'' 档中的档名和 ``/boot/'' 目录中的档名比较。 警告: 不要忘了这一步! (上面的指令假设您使用 Intel平台且使用 LILO 启动系统。查看 第4章,从 LILO 启动 有关 LILO boot loader 的细节). 在您升级现成核心及更新 boot loader 资料後,您可以关闭系统然後用新的核心重新启动 (查看 第6章,关闭系统及重新启动 关於关闭系统的细节). Linux 网管 123 --- 第10章. 升级 Linux 及其他应用软体 -6.作一个订的核心 如果您想要在一个新硬体系统上运作 Linux ,或者想要使用一些原本核心没有支援的特点,也许或 者您想减少核心所占的记忆体使系统记忆体运作的更好,您会发现必须建立自己所定的核心。 更新核心包含了组态所需的模组,编译核心及模组,最後安装核心映像档,随着重新开机而载入新的 核心。在``README''中这些所有的文件都来自於每个核心套件。进一步的资讯可以在 ``Documentation/'' 子目录中找到。一个特别有帮助的档案是``Configure.help'' ,其中包含了有 关编译核心的选项及模组的详细资讯。 下面是一个例,显示如何建立自己的 Intel 平台 2.0.36 版核心。建立订的核心常常只是组态, 编译及安装上的问题。有时(通常因为新的硬体) 需要下载新的驱动程式,因为原本核心编译时该硬体 尚未被支援。 建立订核心的第一个步骤是下载及安装核心,不论是来自 RPM (优先选择) 或从 tarball。参考 第10章,Linux 核心的升级 一节 有关获得合适档案的详细资料。 下一步,使用 ``rpm'' 公用程式 (或 ``tar'',也可以) 安装核心来源及标头档。例如,安装 2.0.36-3 核心的 RPM 档: rpm -Uvh kernel-source-2.0.36-3.i386.rpm kernel-headers-2.0.36-3.i386.rpm rpm -Uvh kernel-ibcs-2.0.36-3.i386.rpm (如果您在笔记型电脑上运作Linux,您或许想要安装 ``kernel-pcmcia-cs-2.0.36-3.i386.rpm'' 这个 档,它提供了电源管理的功能) 在安装好核心档之後,您应该可以找到新的原始档,位在 ``/usr/src/linux/'' 目录。 下一个步骤是下载任何附加的驱动程式档 (如果有的话),并且安装他们在新的核心来源。例如,要增加 对 Mylex DAC960 硬体 RAID 控制器的支援,我会从网站上下载驱动软体。不幸地,像 http://www.dandelion.com/ 网页上的驱动软体常常只有提供 tarball 而且需要 ``tar'' 公用程式去安 装它。例如: cd /usr/src/ tar zxvpf DAC960-2.0.0-Beta4.tar.gz 可能的话,您应该阅读由您所增加驱动程式软体所提供的文件。例如 DAC960 驱动程式包括了 ``README'' 档案,里面有关於哪里下载最新的驱动程式,及如何索取核心的修正档: mv README.DAC960 DAC960.[ch] /usr/src/linux/drivers/block patch -p0 获得有关核心各个选项的描述 在您完成对核心的组态设定後,键入下列命令编译您的核心: mail:/usr/src/linux# make dep ; make clean mail:/usr/src/linux# make bzImage mail:/usr/src/linux# make modules 如果您重新编译和之前相同的核心 (在本例中是 2.0.36-3 ),您或许会想要用下面的指令将现有的模组移 到备份的目录下: mail:/usr/src/linux# mv /lib/modules/2.0.36-3 /lib/modules/2.0.36-3-backup 现在,键入下列指令真正地安装新的模组: mail:/usr/src/linux# make modules_install 下一个步骤是将核心到 ``/boot/'' 目录下,并且使用 LILO 更新 boot record ,如此一来新的核 心就会被承认。下面的指令会将现有核心作一个备份,新的核心取代它,然後更新 LILO boot record: mail:/usr/src/linux# cd /boot mail:/boot# cp vmlinuz vmlinuz.OLD mail:/boot# cp /usr/src/linux/arch/i386/boot/bzImage vmlinuz-2.0.36 mail:/boot# /sbin/lilo 最後,您需要编辑 ``/etc/lilo.conf'' 档,并且确定 “image”是指向新的核心。您也应该加入一个项目 指向您的备份核心,也许称作“OldLinux”. 这是一个例档: boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 image=/boot/vmlinuz label=Linux root=/dev/hdb1 read-only image=/boot/vmlinuz.OLD label=OldLinux read-only 藉由此种方法备份您的核心资讯,万一您的新核心无法正常启动(也许因为某设备不被承认,或者一个 daemon 应该启动而未启动),您可以简单地键入 ``OldLinux'' 从原来的核心启动然後检查系统。 注意: 如同前面所提到,如果您已经编译了一个需要以模组方式启动系统的核心,您需要建立一个起始 RAMdisk 映像档以便启动系统。(别忘了将您的核心编译成可支援这样的映像档) 建立及使用起始 RAMdisk 映像档的程序如下: 在您的 ``/etc/lilo.conf''加入项目,以便启动起始 RAMdisk 映像档; 这里是一个先前已经展示过的组态 档增加的例子,: image=/boot/vmlinuz label=Linux root=/dev/hdb1 initrd=/boot/initrd-2.2.4-4.img read-only 在您可以使用 mkinitrd 指令前要先载入loopback 装置. 确定 loopback 装置模组已经载入: /sbin/insmod loop (如果您得到有关无法载入loopback 模组的错误讯息,您可能需要指定给目前正在运作的核心该模组完整路 径,例如 ``/lib/modules/2.0.35/loop''.) 使用 ``mkinitrd'' 指令真正地建立映像档: /sbin/mkinitrd /boot/initrd-2.0.36-3.img 2.0.36-3 执行 ``/sbin/lilo'' 更新您的 boot loader. 现在,关闭系统且启动新的核心! mail:/boot# /sbin/shutdown -r now 如果您的核心拒绝完成启动,别惊慌。利用在安装 Linux 时所作的开机磁片开机。如果您没有该磁片, 应该可以利用Red Hat CD作。插入磁片然後重新启动电脑。当您看到“boot:” 提示时,键入: mount root=/dev/hda1 上述的指令假设您的“/” (root) partition 位於 /dev/hda1. Linux 应该然後正常地启动 (既然您是使用开机磁片开机,在这期间不是所有的装置及服务都能正常动作), 然後您可以回存您的旧核心然後重新安装 LILO boot loader 的资料 (亦即. ``mv /vmlinuz.old /vmlinuz ; /sbin/lilo'') 然後关机/重新启动。然後您可以试着用不同选项重 新编译核心再试一次。 Linux 网管 123 --- 第10章. 升级 Linux 及其他应用软体 -7.升级到 2.2.x 版的核心 Linux 2.2.0 版核心於1992年1月25日发表,带来很多新的特色,性能提,及硬体支援。 任何现有的 Linux 系统可以用和 第10章,Linux 核心的升级 (包括警告)相同的方法升级 到这些新核心之一。 这一节会叙述如何升级您的 Red Hat 系统到新核心。 既然 Red Hat 6.0 (及以上) 已经预设以 新的核心及支援套件交运,这一节只对仍然使用较早版本的使用者有用,像是 5.2。一但我相信大 半的使用者已经迁移到 6.0及以上版本之後,我在这份文件的未来版本可能会移去这一节。 警告! 如果您决定升级您的旧系统以支援新核心,请考虑这个过程关到几个套件的升级,有可 能发生一些可怕的事。 一如往常, 准备最新的备份以防发生问题。如果您缺乏利用RPM 升级以 及编译核心的经验,也许您应该升级到 Red Hat 6.1. 您可以选择利用 Red Hat 所提供的现成核心升级,或编译自订的核心。我会建议先使用现成的核心, 稍後再依一般需求建立自订核心 (查看 升级 Red Hat 的现成核心 有关细节.) 要使用最新核心,首先要升级最新的公用程式及函式馆。 Red Hat 已经辨认好哪一个套件需要升级以 支援最新的核心,而且已经放置合适的RPM档在他们的位於 ftp://ftp.redhat.com/redhat/updates/5.2/kernel-2.2/i386/ (给 Red Hat 5.2 使用者用在 i386 平台)的 ftp 上。 一个很好的网页, 详述转移到 2.2.x 的可用的适当系统工具,位在 http://www-stu.calvin.edu/~clug/users/jnieho38/goto22.html;我会试着概述下面的资讯 (标示 ``**'' 指示这项对於 Red Hat 5.2您很可能需要升级;未标示的项目表示这些可能没问题, 但也许值得检查)。 ** initscripts-3.78-2.4 或更高 (键入 ``rpm -q initscripts'' 检查您的版本) ** modutils-2.1.121 或更高 (键入 ``rpm -q modutils'' 检查您的版本)) ** mount-2.9-0 或更高 (键入 ``rpm -q mount'' 检查您的版本)) gcc-2.7.2.3 或更高(``rpm -q gcc'') binutils-2.8.1.0.23 或更高(``rpm -q binutils'') libc-5.4.46 或更高(Red Hat 使用新的 ``glibc''. 不需要.) glibc-2.0.7-6 或更高(``rpm -q glibc'') ld.so 1.9.9 或更高 (``ls -l /lib/ld.so.*'') libg++-2.7.2.8 或更高(``rpm -q libg++'') procps-1.2.9 或更高(``rpm -q procps'') ** procinfo-15 或更高 (``rpm -q procinfo'') psmisc-17 或更高(``rpm -q psmisc'') ** net-tools-1.50 或更高 (``rpm -q net-tools'') loadlin-1.6 或更高 (只有当您利用Loadlin从DOS中启动 Linux 才需要,无法确定如何计算版本; 下载最新版本较保险) sh-utils-1.16 或更高(``rpm -q sh-utils'') autofs-3.1.1 或更高 (``rpm -q autofs'') nfs-server2.2beta37 或更高 (``rpm -q nfs-server''; 只有当您提供 NFS 档案分享才需要.) bash-1.14.7 或更高(``rpm -q bash'') ncpfs-2.2.0 或更高(``rpm -q ncpfs''; 只有当您安装 Novell 档案系统才需要.) kernel-pcmcia-cs-3.0.6 或更高(``rpm -q kernel-pcmcia-cs''; 当您要 PCMCIA 卡片支援才需要.) ppp-2.3.5 或更高(``rpm -q ppp''; 当您使用数据机及PPP连接 Internet 才需要 .) dhcpcd-1.3.16-0 或更高 (``rpm -q dhcpcd''; 只有当您需要 DHCP 连接到 Internet 才需要,像是 缆线数据机等). ** util-linux-2.9.0 (``rpm -q util-linux'') setserial-2.1 或更高 (``rpm -q setserial'') ipfwadmin/ipchains (只有当您使用 IP 防火墙才需要; 查看 ``IPCHAINS-HOWTO'' 位於 http://isunix.it.iltu.edu/resources/ldp/HOWTO/IPCHAINS-HOWTO.html的指南) 您应该依要求下载及使用RPM 升级任何套件 (查看 使用 Red Hat 套件管理程式 (RPM) 一节 有关如何 使用 RPM 的细节). 警告: 升级到新的 ``modutils'' 套件会导致套件无法在较早的 2.0.x 核心使用 ! 因此,除非您 已经安装新的核心到 ``/usr/src/linux'' 否则不要升级这个套件。 在您将的系统工具改到最新版後,您可以安装核心原始档。 您也可以在 Red Hat 的 FTP 上找到 ; 我 建议下载用来提供升级到 Red Hat 6.1的那一个 , 位在 ftp://ftp.redhat.com/redhat/updates/6.1/i386/. 要这样做您可以键入下面: rpm -Uvh kernel-source*.rpm kernel-headers*.rpm 现在新的核心原始档已经安装好了,升级您的 modutils 套件应该是安全的。然而,新的核心不再使用 ``kerneld'' 模组用做核心模组的立即载入。因此,您应该在升级 modutils 之前 disable 这一个模组。 要 disable kerneld 以及升级 modutils 套件的话,以“root”分份键入: /sbin/chkconfig kerneld off /etc/rc.d/init.d/kerneld stop rpm -Uvh modutils*.rpm 您现在应该可以依您平常的需求组态,编译及安装您的 2.2 核心 (查看 作一个订的核心 有关细节)。您 可能会对那麽多新的组态设定感到头晕目眩。对您不熟悉的选项花点时间阅读协助文件 ! 运气好的话,下一次开机时您的系统将会是以新的 Linux 核心版本运作 ! 更多有关这些步骤的细节可以在 Red Hat 的网页 http://www.redhat.com/corp/support/docs/kernel-2.2/kernel2.2-upgrade.html上找到。 Linux 网管 123 --- 第10章. 升级 Linux 及其他应用软体 -8.Apache.Squid 组态 Apache 网页伺服器 在我工作的地方,我们使用 Apache 套件提供网页服务, Apache 是一个全功能网页伺服器 完全支援 HTTP 1.1 标准, 快取代理, 密码认网页,以及很多其他特点。 Apache 是最受 欢迎的网页伺服器之一 (根据最近由 Netcraft 所做的网页调查,Internet 上有超过 54% 的 网站是使用 Apache 或其衍生品),并且提供与商业伺服器相等或更好的表现。 ( 建设中. :-p ) 为持续加入Apache新的特点及修正错误,随时间增加升级您的伺服器可能是个好主意。Apache 网页伺服器位於 http://www.apache.org/ 并且有最新版本的资料 。 -------------------------------------------------------------------------------- 组态 Squid HTTP 快取代理 Daemon 在我工作的地方,我们使用 Squid套件提供网页的快取代理, Squid 提供高性能的网页快取,并且也 支援 FTP, Gopher及 HTTP 请求。此外,Squid 可以依等级连结到其他的以 Squid为基础的快取伺服器, 以提供有效率的网页快取。 目前有两种版本的 Squid 。 一种是“正规” 版本, 适合用在有较多 RAM 的机器上。 第二种版本, “SquidNOVM” 适合有较少 RAM 的机器(我建议如果您的机器只有 64 MB 或更少的 RAM 使用这个版本)。基本上, “NOVM” 版本使用较少的记忆体耗费较多的档案。这是我用的那一个,并且 它工作良好。 ( 建设中 :-p ) 为了保持新特点及错误修正,随时间增加升级 Squid 伺服器是个好主意。更多有关 Squid 的资讯可以 在下面网页找到 http://squid.nlanr.net/Squid/.
不能为空
不能含有 ` 字符,字数8000以内
(CTRL+ENTER提交)
关闭窗口