进程式篇 Q:什么是rpm包安装的依赖性(相关性)? rpm的全称是Redhat Packages Management,在你使用rpm命令安装某个rpm包的时候,系统会提示你某个包或.o文件must be installed by xxxxx,这就是rpm包安装的依赖性问题。解决方法很简单,按照系统提示你没有装的包先安装就可以了。如果你遇到诸如A包依赖B,B包也依赖A的时候,请使用参数--nodeps,强制rpm不检查安装文件的依赖性安装。 Q:rpm和tar的使用方法(软件包的安装方法) rpm: 1)安装rpm包时显示进度:用-vh参数,如rpm -ivh ipchains-1.3.6-1.i386.rpm,用 glint或xrpm则不必。 2)直接通过ftp来安装rpm包:如rpm -iftp://ftp.xxx.xxx ; 3)校验所有的rpm包,查找丢失的文件:rpm -Va 4)查找一个文件属于哪个rpm包:例如:rpm -qf /usr/bin/who 5)列出一个rpm包的描述信息:例如:rpm -qpi mon-0.37j-1.i386.rpm 6)列出一个rpm包的文件信息:例如:rpm -qpl mon-0.37j-1.i386.rpm 7)安装同一个目录下的所有RPM文件:例如:rpm -Uvh *.rpm 8)安装同一个目录下的所有RPM文件,不管依赖性:例如:rpm -Uvh *.rpm --force --nodeps tar: tar zvfx xxx.tgz/xxx.tar.gz 在当前目录下展开这个包 tar zvft xxx.tgz/xxx.tar.gz 只测试不展开 tar zvfx xxx.tgz/xxx.tar.gz -C /new dir 展开后放到/new dir目录下 tar zvfc xxx.tgz/xxx.tar.gz /test 把/test目录下的所有文件及自目录打包成test.tgz Q:使用光盘和软盘 mount -t ext2 /dev/fd0 /mnt/floppy(挂载linux文件系统的软盘) mount -t vfat /dev/fd0 /mnt/floppy(挂载fat32文件系统的软盘) 一般情况下可直接用:mount /mnt/floppy 挂载光盘用:mount /mnt/cdrom(记住:在拿出关盘和软盘前要先卸载,用命令umount) Q:REDHATLINUX7.X汉化方法 下载: http://www.linuxsir.org/software/fm-1.2.tar.gz #tar xvfz fm-1.2.tar.gz #cd fm-1.2 #./fm.sh 重启 #ttfm.sh --add simsun.ttf (simsun字体在当前目录下,如果你用的是WIN2K的宋体的话,把simsum.ttc改名为simsun.ttf就行) Q:优化虚拟控制台 编辑/etc/inittab文件 大部分Linux的发行套件都建立六个虚拟控制台,实际上三个已经足够,并且可以节省可贵的内存空间。编辑/etc/inittab文件,在下面三 行的前面加上#。 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 Q:使用多达23个的虚拟控制台(VT) 假设你现在有6个,仿照/etc/inittab种的文件,加入 8:234:respawn:/sbin/getty 38400 tty8 24:234:respawn:/sbin/getty 38400 tty24 要跳过VT7,因为X使用这个终端。然后telinit q以重新加载配置文件。使用左Alt+Fn在1-6和8-12件切换,使用右Alt+Fn键在13-24之间切换 Q:在命令符下读WINDOWS目录 编辑/etc/mtools.conf文件 一般情况下,都是在自己的机器安装Windows 98与Linux两种操作系统,通过安装mtools包,可以不用安装相应的文件系统,允许在MSDOS、Windows 98与Linux的文件系统之间,实现文件的读、写、移动、显示等操作。假设Windows 98安装在/dev/hda1、/dev/hda5分区下,修改/etc/mstools.conf文件,加入以下内容: drive c: file="/dev/hda1" drive d: file="/dev/hda5" 这样就可以执行mdir c:等命令。 Q:拷贝各种配置文件 根据机器的用途,编辑拷贝相应的配置文件,例如:samba的配置文件/etc/smb.conf,域名服务器的配置文件,DHCP的配置文件 /etc/dhcpd.conf等。一般情况下,这些文件一旦配置好,很少发生改动,这样可以节约许多时间。注意原来的配置文件一定要做好备份,如果 配置文件发生改动也要做好备份! Q:如何安装新内核? 到/usr/src/linux目录下(一般都是这个目录,也有例外的,具体情况看自己/usr/src下那个目录包含了核心程序)。 有一下六步:(每一步需要很长时间,请等待) make mrproper (用来消除原来编译的影响) make menuconfig (用config, xconfig也可以) make dep make bzImage make modules (如果你设置了模块就要用这个) make modules-install cp /usr/src/linux/arch/i386/boot/bzImage /boot/ vi /etc/lilo.conf 修改lilo.conf,添加(或修改) image=/boot/bzImage label= linux read-only root=/dev/hdxx linux所在分区 存盘推出,运行lilo,如果一切ok,那么重起就可以使用nfs了 Q:定制自己的登录信息 编辑/etc/rc.local文件 如果需要定制自己的登录信息,注意要修改/etc/rc.d/rc.local文件,因为每次执行/etc/rc.d/rc.local文件,都需要修改/etc/issue与 /etc/issue.net文件,可以注解掉这些命令,编辑定制自己的/etc/issue文件,加快Linux引导过程,并且加入以下内容: echo "base=0xd8000000 size=0x800000 type=write-combining" >> /proc/mtrr # Enable NumLock for tty in /dev/tty[1-3]; do setleds -D +num < $tty done 说明:关于第一行命令请看/usr/src/linux/Documentation/mtrr.txt文件。 Q:怎样加快linux的运行速度? 默认情况下,linux是不打开硬盘的DMA读写方式的,我们可以以手工方式打开: hdparm -d1 -X66 /dev/hda //打开Udma2传输模式 hdparm -c1 /dev/hda //开启IDE 32位传输模式 hdparm -k1 /dev/hda //重启后依然有效 你可以把这两句加到/etc/rc.d/rc.local文件里以便让系统启动时自动运行 用hdparm -t /dev/hda 测试一下优化前和优化后的硬盘读写速率 hdparm -i /dev/hda 查看硬盘设置信息 Q:如何让启动的时候不自动进入XWINDOW? 修改/etc/inittab.conf里面的 id:5:……成为 id:3:……就可以啦! Q:怎样从XWINDOW到控制台? ctrl+alt+F1...F6 其中F7,F8是XWINDOW用的。比如: startx 就是用的ctrl+alt+F7 而startx -- :2 就是用的ctrl+alt+F8 Q:Linux下加载Windows分区的几种方法 1)手工加载 假设要加载的分区在Windows中是G盘,你可以在Linux的/mnt目录下建一个g目录(/mnt是Linux专门为加载各种存储设备而设的目录,默认情况下就有floppy(软驱)和cdrom(光驱)两个目录,hda1是c:,逻辑分区从hda5开始,一般的d:是hda5,以后顺延。具体的你可以在 linux下用 cfdisk查看分区情况) 你还可以用linuxconf来挂载你的windows分区,在命令提示符下输入linuxconf,选 择file system下的access local drive,再添加你的新的装配点 #mount -o iocharset=cp936 /dev/hda8 /mnt/g (“mount”是加载分区的命令,“-o iocharset=cp936”是参数,使用这个参数,我们在加载某一分区后,不仅可以读写文件,还可以正常显示中文长文件名。“dev/hda8”是G盘在Linux下的名称,它是被作为一个设备放在/dev目录下的,“/mnt/g”是加载G盘的目标目录。整个命令的意思是把“dev/hda8”(G盘)挂接到“/mnt/g”目录,并且可以显示中文长文件名,可以读写文件。) 2)半自动加载 在桌面上单击右键,在弹出的菜单中选择“应用程序链接”,在“常规”选项卡的文本输入框中输入你自己指定的名称(如“加载G盘”),切换到“执行”选项卡,在“命令”输入框中输入“mount -o iocharset=cp936 /dev/hda8 /mnt/g”,选中“在终端中运行”复选框,点“确定”退出。 单击桌面上的“加载G盘”图标,终端窗口一闪,G盘就可以加载了。 3)全自动加载 用任一文本编辑器打开/ect目录下的fstab文件,把“/dev/hda8 /mnt/g vfat defaults,iocharset=cp936 0 0”添加到最后一行后面,保存后退出。以后每次重新启动系统时都会自动加载G盘。说明:“vfat”表示加载的是FAT32文件系统,如果是“msdos”则是FAT16文件系统,“ntfs”是NT的NTFS文件系统。 Q:我的在KDE选择了中文后为什么FAT分区里中文看起来只有一些问号,怎么办呢? 编辑你的/etc/fstab文件添加一行 /dev/hda1 /mnt/c vfat iocharset=gb2312,umask=0,codepage=936 0 0 启动的时候挂上你的C盘。当然既然这样一来你当然也可以用同样的交互式命令实现对光盘上的中文的识别 # mount -t iso9600 -o iocharset=gb2312,umask=0,codepage=936 /dev/cdrom /mnt/cdrom Q:怎么样将自己的USB移动盘挂装到linux中 1)在字符模式或在Konsole输入如下命令: fdisk -l /dev/sda 注:不要在sda后面加通配符“*”或“?”,否则运 行命令后返回的信息将不正常。如果你有多个usb硬盘的话,他们在linux下就分别是sda、sdb、sdc等。 我在我的电脑上运行上面的命令返回信息如下: Disk /dev/sda: 2 heads, 63 sectors, 512 cylinders Units = cylinders of 126 * 512 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 511 32161+ 4 FAT16 <32M 注:显示找到我的U盘,位置为/dev/sda1,可启动(Boot下面的那个*表示是活动分区),大小为32MB。如果运行上面的命令返回的信息不与上面的类似,那么你就应该要怀疑你的USB端口有没有在BIOS中打开或U盘与电脑的物理连接有没有连接好了。 2)在/mnt目录下建立一个挂装U盘的目录: mkdir /mnt/usbdisk 3)然后再运行挂装命令: mount -t vfat /dev/sda1 /mnt/usbdisk 注:将你的U盘挂装到/mnt/usbdisk目录下。 4)再运行ls命令查看一下: ls /mnt/usbdisk 注:查看U盘里的信息。 Q:窗口一移动,KDE就死! 拖KDE的窗口死的问题基本确认为KDE对XIM支持的一个BUG。到“控制中心->观感->窗口行为->移动”下将两处显示内容均选中就可以解决该问题 Q:安装完Linux后,根目录下一大堆,都是些什么? /bin:存放最常用命令; /boot:启动Linux的核心文件; /dev:设备文件; /etc:存放各种配置文件; /home:用户主目录; /lib:系统最基本的动态链接共享库; /mnt:一般是空的,用来临时挂载别的文件系统; /proc:虚拟目录,是内存的映射; /sbin:系统管理员命令存放目录; /usr:最大的目录,存许应用程序和文件; /usr/X11R6:X-Window目录; /usr/src:Linux源代码; /usr/include:系统头文件; /usr/lib:存放常用动态链接共享库、静态档案库; /usr/bin、/usr/sbin:这是对/bin、/sbin的一个补充; Q:如何使用vi 你可以使用vi来编辑一个文件文件,它是在Unix世界里最普及的文字处理工具,几乎所有的UNIX机器上都有这个编辑器。 1) 启动vi:执行“vi 文件名”,一启动vi在命令状态,可以输入各种vi的命令,不能编辑; 2) 存盘:w、存盘退出:wq、不存盘退出:q!; 3) 进入编辑状态:插入:i、新增:a; 4) 退出编辑状态:按ESC键; 5) 进入编辑状态后,编辑起来很像DOS下的edit; 6) 在命令状态下还有一些常用的命令: x 删除游标所在字元; dd 删除游标所在的列。 其实如果你英文还可以的话,什么能比man vi更详细呢? Q:在Linux如何对文件进行操作 你可以使用ls –l命令列出目录的详细信息,就相当于DOS的DIR命令。ls命令的输出如下所示: total 2 drwxr-xr-x 2 xu user 1024 Mar 13 0:34 sub1 -rw-r----- l xu user 678 Jun 15 1:45 hodo.txt 最左边一列是文件/目录权限,d是目录,r是可读,x是可执行,w是可写。自第二个字母开始每三个为一组,分别为用户|组|其他的属性;第2列是硬连接的数目;第3列是的属主信息,第4列是属主所在用户组,第5列是所占空间大小,接下去是日期、时间,最后一列是文件/目录名。以下是一些 常用文件操作命令:rm:删除文件 more:浏览文件 cp:拷贝文件 Q:如何删除linux 我们常说的删除linux其实有两个部分。一是指把linux系统删除;另外还要把其他操作系统的引导程序恢复。常常采用的方法是把linux的分区删除掉来把linux系统删除掉。MS-DOS的命令fdisk便可以做到这一点。选择Dele all Non-DOS partition(删除所有非MSDOS分区)便可以把ext2/3文件系统格式的分区删除掉。当然,强烈推荐新手使用PowerQuest PartitionMagic(硬盘分区魔术师)来完成这样的工作。然后fdisk /mbr可以恢复window$95/98/me系统的引导程序,对于window$2000,你需要使用事先制作的“灾难恢复盘”,用2000的启动盘(软盘光盘无所谓)启动,然后进行修复。 Q:如何在linux下使用滚轮鼠标 一般用mouseconfig可以配置你的鼠标,选中你鼠标的型号。如何无效,请尝试在/etc/X11/XF86Config-4中将和mouse有关的input device中“protocol”“PS/2”改为“IMPS/2”,设置完成后就可以使用你的滚轮了。 Q:如何递归删除一个目录下的所有子目录 rm -rf 命令可以不做任何提示而递归删除某目录下的所有目录文件(强烈要求root用户不要这样使用该命令!)。 Q:我无法软关机该怎么办 也行是你BIOS里APM设置的问题,可我们现在探讨的是系统的问题,使用halt -p命令如果可以顺利关机的话,请修改您的 /etc/rc.d/init.d/halt文件 message = $"Halting system ..." command = "halt" 把这行的halt命令改成"halt -p",保存退出。 Q:删除具有特殊文件名的文件 假设Linux系统中有一个文件名叫“-ee”,如果我们想对它进行操作,例如要删除它,按照一般的删除方法在命令行中输入rm -ee命令,界面会提示我们是“无效选项”(invalid option),原来由于文件名的第一个字符为“-”,Linux把文件名当作选项了,我们可以使用“--”符号来解决这个问题,输入“rm -- -ee”命令便可顺利删除名为“-ee”的文件。如果是其他特殊字符的话可以在特殊字符前加一个“”符号,或者用双引号把整个文件名括起来。 Q:linux怎么给一个普通用户reboot权限 分四种情况讨论: 1)让任何人(包括根本不拥有系统帐号的人)都可以通过控制台reboot 在/etc/inittab文件中保留ca::ctrlaltdel:/sbin/shutdown -t3 -r now 这一行。这样全国人民都可以reboot你的机器,只要你把控制台交出来。 2)让所有系统用户都可以reboot 执行# > /etc/security/console.apps/reboot即可。这就在console.apps 目录下生成了一个空文件,文件名就是授权的application。以上路径是针对 Mandrake系统而言的,其他系统我不清楚。不过,真正高雅的Mandraker或许 根本就不会去靠“>”来生成这个文件——他们会使用msec来进行控制的。 3)让指定的用户才可以reboot 假设我们要让用户zhizunbao拥有reboot的权限,我们靠uid/gid来完成控制: # groupadd reboot # cd /usr/local # mkdir reboot # chown root:reboot reboot/ # chmod 750 reboot/ # cd reboot # cp /sbin/reboot . # chmod 4755 reboot # usermod -G reboot zhizunbao 现在,zhizunbao就可以运行/usr/local/reboot/reboot来重启动机器。 4、在一台不设普通用户的机器上启用口令验证reboot 这实际上是靠添加一个关机帐号来实现的,该帐号的shell就是加了s位的 /sbin/halt,并且口令只有少数维护人员知道。我们这里采用的就是第4套方案。 Q:一次添加大量系统用户 使用内建的工具 newusers 及 chpasswd 先编辑帐号文件,每一列须按密码文件的格式书写. (请善用文书编辑程序的拷贝复制功能来大量产生) 例: 一个帐号档名为 new_alist stu001::600:600:stu:/home/stu001:/bin/bash stu002::601:601:stu:/home/stu002:/bin/bash stu003::602:602:stu:/home/stu003:/bin/bash stu004::603:603:stu:/home/stu004:/bin/bash stu005::604:604:stu:/home/stu005:/bin/bash stu006::605:605:stu:/home/stu006:/bin/bash 建帐号: newusers < new_alist 执行 pwunconv 编辑密码对照文件: 例: 建一个密码对照文件, 文件名为 new_plist stu001:密码 stu002:密码 stu003:密码 stu004:密码 stu005:密码 stu006:密码 建密码: chpasswd < new_plist 执行 pwconv Q:linux启动服务解释大全 FreeWnn amanda amd这个好像是管理mixer设备的)? amidxtape *anacron(命令调度) *apmd(高级电源管理) arpwatch(看ARP的?) *atd (功能cron类似) *autofs(自动加载文件系统) *bcm5820 bgpd cwnn bootparamd(启动参数管理?) chargen chargen-udp comsat *crond daytime(夏时制管理的daemon?) daytime-udp(udp-用户数据报协议,与之同级别的是TCP) dbskkd-cdb dhcpd(动态主机服务) echo(服务器回显客户数据服务) echo-udp(UDP版本的echo) eklogin finger(finger服务) gated (网关服务) *gpm(控制台下的鼠标) gssftp (gss ftp服务器还有wu-ftp服务器) httpd (超文本协议服务) identd imap(邮件服务中的imap协议) imaps(邮件服务中的imap协议?) innd(互联网新闻服务) *ipchains(防火墙) ipop2 (邮件服务的发件服务第2版) ipop3(邮件服务的发件服务第3版) *iptables(防火墙) irda *iscsi(利用高速专线组成SCSI磁盘阵列) *isdn (提供对isdn设备的支持) junkbuster kwnn kadmin kdcrotate keytable(键盘的配置) klogin(远程登录) kprop krb5-telnet (krb5 是什么? 提供telnet服务?) krb524 krb5kdc kshell *Kudzu ldap(目录服务) *linuxconf(疑问:linuxconf为什么要作为服务启动?) linuxconf-web(打开linuxconf的web配置端口) *lpd(提供对打印机的支持) mars-nwe(模拟novell网服务器) mcserv mysqld(提供mysql数据库的支持) named(域名服务器) *netfs(网络文件系统) *network(提供网络支持) nfs(网络文件系统) *nfslock(网络文件系统锁定?) nscd ntalk(talk-在线聊天服务) ntpd ospftd spfd *pcmica(提供对pc卡的支持) pop3s(是不是pop3的服务器?) *portmap(端口映射列表,但不清楚是干什么的) postgresql(提供对postgre sql数据库的支持) radvd *random(产生并存储高精度数据运算的随机数,为什么平时要自动启动呢?) rawdevices(好像是对读写设备的支持例如磁带机?)(Read After Write) regongfig(支持远端配置?) rexec(远端执行?) rhnsd ripd ripngd rlogin(支持远端登录) routed(linux路由服务) rsh(r shell?) rstatd rsync rusersd rwalld rwhod *sendmail(大名鼎鼎的邮件服务器) smb(是不是samba呀?--是) sgi_fam snmpd(简单网络管理服务) squid(代理服务器) swat(smb的901web配置) *systlog(系统日志服务) talk telnet(telnet服务) time(回响系统时间) time-udp(回响系统时间的UDP版本) tux(好像 是基于内核的高速静态web) ups(提供对ups的控制支持?) vncserver *wine(在linux下直接执行windows二进制代码!) wu-ftpd(华盛顿大学的ftp服务器.很好用 xfs(x font server) xinetd(新版本的互联网服务器) ypbind yppasswdd ypserv yhpxfrd Zebra keytable(键盘影射,适用于韩文,日文,德国等语言) KZUZU----启动系统时检测PC硬件有无变动,比如换了显卡会提示你重新配制XF86 *gpm-----好像是在控制台模式下实现mouse 的CP和PASTE功能. *crond---一个基于UNIX的定期命令调度器 swat----基于视窗的samba配置程序 xfs---Xwindows Font Server bgpd(bgp路由协议daemon) *gpm(字符终端状态下的mouse驱动) *ipchains(2.0 kernel下的防火墙进程) *iptables(防火墙进程) kshell(k shell) ldap(ldap服务进程) ntalk(网络talk进程) ntpd(网络时间服务进程) ospftd(ospf 路由协议进程?) spfd(spf路由协议进程?) ripd(rip路由协议进程) smb(是不是samba呀?)---是的 squid(代理服务进程) talk(应该是本机talk进程吧) Zebra(一个很有名的路由服务套件) Kudzu 搜索硬件 cwnn 中文输入法 |