您的位置:首页 > 运维架构 > Linux

初学Linux时遇到的系列问题和解决方案

2010-09-15 20:32 239 查看

1、在VPC中安装RHEL,startx时花屏

  说明:这是由于VPC色度不支持(真彩)24色导致的,直接修改为16即可。

  方法:vi /etc/X11/XF86Config | vi /etc/X11/xorg.conf

     Section "Screen"节点

       修改 Depth 16 -- 默认24

          Modes "1024x768" "800x600" "640x480"

2、locate命令无效。

  说明:系统提示“warnning: database '/var/lib/slocate/slocate.db' is more than 8 days old ”。

  方法:updatedb

3、VPC中,间断性的显示:localhost kernel: i8253 count too high! resetting..

  说明:【摘】i8253是计算机内的一个计时器芯片,当使用虚拟机或是某些笔记本安装 linux的时候,系统的时间会不定期的产生一些误差,包括linux在内的很多系统都可以进行纠正这种时间上的混乱。Linux的2.4.20核心以及 更高版本的核心在处理这种时间上的混乱时会同时发送一条Debug信息,这条信息就是i8253 count too high。

  方法:chkconfig pcmcia off,每次开机都运行。

  其它:关闭提示:开机到grub处,按下e键,选择kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ ,在末尾处“空格+single”,然后回车退出,再按b键引导进入单用户模式,在单用户模式下输入chkconfig pcmcia off;消除误差:通过修改源代码arch /i386 /kernel /time.c 文件并重新编译。



4、xWindow中文字体乱码。

  说明:桌面linux乱码

  方法:拷贝字体库(从Win系统中获取或网上下载)文件到: /usr/share/fonts/chinese/TrueType/目录。


5、Linux中firefox的安装。(丢弃)

  说明:半天没装上。RPM resource libpangocairo-1.0.so.0

    运行时提示: ./firefox-bin: error while loading shared libraries: libpangocairo-1.0.so.0: cannot open shared object file: No such file or directory。

    从rpmfind.net下载了pango-1.28.1-5.fc15 RPM for i686,rpm安装后还是老样子。

  方法:faint, 继续安装中。。。(可能是RHEL版本太老的缘故,多数rpm版本不够,装个firefox1,2看看。)

  继续晕,,,装FF到xWindow都进不去:

/usr/bin/gnome-session: error while loading shared libraries: libXinerama.so.1: cannot open shared object file : No such file or directory

Firefox 3.6 System Requirements
Please note that Linux distributors may provide packages for your distribution which have different requirements.

Firefox will not run at all without the following libraries or packages:

GTK+ 2.10 or higher
GLib 2.12 or higher
Pango 1.14 or higher
X.Org 1.0 or higher

For optimal functionality, we recommend the following libraries or packages:

NetworkManager 0.7 or higher
DBus 1.0 or higher
HAL 0.5.8 or higher
GNOME 2.16 or higher

6、Apache的安装

  说明:

  方法: ./configure --sysconfdir=/etc/httpd --datadir=/usr/local/apache2/httpd --enable-modules=most --enable-mods-shared=all --enable-so

  (Fault: no acceptable C compiler found in $PATH)

  # 要安装 GCC

  # install gcc-x.x.x-xx.el5.ix86.rpm

  # install gcc-objc-x.x.x-xx.el5.ix86.rpm

  # install gcc-objc++-x.x.x-xx.el5.ix86.rpm

  make

  make install

  chkconfig -add httpd

  chkconfig httpd on

