初学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]
相关文章推荐
- 移植linux3.7到nuc900系列开发板遇到的问题
- NHibernate初学遇到的问题及解决方案之一
- git添加远程库遇到的问题及解决方案(Linux)
- Redis介绍——Linux环境Redis安装全过程和遇到的问题及解决方案
- 初学Linux RHEL时遇到的系列问题和解决方案
- Linux安装openssh详细步骤及遇到问题的解决方案
- NHibernate初学遇到的问题及解决方案之一
- linux安装mysql数据库遇到的问题及解决方案
- Redis介绍——Linux环境Redis安装全过程和遇到的问题及解决方案
- 从安装mysql到初学时遇到的问题及解决方案 推荐
- hadoop在linux操作系统中部署遇到的问题及解决方案
- WinCE初学遇到的问题及解决方案
- 各种版本的linux下安装多个版本的NS2(比如ns2.31和ns2.27)中遇到的问题和解决方案
- 1:初学hadoop遇到各种错误,这里贴一下,方便以后脑补吧,报错如下: 主要是在window环境下面搞hadoop,而hadoop部署在linux操作系统上面;出现这个错误是权限的问题,操作had
- 使用Linux遇到的一些问题和解决方案
- Linux 学习一 搭建环境系列之三 linux搭建django 以及搭建django时遇到的各种问题
- CRichEditCtrl系列讲堂4 自己遇到的查找问题及解决方案
- [计算机视觉][ARM-Linux开发] Ubuntu14.04安装OpenCV3.2中遇到的问题的解决方案
- 使用Linux过程中遇到的问题以及解决方案