文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档> linux的一些问题及解决方法总结(2)

linux的一些问题及解决方法总结(2)

时间:2006-09-22  来源:zaihan

添加:zaihan
整理:Jims of <www.ringkee.com>
本文遵从GPL协议,欢迎转载、修改、散布
注:为了反映最新的变化,该文档从2004/11/29开始,把新的内容放到前面,可以通过搜索来获取所需内容。

2005/01/31
在Linux下浏览.chm文件的方法是安装xchm软件,安装内容如下:
软件名称:xchm
作用:该工具可浏览.chm文件
安装软件列表:
xchm-0.9.6.tar.gz
wxGTK-2.4.2.tar.gz
chmlib-0.35.tgz
注意:默认安装的libwx_gtk2u-2.4.so和libchm.so库文件位于/usr/local/lib目录,需把这个路径加到
/etc/ld.so.conf中,并运行一次ldconfig重载配置文件。

2005/01/30
问题:如何在vim中实现字符串的查找替换功能
解决:使用:%s/stable/sarge/g 命令可在全局范围内把stable替换成sarge。

2005/01/28
在Debian系统中修改自启动的服务和运行级别状态使用rcconf工具或sysvconfig工具。

2005/01/07
在debian的GNOME桌面环境下配置fcitx输入法在系统开机时自动启动的方法:
1、把以下几项设置写到/etc/X11/Xsession.d/55gnome-session_gnomerc或用户主目录的~/.gnomerc文件里,~/.gnomerc文件如果没有
可以自已用% vi .gnomerc命令创建。
export XIM_PROGRAM=fcitx
export XIM=fcitx
export XMODIFIERS="@im=fcitx"
fcitx&
2、设置系统编码环境为GB2312,可在GDM登录窗口按左下角的LANGUAGE(语言)选项设置。
3、重启GDM即可。fcitx的配置文件在~/.fcitx目录下,你可根据自已的需求进行配置。

2005/01/05
在双cpu或超线程cpu的debian环境中,运行top后,如只看到一个cpu,可再按1(数字)显示多cpu状态。

问题:在debian中使用fcitx输入法时出错,运行fcitx命令后,按Ctrl+Space可以调出输出菜单,但按任意键后fcitx自动退出,报以下错误:
FCITX -- Get Signal No.: 11
FCITX -- Exit Signal No.: 11
解决方法:卸载程序,并删除~/.fcitx目录,重装程序。

2004/12/29
debian中locale的设置:
在Debian中,设置系统支持的locale方法为:
dpkg-reconfigure locales
可查看装载的编码方法:
locale -a
更改当前的locale:
export LANG=zh_CN.GB2312

Python的设置
python有一个locale包,可设置当前的locale参数。
import locale
locale.setlocale(locale.LC_ALL, 'zh_CN.GBK')

Zope的设置
zope的配置文件Zope.conf中,有一个locale的设置:
locale zh_CN.UTF8

在debian下安装java的链接:
http://wiki.linux.org.hk/index.php/How_to_install_Java_on_Debian
在debian下如何产生ssl证书
http://wiki.linux.org.hk/index.php/How_to_generate_an_SSL_cert

2004/12/22
在debian中,为了正常运行mtrg,需修改snmpd.conf中内容:
#       sec.name  source          community
com2sec paranoid  default         public
#com2sec readonly  default         public
#com2sec readwrite default         private
改成
#       sec.name  source          community
#com2sec paranoid  default         public
com2sec readonly  default         public
#com2sec readwrite default         private

2004/12/21
可通过配置/etc/apt/apt.conf文件来设置apt命令的默认行为,如:
APT::Default-Release "testing";      设置默认版本   
APT::Get::Show-Upgraded "true";      在运行apt-get upgrade时显示需升级的软件包
APT::Get::Purge "true";              默认会删除配置文件
APT::Get::Show-Versions "true";      显示版本
APT::Cache::NamesOnly "true";        显示
详情请参考man apt.conf

2004/12/21
经测试,在debian中正确安装phpldapamdin的顺序应该是apache2,php4,libapache2-mod-php4,php-ldap,phpldapadmin。