7、Linux中jdk+tomcat的安装(稳定版: JDK1.5 + TOMCAT5)。

  说明:

  方法:到http://java.sun.com/javase/downloads/5u22/jdk上下载jdk-1_5_0_22-linux-i586-rpm.bin。 先sh, 后rpm -ivh jdk-1_5_0_22-linux-i586.rpm。

  完成安装后 vi /etc/profile:

    export JAVA_HOME=/usr/java/j2sdk1.5.0_22 (Faint, 地址写错,查了N久! debug 提示 nb: java_home should point to a jdk not a jre)

    export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

  reboot or source /etc/profile

  java -version 查看jvm版本。(java version "1.5.0.22" /r/n java(TM) 2 Runtime Environment,,,etc,)

  tomcat下载

  完成解压后 vi /etc/profile

    export TOMCAT_HOME=/usr/local/tomcat-5.5.31

    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin:$TOMCAT_HOME/bin

  reboot or source /etc/profile

  chmod u+x $TOMCAT_HOME/bin/*.sh

  ## $TOMCAT_HOME/bin/catalina.sh debug

  sh $TOMCAT_HOME/bin/startup.sh

8、Linux中 Apache + Tomcat 与 Apache + mod_jk2 + Tomcat 的区别。

  说明:如何做apache+tomcat整合。单独安装Apache和Tomcat并没做整合。

    apache解析html效率高,tomcat作为jsp,servlet的容器,解析html不如apache。

  方法:Apache和Tomcat的整合有三种方式,分别是JK、http_proxy和ajp_proxy.其中JK方式是最常见的方式,JK本身有两个版本分别是1和2,目前1最新版本是1.2.8,而版本2早已经废弃了。http_proxy是利用Apache自带的mod_proxy模块使用代理技术来连接Tomcat。Ajp_proxy连接方式其实跟http_proxy方式一样,都是由mod_proxy所提供的功能。只需要把配置中的 http://换成ajp://,同时连接的是Tomcat的AJP Connector所在的端口。JK稳定性好,建议采用。

  JK下载,JK安装参考

  tar -zxvf tomcat-connectors-1.2.30-src.tar.gz

  cd ./tomcat-connectors-1.2.30-src/native

  ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-java-home=/usr/java/jdk1.5.0_22/bin

  make, make install

  # cp ./apache-2.0/mod_jk.so $APACHE_HOME/modules/mod_jk.so (auto)

  cp workers.properties /etc/httpd/conf/workers.properties

  cp httpd-jk.conf /etc/httpd/conf/mod_jk.conf

  httpd -t

   (httpd: Syntax error on line 200 of /etc/httpd/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_jk.so into server: /usr/local/apache2/modules/mod_jk.so: undefined symbol: ap_get_server_description

   下载其它: mod_jk.so: ELF file data encoding not little-endian)

  下载mod_jk-1.2.30-httpd-2.2.X.so并覆盖mod_jk.so

  (httpd: Syntax error on line 216 of /etc/httpd/conf/httpd.conf: Syntax error on line 4 of /etc/httpd/conf/mod_jk.conf: Cannot load /usr/local/apache2/modules/mod_jk.so into server:
/usr/local/apache2/modules/mod_jk.so: failed to map segment from shared object: Permission denied)

  ls -Z /usr/local/apache2/modules (查看 selinux security 的 context 项目)

  chcon -t httpd_modules_t /usr/local/apache2/modules/mod_jk.so

  ls -Z /usr/local/apache2/modules/mod_jk.so

    (list: -rwxr-xr-x root root root:object_r:httpd_modules_t mod_jk.so)

  httpd -t

   (Syntax OK)

  jk 配置

  [b]httpd.conf


    Include /etc/httpd/conf/mod_jk.conf

  mod_jk.conf

    LoadModule jk_module /usr/local/apache2/modules/mod_jk.so

    <IfModule jk_module>

     JkWorkersFile /etc/httpd/conf/workers.properties

     JkLogFile /var/log/httpd/mod_jk.log

     JkLogLevel info

     JkShmFile /var/log/httpd/mod_jk.shm

     JkWatchdogInterval 60

     JkMount /*.jsp tomcatwork

     JkMount /servlet/* tomcatwork

     <Location /tomcatwork>

     # Inside Location we can omit the URL in JkMount

     JkMount tomcatwork

     Order deny,allow

     Allow from all

     </Location>

    </IfModule>

  workers.properties

    worker.list=tomcatwork

    worker.tomcatwork.type=ajp13

    worker.tomcatwork.host=localhost

    worker.tomcatwork.port=8009

    worker.tomcatwork.lbfactor=1

  $TOMCAT_HOME/conf/server.xml

<Server port="8005" shutdown="SHUTDOWN">

<Listener className="org.apache.jk.config.ApacheConfig" modJk="/usr/local/apache2/modules/mod_jk.so" workersConfig="/etc/httpd/conf/workers.properties"/>

...

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

<Listener className="org.apache.jk.config.ApacheConfig" append="true" jkWroker="tomcatwork"/>

...

</Host>

...

</Server>

  tomcat服务 jsvc参考

  cd $TOMCAT_HOME/bin

  tar xvfz commons-deamon-native.tar.gz

  cd commons-daemon-1.0.2-native-src/unix

  ./configure && make

  cp jsvc ../..

  cd $TOMCAT_HOME

  ./bin/jsvc -Djava.endorsed.dirs=./common/endorsed -cp ./bin/bootstrap.jar /

   -outfile ./logs/catalina.out -errfile ./logs/catalina.err /

   org.apache.catalina.startup.Bootstrap

  ln -s $TOMCAT_HOME//bin/commons-daemon-1.0.2-native-src/unix/native/Tomcat5.sh /etc/init.d/tomcatd

  vi /etc/init.d/tomcatd

  #!/bin/sh

  # chkconfig: 2345 10 90

  # description: Starts and Stops the Tomcat deamon.

  # ...

  # Adapt the following lines to your configuration

  JAVA_HOME=/usr/java/jdk1.5.0_22

  CATALINA_HOME=/usr/local/tomcat-5.5.31

  DAEMON_HOME=/usr/local/tomcat-5.5.31/bin/commons-daemon-1.0.2-native-src

  TOMCAT_USER=fbug

  JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=64M"

  # for multi instances adapt those lines.

  TMP_DIR=/var/tmp

  PID_FILE=/var/run/jsvc.pid

  CATALINA_BASE=/usr/local/tomcat-5.5.31

  CATALINA_OPTS="-Djava.library.path=/usr/local/tomcat-5.5.31/jni/native/.libs"

  CLASSPATH=/

  # ...

  chkconfig --add tomcatd

  (service tomcatd does not support chkconfig, Tomcat5.sh头部加红色附注即可解决)

  chkconfig tomcatd on

  service tomcatd start/stop

  其他:jsvc.tar.gz 在linux上以服务的方式启动java程序, 如用来自动启动tomcat。

9、Linux 系统的启动过程

  说明:

  方法:BIOS -> LILO/GRUB -> Kernel -> Init[rc.sysinit, rc] -> mingetty -> login -> shell。

  当Bash作为login shell被激活时,它将依次读取并执行以下文件:

  /etc/profile,~/.bash_profile,~/.bash_login,~/.profile

  使用--noprofile选项激活Bash可以禁止其读任何初始化文件

  在退出时执行 ~/.bash_logout 文件

  当Bash作为非login shell被激活时,它将读取并执行~/.bashrc

  使用--norc选项激活Bash可以禁止执行任何初始化文件, 使用 --rcfile file可以指定执行的初始化文件.

10、Linux 系统 Putty连接配置

  说明:ssh被安全策略过滤。

  方法:

chkconfig sshd on;
service sshd start;
service iptables stop; -- vi /etc/sysconfig/iptables

[-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT]

11、Linux中文输入法安装

  说明:Linux下的中文输入发。

  方法:fcitx3.6.3下载;

  1, tar jxvf;

  2, yum -y install gettext gettext-devel libXft libX* (linux字体)

  3, ./autogen.sh

  4, ./configure && make && make install

  5, vi /etc/X11/xinit/xinput.d/zh_CN

    XIM=fcitx

    XIM_PROGRAM=fcitx

    GTK_IM_MOUDLE=fcitx

    QT_IM_MOUDLE=fcitx

  6, vi ~/.bashrc (append)

    export LC_CTYPE="zh_CN"

    export XMODIFIERS="@im=fcitx" (before if [ -f /etc/bashrc ]; then...)

    vi ~/.i18n (new file)

    LANG="zh_CN.UTF-8"

  7, reboot(CTRL+ALT+BACKSPACE) OK

  fcitx -c

  fopen: No such file or directory

  yum -y install strace

  strace fcitx

  vi ~/.bashrc

  export XDG_CONFIG_HOME=/usr/local/fcitx-3.6.3/conf

  fcitx -c

  fcitx -d

12、linux系统的运行级别

  说明:vi /etc/inittab 内容:“id:3:initdefault:  ”

  方法:

    0 - 系统停机状态

    1 - 单用户工作状态

    2 - 多用户状态 (没有NFS)

    3 - 多用户状态 (有NFS)

    4 - 系统未使用,留给用户,一般在系统出现故障时使用

    5 - X11控制台 (xdm,gdm或kdm)

    6 - 系统正常关闭并重新启动

      常用的运行级别是3(在linux系统启动后进入字符模式) 和 5(在linux系统启动后进入图形模式)

  其它:/boot/grub/grub.conf 设置grub引导等待时间。

13、挂接新硬盘

  说明:06年的w320a本(神舟)用vmware没空间。

  方法:

    vmware分配2G新硬盘,

    reboot : sdb: assuming drive cache: write through (/dev/sdb (新出现))

    fdisk /dev/sdb [n, p, 1], [w]

    mount -t ext3 /dev/sdb1 /usr/local/src

    (mount: wrong fs type, bad option, bad superblock on /dev/sdb1 ...)

    mkfs -t ext3 -c /dev/sdb1

    (invalid argument passed to ext2 library while setting up superblock)

    fdisk -l

    fdisk /dev/sdb [n,l,1] [w]

    fdisk -l

     Device Boot Start End  Blocks   Id  System

    /dev/sdb1   1   261  2096451  5  Extended (主分区,1-4)

    /dev/sdb5   1   261  2096419+ 83  Linux (扩展分区,从5开始)

    mkfs -t ext3 -c /dev/sdb5

    mount -t ext3 /dev/sdb5 /usr/local/src

    ls /usr/local/src

    vi /etc/fstab

    /dev/sdb1   /usr/local/src    xt3  defaults  1 2

14、挂接磁盘自动加载失败。

  说明:


  方法: rescue模式进入linux(光盘引导,输入:linux rescue)。

  vi /mnt/sysimages/etc/fstab

  /dev/sdb5   /usr/local    xt3  defaults  1 2

  reboot

  (lol~~, Success!)

  (此时,/usr/local目录为 sdb的内容,而原先的sda中的/usr/local被隐藏。)

20、Tomcat实现负载均衡(待解决)

  说明:负载均衡实现的方式大概有四种:

    第一是通过DNS,但只能实现简单的轮流分配,不能处理故障。

    第二如果是基于MS IIS,Windows 2003 server本身就带了负载均衡服务。

    第三是硬件方式,通过交换机的功能或专门的负载均衡设备可以实现。

    第四种是软件方式,一台Apache Httpd Server做负载均衡,N台Tomcat集群节点;策略配置。连接用JK。

  方法:(研究中。。。)

    Apache+Tomcat集群的方式使用到得配置文件有httpd.conf、mod_jk.conf、workers.properties。

  参一、参N

10000、其它:个人新学命令,自己使用

名称:history

说明:罗列最近输入的命令

用法:history 5

名称:which

说明:查找命令所在目录

用法:which ls

名称:PS1 PS2

说明:设置提示符

用法:PS1='[/u@/h /w]/$'

/!    显示该命令的历史记录编号。

/#    显示当前命令的命令编号。

/$    显示$符作为提示符,如果用户是root的话,则显示#号。

//    显示反斜杠。

/d    显示当前日期。

/h    显示主机名。

/n    打印新行。

/nnn   显示nnn的八进制值。

/s    显示当前运行的shell的名字。

/t    显示当前时间。

/u    显示当前用户的用户名。

/W    显示当前工作目录的名字。

/w    显示当前工作目录的路径。

我的站点:www.fbug.cn

[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: