Linux基础知识99问(三)

70.如何检查Linux硬盘使用情况?

在Linux环境下,你可以使用df命令来查看硬盘的使用情况。下面就是一个df -T -h(-T参数:显示文件系统类型,-h参数用可读性较高的方式来显示信息)命令的输入实例:

Filesystem Type Size Used Avail Use% Mountedon

/dev/hda1 ext2 7.5G 4.7G 2.5G 65% /

/dev/hda2 ext2 653M 6.6M 613M 1% /root

/dev/hdb1 ext2 7.5G 3.5G 3.7G 49% /usr

71.Linux下有哪些压缩工具?

在Linux下有很多种压缩工具,常用的有:

1) gzip/gunzip:这是GNU开发的自由软件,使用相当广泛。压缩文件扩展名为".gz"。使用方法很简单,例如:

gunzip eos.gz gzip /home/test/*.txt;

2) compress/uncompress:这是一对历史悠久的压缩程序,文件经过它压缩后,压缩文件扩展名为 ".Z"。

3)除此之外还有:zip/unzip、bzip2/bunzip2等。

72.如何管理进程?

进程是程序的一次执行。可以使用"ps -auxw"列出在当前正在执行的进程的详细信息,包括每个进程都有的进程ID号。你可以通过"kill 进程ID号"来终止这个进程。

73.文件或目录的权限是什么意思?

文件或目录的权限位由10位构成,如-rwxr-xr-x。

1) 第一位代表文件/目录类型:d代表目录、-代表文件、l代表链接;

2) 剩下的9位分成3组,每组3位;2-4位描述文件主人的权限,5-7位描述与文件主人同一用户组的权限,8-10位则是其它用户的权限。

3) rwx:每组的3位分别是:读权限、写权限、执行权限;如果是-就代表没有这个权限。

也就是说-rwxr-xr-x表示,这是个普通文件,文件主人可以读、写、执行这个文件,与文件主人同组的用户以及其它用户都可以读、执行这个文件。

74.什么是用户帐号?

在Linux系统中,是通过用户帐号来标识每一个用户的,通过登录时输入不同的用户帐号和密码确定你的身份。也就是说,Linux系统通过用户帐号和管理系统的所有用户。

然后你可以创建一些用户组,将用户加入到组中去,让其获得用户组的权限。

75. 在Linux下,如何管理用户?

如果你想要新增一个用户:

1) 以root登录,然后执行"adduser 用户帐号名"

2) 执行"passwd 用户帐号名"来为这个用户帐号设置密码。

执行"userdel 用户帐号"删除一个用户;

执行"groupadd 用户组名"新增一个用户组;

执行"groupdel 用户组名"删除一个用户组;

76. 如何为用户作磁盘限额?

1)将要设置磁盘限额的分区,按以下格式修改/etc/fstab 文件:

/dev/hda2 /home ext2 defaults,usrquota 1 2

2)在要设置磁盘限额的分区目录下创建空文件 quota.user

#touch /home/quota.user

#chmod 600 /home/quota.user

3)重启系统后,就可以使用edquota -u 用户名来设置。

77.如何备份系统?

在Linux中,你可以使用dump/restore命令组来实现系统的备份与恢复。假设你需要将/usr目录下的所有文件完整地备份到磁带机上(假定设备是rmt8,不同的磁带机不相同),你可以使用命令:

dump -O -f /dev/rmt8 /usr

其中-O参数代表备份全部文件,"-f 设备文件名"参数指定备份到什么地方,最后的目录名指定要备份的内容。

然后,你可以使用以下命令恢复:

restore -r -f /dev/rmt8

78.如何安装.tar的软件包?

Linux软件有两种发布方式:一种是源代码方式,另一种是可执行文件包。而发布包大多是先用tar归档,再用gzip压缩,生成是以.tar.gz结束的文件。

你可以直接使用"tar xvfz 文件名"完成解压缩,解tar包工作。

如果你取得是可执行文件包,安装工作结束。

如果你取得是源代码包,则还需编译一下:

1) 在解压目录下运行"./configure"进行配置;

2) 在解压目录下运行"make"进行编译;

3) 运行"make install"安装。

79.如何使用RPM安装Linux软件?

RedHat公司提供的RPM工具,使得Linux软件安装更为方便。

1) 安装:rpm -ivh somesoft.rpm

2) 反安装:rpm -e somesoft.rpm

3) 查询:rpm -q somesoft

80.如果忘了root的密码,怎么办?

如果你忘了root的密码,可以通过以下方法恢复:

1) 重新启动Linux,出现lilo:时,输入linuxsingle进入单用户模式;

2) 这时无需密码就取得了root权限;

3) 再运行passwd重新设置root的密码。

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帐户登录系统。

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

使用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书籍。

posted on 2006-05-29 12:54  唐朝  阅读(770)  评论(0编辑  收藏  举报