2004/12/21
问题:安装phpldapadmin后启动web页面出错,提示php不支持ldap。
解决:由于安装php,apache2和ldap的顺序较乱,所以php-ldap没有正确配置,重新运行以下命令配置php.ini文件
后重启apache2服务器即正常运行。
# dpkg-reconfigure php-ldap

2004/12/21
问题:配置zope2.7自启动
解决:安装zope2.7时,系统已自动生动自动启脚本,存放在/etc/init.d目录,并配置了自动启动,
可用rcconf命令查看。但由于我的实例是安装在/data/zope2.7目录下,所以需修改/etc/default/zope2.7
文件,把路径写到INSTANCE="/data/zope2.7"里即可。

2004/12/20
>>>pon dsl-provider   启动ADSL拔号,/etc/ppp/peers/dsl-provider是ADSL拔号配置文件。用工具生成,不过生成工具
在GNOME中用好象有问题,把出错信息也存入配置文件。在KDE中就没问题,???奇怪。
poff dsl-provider   可中断ADSL连接。
plog   可查看连接状态。

2004/12/19
>>>安装了个人防火墙后,vpn不正常,连接不通。应该是iptables设置问题。删除防火墙和iptables后恢复正常。

>>>在 Debian 中安装和使用 Oracle 10g

作为一个桌面确实没有必要安装 Oracle 10g,这篇文章写给对 Oracle 感兴趣的人:

\subsection{安装 Oracle 10g}

1、安装必要的软件

$ su
# apt-get install wajig
# apt-get install libc6-dev
# wajig install gcc make binutils libmotif3 lesstif2 rpm

2、安装准备

# exit
$ xhost + (让 root 能访问 X)

$ su
# cd /tmp
# gunzip ship.db.cpio.gz
# cpio -idmv < ship.db.cpio

# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle -m

# mkdir -p /u01/app/oracle
# mkdir -p /u02/oradata
# chown -R oracle:oinstall /u01 /u02
# chmod -R 775 /u01 /u02

# vi /etc/sysctl.conf
添加以下内容:
kernel.sem = 250 32000 100 128
kernel.shmmax = 2147483648
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

# sysctl -p (使对 sysctl.conf 的修改立即生效)

# vi /etc/security/limits.conf
添加以下内容:
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

# vi /etc/pam.d/login
添加以下内容:
session required pam_limits.so

# vi /etc/profile
添加以下内容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

# ln -s /usr/bin/awk /bin/awk
# ln -s /usr/bin/basename /bin/basename

# echo "Red Hat Linux release 2.1 (drupal)" > /etc/redhat-release (伪装成 Redhat, 因为 Oracle 安装程序要检查 Linux 发型版)

# su oracle
$ vi ~/.bash_profile
添加以下内容:
umask 022
ORACLE_BASE=/u01/app/oracle
ORACLE_SID=test
export ORACLE_BASE ORACLE_SID
unset ORACLE_HOME
unset TNS_ADMIN

3、安装 Oracle 10g

$ cd /tmp/Disk1
$ LC_ALL=en_US ./runInstaller (修改 LC_ALL 是因为中文不能正常显示,有谁能告诉我怎样让中文安装界面显示正确吗?)
在提示运行 root.sh 前先:
# ln -s /etc /etc/rc.d

4、起动和停止 Oracle 服务

# vi /etc/oratab
内容为:
*:/u01/app/oracle/product/10.1.0/db_1:N
test:/u01/app/oracle/product/10.1.0/db_1:Y

# vi /etc/init.d/oracle
内容为:
#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
# chkconfig: 345 91 19
# description: Startup/Shutdown Oracle listener and instance

ORA_HOME="/u01/app/oracle/product/10.1.0/db_1"
ORA_OWNR="oracle"

# if the executables do not exist -- display error

if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi

# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display

case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
su - $ORA_OWNR -c $ORA_HOME/bin/dbstart
touch /var/lock/subsys/oracle
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"
su - $ORA_OWNR -c $ORA_HOME/bin/dbshut
rm -f /var/lock/subsys/oracle
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart|reload"
exit 1
esac
exit 0

