WEB开发网
开发学院操作系统Linux/Unix Linux 99问(四) 阅读

Linux 99问(四)

 2005-04-15 11:29:17 来源:WEB开发网   
核心提示:81.重装Windows而破坏了Lilo时,怎么办?这种情况可以使用两种方法恢复: 1)用linux启动软盘启动,Linux 99问(四),然后执行/sbin/lilo,重新在引导区建立lilo; 2)使用Linux安装光盘启动,因为在此篇幅有限,仅是点到为止,选择升级系统,将会重建lilo
81.重装Windows而破坏了Lilo时,怎么办?



这种情况可以使用两种方法恢复:


1)用linux启动软盘启动,然后执行/sbin/lilo,重新在引导区建立lilo;


2)使用Linux安装光盘启动,选择升级系统,将会重建lilo。


82.如何制作Linux启动盘?



在Linux下,有一个工具mkbootdisk能很方便地制作系统启动盘:


1) 查看系统的版本,可以通过ls /usr/src来看;


2) 插入一张空软盘;


3) 执行“mkbootdisk --verbose 2.2.5”。


83.如何远程使用Linux?



我们可以使用telnet、rlogin、rsh、rcp等命令来实现远程使用Linux,但这这些方法在传输过程中是明文传输的,所以有可能带来许多不安全因素。因此,应尽量避免远程使用root帐户登录系统。


84.如何构建安全的远程登录?



使用SSH来实现安全的远程登录,因为SSH实现了数据传输的加密。


1) 从ftp.cs.htu.fi/pub/ssh获取ssh-1.26.tar.gz文件;


2) 用tar xvpf ssh-1.26.tar.gz解开这个包;


3) 到解开的目录/usr/local/src/ssh-1.26目录下执行./configure;


4) 执行make和make install来完成编译和安装。


5) 你就可以使用ssh来与安装了SSH的服务器建立安全的远程连接。


85.如何运行计划任务?



大大可能对Windows中的计划任务都比较熟悉了,它可以通过一些简单的设置,定时完成一些任务。在Linux系统的维护中,我们可以也会需要定期执行一些任务,这种情况可以使用:


1) at命令:它可以键盘或文件中读取指令,然后在指定时间完执行;


2) crontab守候进程:通过设置它的配置文件来定时执行某些任务。


86.Linux的开机过程都做了什么?



1) 一开机,CPU将控制权交给BIOS,BIOS完成开机自检;


2) 然后BIOS读取磁盘上的第一个扇区,并装入主引导扇区的lilo;


3) lilo根据输入选择不同的内核映象,如果你选择了linux就读取/boot下的核心映象;


4) 核心开始硬件检测和设备驱动程序的初始化,然后运行init


5) init进程根据/etc/inittab的配置运行一系列初始化脚本;


6) 完成后,启动getty进程接受用户的登录。


87.如何设置开机自动运行程序?



你可以在以下几个脚本文件中加入你想一启动系统就执行的命令:


/etc/rc.local、/etc/rc.sysinit以及/etc/rc.d/init.d。


88.为什么需要重新编译内核?



以下情况你需要重新编译内核,或加入动态内核模块:


1) 更新驱动程序;


2) 根据自己的需求定制最可靠的内核;


3) 升级Linux内核。


89.如何重新编译内核?



1) 进入Linux源代码目录:cd /usr/src/linux


2) 执行“make config”或“make menuconfig”、“make xconfig”配置内核选项,选中你想要的模块,去掉不想要的模块;


3) 执行“make zImage”命令,大概30到90分钟后,会生成一个zImage的新内核映像文件,存放在/usr/src/linux/arch/i386/boot目录下;


4) 然后将其拷贝到/boot目录下;


5) 修改lilo.conf文件,加入:


image=/boot/zImage
label=newlinux
root=/dev/hda1 (根据原来的文件)



运行/sbin/lilo使修改生效。


6)重新启动,在Lilo时,输入newlinux就可以新内核启动。


90.什么是动态内核模块?



动态内核模块是Linux一个成功的设计,它使得Linux更加灵活,易于定制。其实动态内核模块就是一个内核模块,它可以在不重新编译内核的情况,动态地将一些功能用“insmod 模块名”命令加入内核、用“rmmod 模块名”命令将其移出内核。


六、 廉价的网络解决方案---Linux:9问


91.如何使用Linux架设WEB服务器?



Apache服务器是在Linux架设WEB服务器的首选。你可以在安装Linux时就选择安装它。若在安装时没有安装Apache的话,你可以从光盘或者到apache网站上找到文件:apache-1.3.12.i386.rpm,然后执行以下命令完成安装:


1)rpm –ivh apache-1.3.12.i386.rpm


2)修改/etc/httpd/conf目录下的配置文件httpd.conf、access.conf等;


3)将主页文件放到/home/httpd/html目录下;


4)执行“/etc/rc.d/init.d/httpd start”启动Apache服务器


如果需要关闭的话,可以执行/etc/rc.d/init.d/httpd stop命令。


92.如何使用Linux架设FTP服务器?



在Linux中,最常用的FTP服务软件当数wu-ftpd,如果在安装linux时没安装上它。你可从光盘或者网站rpmfind.net/linux/RPM/WbyName.html获取它的RPM包:wu-ftpd-2.6.0-9.i386.rpm。然后执行以下命令完成安装:


