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

来源:互联网 发布:命令行 创建js文件 编辑:程序博客网 时间:2024/05/16 14:44

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 配置
  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被安全策略过滤。
  方法:

  1. chkconfig sshd on;
  2. service sshd start;
  3. 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    显示当前工作目录的路径。

0 0
原创粉丝点击