# chmod +x /etc/init.d/oracle
# ln -s /etc/init.d/oracle /etc/rc.d/rc2.d/S99oracle
# ln -s /etc/init.d/oracle /etc/rc.d/rc3.d/S99oracle
# ln -s /etc/init.d/oracle /etc/rc.d/rc4.d/S99oracle
# ln -s /etc/init.d/oracle /etc/rc.d/rc0.d/K01oracle
# ln -s /etc/init.d/oracle /etc/rc.d/rc6.d/K01oracle

今后可以通过以下命令启动和停止 oracle 服务:
启动 oracle:wajig start oracle
停止 oracle:wajig stop oracle

2004/12/18
>>>编译内核失败,不能启动后的修复操作:
内核编译后bzImage的路径是arch/i386/boot/bzImage
编译成功后将bzImage和内核所在目录下的System.map复制到/boot目录下,bzImage应改为vmlinuz。对于重启无法进入系统的情况,可以
使用安装盘进入安装界面,然后用Alt+F2打开一个控制台,挂载原来的根分区到某一目录比如/mnt/debian 运行命令chroot /mnt/debian
你就可以像在普通系统中一样修改LILO配置,运行LILO命令修改完成后用exit命令退出。卸载相应的分区,否则再次启动时DEBIAN会要求硬盘检测

>>>升级到2.4.20内核的操作方法
make menuconfig
make dep
make bzImage
make modules
make modules_install
在make menuconfig的时候如果报错说ncurses没有,那就要先安装这个库.
注意,在基本系统里已经安装了libncurses,但是编译内核时还需要libncurses-dev这个库,需要把这个也装上。

如果需要framebuffer,那么在内核里选上framebuffer支持。

cp System.map /boot/System.map-2.4.20
cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.20

vi /etc/lilo.conf
把新内核加进去,
image=/boot/vmlinux.2.4.20

>>>debian内核编译的标准方法
# apt-get install debhelper modutils kernel-package libncurses5-dev
# apt-get install kernel-source-2.4.18 # 使用最新版本
# apt-get install fakeroot
# vi /etc/kernel-pkg.conf # 输入我的名字和email
$ cd /usr/src # 创建目录
$ tar --bzip2 -xvf kernel-source-2.4.18.tar.bz2
$ cd kernel-source-2.4.18 # 如果这是你的内核源码
$ cp /boot/config-2.4.18-386 .config # 将当前配置设定为默认配置
$ make menuconfig # 按自己的喜好来定制
$ make-kpkg clean # 必须执行这步(per: man make-kpkg)
$ fakeroot make-kpkg --append_to_version -486 --initrd \
--revision=rev.01 kernel_image \
modules_image # modules_image可以是pcmcia-cs*等。
$ cd ..
# dpkg -i kernel-image*.deb pcmcia-cs*.deb # 安装

make-kpkg kernel_image实际上执行了make oldconfig和make dep。如果没使用initrd就不要使用--initrd选项。

如果想加载pcmcia-cs模块或没有pcmcia,应该在make menuconfig后选“General setup -->”进入“PCMCIA/CardBus support -->”,
配置“<>PCMCIA/CardBus support”选项(例如,取消复选项)。

对于SMP机器,参照kernel-pkg.conf(5)的说明设置CONCURRENCY_LEVEL。

>>>debian内核编译的经典方法
从下列地址获得干净的源代码:

·Linux: http://www.kernel.org/
·pcmcia-cs: http://pcmcia-cs.sourceforge.net/

或使用Debian所附的等价的源代码:

# cd /usr/src
# tar xfvz linux-whatever.tar.gz
# rm -rf linux
# ln -s linux-whatever linux
# tar xfvz pcmcia-cs-whatever.tar.gz
# ln -s pcmcia-cs-whatever pcmcia
# cd linux
# make menuconfig
... 配置内核选项 ...
# make dep
# make bzImage
... 编辑lilo/grub ...
... 移动/usr/src/linux/arch/i386/boot/bzImage到boot ...
... /sbin/lilo or whatever you do for grub
# make modules; make modules_install
# cd ../pcmcia
# make config
# make all
# make install
... 添加需要的模块名称到/etc/modules
# shutdown -r now
... 启动到新内核 ...