rpm -ivh wu-ftpd-2.6.0-9.i386.rpm


编辑 "/etc/inetd.conf" 文件,指向新的ftpd守护进程,如下所示:


ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l –a


到此为止,你的Linux就可以接受FTP服务了。


93.如何使用Linux架设E-MAIL服务器?



Linux中,最常用的E-MAIL服务器是Sendmail,你可以在安装Linux时将其选中。


1) 在DNS服务器上为E-Mail服务器做一条MX记录;


2) 编辑/etc/inetd.conf文件,将关于pop和smtp的行的注释符去掉;


3) 执行kill –HUP inetd,使修改生效;


这样E-mail服务器的用户就可通过Outlook等客户端程序进行收发邮件了。


94.如何使用Linux架设News服务器?



在安装Linux时,选择INN软件包,并允许开机时启动innd。在完成系统的安装时,大部分配置工作已经完成,无需编译源码


1)配置/etc/news/inn.conf:


domain: foo.com
organization: foo company news site
server: localhost



根据实际情况填写;


2)配置/etc/news/nnrp.access


nnrp.access是用来完成News Readers服务的守候进程nnrpd的配置文件,用于控制对站点的访问,修改此文件无须启动INND。


3)添加新闻组:


可以手工编辑/var/lib/news/active文件添加新闻组,也可以使用ctlinnd命令来增加。若是手工方式修改新闻组,须执行以下命令使其生效:


ctlinnd reload active "modify active"


95.如何使用Linux架设BBS?



1) 从ftp://pbbs.chpi.edu.tw/pub/pbbs/source下载PowerBBS的源代码发行包文件pbbs.tar.gz;


2) 执行tar zxvf pbbs.tar.gz解开文件;


3) 进入pbbs目录,运行Install;


4) 根据具体需求改变默认的设置。


96.如何让Linux成为文件服务器?



在Linux中,你可以用Samba来做文件服务器,你可以在安装Linux时选中Samba就可以完成安装。


1) 编辑/etc/smb.conf,修改配置:


netbios name=linux
workgroup=SambaServer
server string=Samba Server
hosts allow=192.168.9. 127.
securoty=share
interfaces=192.168.9.1/24
name resolve order=host dns bcast
wins support=no



2)重新启动SMB服务器:/etc/rc.d/init.d/smb restart


3)编辑客户机的hosts文件,加入对Samba Server的解析;


4)最后你就可以在网上邻居上看到它了。


97.如何使用Linux架设代理服务器?



1) 到http://squid.nlanr.net/Squid/下载Squid代理服务器软件squid-2.2.STABLE3-src.tar.gz;


2) 执行tar xzxf squid-2.2.STABLE3-src.tar.gz


3) 执行./configure


4) 执行make,make install安装到/usr/local/squid目录下;


5) 编辑/usr/local/squid/squid.conf文件,加入:


acl allowed_hosts src 192.168.9.0/255.255.255.0


注:假设你的内网ip地址是192.168.9.0;


6) 执行/usr/local/squid/bin/squid –z进行初始化


7) 执行/usr/local/squid/bin/squid开启服务


8) 在客户端设置代理服务器IP和端口3128,就可以访问Internet了。


98.如何使用Linux架设透明网关?



确认Linux内核已经支持ipchain,然后编写一个脚本ipchains.rule,内容为:


注:假设透明网关服务器的外网地址是:1.2.3.4,已经与Internet相连;内网地址是192.168.9.1,连在内网上。


#!/bin/sh
/sbin/ipchains -F forward
/sbin/ipchains -F input
/sbin/ipchains -F output
/sbin/ipchains -P forward DENY
/sbin/ipchains -P input ACCEPT
/sbin/ipchains -P output ACCEPT
external_interface=1.2.3.4
/sbin/ipchains -A input -j ACCEPT -i lo
/sbin/ipchains -A output -j ACCEPT -i lo
/sbin/ipchains -A input -j DENY -i eth1 -s 192.168.9.0/24
/sbin/ipchains -A input -j DENY -i eth1 -d 192.168.9.0/24
/sbin/ipchains -A output -j DENY -i eth1 -s 192.168.9.0/24
/sbin/ipchains -A output -j DENY -i eth1 -d 192.168.9.0/24
/sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32
/sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32
/sbin/ipchains -A output -j DENY -i eth1 -d $external_interface/32
/sbin/ipchains -A forward -j ACCEPT -i eth0 -s 192.168.9.0/24 -d 192.168.9.0/24
/sbin/modPRobe ip_masq_ftp
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_raudio
/sbin/ipchains -A forward -j MASQ -i eth1 -s 192.168.9.0/24



运行这个脚本后,192.168.9.0网络中的所有机器只需将网关设置为192.168.9.1,就可以连到Internet上了。


99. Linux还能构建什么服务器?



Linux还可以成为域名服务器、PPP服务器、CVS服务器、路由器、防火墙,而且还可以通过LVS解决方式还构建服务器集群系统。因为在此篇幅有限,仅是点到为止,若有兴趣可以参考专业的Linux书籍。

Tags:Linux

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接