2004/12/17
 ps 是我们经常要用到的命令,下面列出ps命令信息的说明,方便查询。
    UID 进程属主的用户ID号。
    PID 进程ID号。
    PPID 父进程的ID号。
    C 进程最近使用CPU的估算。
    STIME 进程开始时间,以“小时:分:秒”的形式给出。
    TTY 该进程建立时所对应的终端,“?”表示该进程不占用终端。
    TIME 报告进程累计使用的CPU时间。注意,尽管觉得有些命令(如sh)已经运转了很长时间,
但是它们真正使用CPU的时间往往很短。所以,该字段的值往往是0:00。
    CMD 是command(命令)的缩写,往往表示进程所对应的命令名。
    USER 启动进程的用户。
    %CPU 运行该进程占用CPU的时间与该进程总的运行时间的比例。
    %MEM 该进程占用内存和总内存的比例。
    VSZ 虚拟内存的大小,以KB为单位。
    RSS 占用实际内存的大小,以KB为单位。
    STAT 表示进程的运行状态,包括以下几种代码:
    D 不可中断的睡眠;
    R 就绪(在可运行队列中);
    S 睡眠;
    T 被跟踪或停止;
    Z 终止(僵死)的进程。

    对于BSD格式,还包括以下代码:
    W 没有内存驻留页;
    < 高优先权的进程;
    N 低优先权的进程;
    L 有锁入内存的页面(用于实时任务或定制I/O任务);
    START 开始运行的时间。

2004/12/16
今天参照openldap网站的文档写了一个ldap的schema,感觉不是很难,只要理解了schema的层次结构和各种
对象属性,就可根据自已的需要编写自定义的schema。

2004/12/13
问题:把一编文章的编码从gb18030转换到utf-8
解决:使用iconv命令就可实现,如下:
$ iconv -f GB18030 -t utf-8 gb18030.xml >utf.xml
用法: iconv [选项...] [文件...]
Convert encoding of given files from one encoding to another.

 输入/输出格式规范:
  -f, --from-code=NAME       原始文本编码
  -t, --to-code=NAME         输出编码

 信息:
  -l, --list                 列举所有已知的字符集

 输出控制:
  -c                         从输出中忽略无效的字符
  -o, --output=FILE          输出文件
  -s, --silent               suppress warnings
      --verbose              打印进度信息

  -?, --help                 给出该系统求助列表
      --usage                给出简要的用法信息
  -V, --version              打印程序版本号

问题:需设置网卡的双工模式
解决:使用mii-tool命令。
$ mii-tool       #不带参数可显示网卡的工作模式
$ mii-tool eth1 -F 10baseT-FD    #强制eth1为10M全双工模式
$ mii-tool --help            #查看详细帮助

2004/12/09
问题:需要用linux在console口登录CISCO 2950交换机
解决:在Linux也有很多超级终端工具,基于字符界面和基于X window的都有。我选择了minicom 2.1,安装步骤如下:
1、到网上下载解压后,按configure、make、make install步骤安装,很简单的。我把它安装到/usr/local/minicom目录。
2、安装完成后,就可进入/usr/local/minicom/bin目录,运行$ ./minicom。配置和使用前最好查询一下minicom的man页,学习一下
它的键盘操作命令。注意,如果在/usr/local/minocom/下没有etc目录,就要新建一个,用于保存配置文件。
3、进入minocom界面后,按Ctrl+A调出命令模式后,再按o命令,进入配置菜单。主要调整两样,一个是串口号,一个是波特率。
我的配置是:串口设置填/dev/ttyS0,波特率部份填9600 8N1。
4、配置后,选择“Save setup as...”把它存为cisco。用X命令退出minicom。
5、用串行线连接电脑串口与交换机的控制口(Console)后,用$ ./minicom cisco进入minicom即可。
注:可以把配置里的modem配置里的初始化字串删除,因为进入交换机后执行该初始化字串是没意义的。

2004/11/29
问题:主从DNS服务器的区域信息不能同步。
解决:由于更新主DNS服务器的区域信息文件后没有增加serial的值。增加该值后reload服务器配置信息就可以同步了。

相关阅读 更多 +
排行榜 更多 +
操控2

操控2

飞行射击 下载
易次元编辑器

易次元编辑器

浏览阅读 下载
快递员揽派

快递员揽派

生活实用 下载