Skip navigation.

Render in Opera

computer, internet, software

Posts tagged with "linux"

linux下文件结构

/bin 二进制可执行命令
/dev 设备特殊文件
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和脚本
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序
/tmp 公用的临时文件存储点
/root 系统管理员的主目录(呵呵,特权阶级)
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/var 某些大文件的溢出区,比方说各种服务的日志文件
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:
/usr/X11R6 存放X window的目录
/usr/bin 众多的应用程序
/usr/sbin 超级用户的一些管理程序
/usr/doc linux文档
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
/usr/man 帮助文档
/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的库
根文件系统


通常情况下,根文件系统所占空间一般应该比较小,因为其中的绝大部分文件都不需要
经常改动,而且包括严格的文件和一个小的不经常改变的文件系统不容易损坏。
......

Read more...

linux下利用mod-jk实现apache和tomcat整合

, ,

看清楚了,这个是mod-jk,不是过时的mod-jk2,下面以ubuntu6.10版为例说明简单的安装过程,(源中已经有了mod-jk模块更详细的可以见:http://www.howtoforge.com/apache2_tomcat5_mod_jk)

1. 安装java或jre,并配置路径,不用我说了。

2. 安装apache.
sudo apt-get install apache2

3. 安装tomcat。
为了安装多个tomcat,我是从tomcat的官方网站上直接拉下的xxx.tar.gz,解压的,如解到/usr/local/tomcat下

4. 安装mod-jk
sudo apt-get install libapache2-mod-jk

5. 配置apache主目录到tomcat主目录下
与windows下的一个httpd.conf文件不同,linux下apache的配置文件一大堆,在/etc/apache2下,由apache2.conf包含了其它很多的文件

改动apache的目录使其指向tomcat的webapps目录下,则要改动/etc/apache2/sites-available/default文件
将DocumentRoot 和下面的Directory下面的目录指向/usr/local/tomcat/webapps

6. 将jsp文件作为主文件
编辑/etc/apache2/apache2.conf,在DirectoryIndex index.html的后面加上一个 index.jsp

7. 设置链接
建立一个workers.properties文件
touch /etc/apache2/workers.properties
编辑它,加入下面内容

workers.tomcat_home=/usr/lib/tomcat
workers.java_home=/usr/lib/jdk
ps=/
worker.list=worker1

worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1

其中,worker.tomcat_home是tomcat的安装目录,workers.java_home是java的目录,如果系统已经设置了JAVA_HOME或是JRE_HOME这一行可以省略。

8. 设置mod-jk
编辑/etc/apache2/mods-available/jk.load
加上下面内容

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

# Where to find workers.properties
JkWorkersFile /etc/apache2/workers.properties

# Where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"


# Send servlet for context / jsp-examples to worker named worker1
JkMount /jsp-examples worker1
# Send JSPs for context /jsp-examples/* to worker named worker1
JkMount /jsp-examples/* worker1
JkUnMount /*.jpg worker1

共中可以有钓竿JkMount和JkUnMount设置,JkMount是什么目录下的文件或文件类型要经过tomcat处理,JkUnMount则是过滤掉,直接由apache处理
这样要根据你的web应用的情况进行配置

9. 重启tomcat和apache就行了....

linux下利用mod-jk2实现apache和tomcat整合

, ,

说明:mod-jk2是一个tomcat和web服务器的连接器,但是它并没有比它开始的早的mod-jk好用,因此整合tomcat和apache还是推荐mod-jk,更详细的信息可以在http://tomcat.apache.org/connectors-doc/找到,mod-jk2目前已经是deprecated了,如下面的说明:

In order to make the connection between Tomcat and Apache, we will need to download and install mod_jk connector. You will find that the Apache documentation recommends that you install the packaged version of mod_jk if it is available for your particular Linux distribution. Many outdated resources recommend installing the mod_jk2 connector, but I have found that it has been deprecated and although mod_jk was developed before mod_jk2, it is still fully supported and is very stable.

下面就以ubuntu下得用mod-jk2实现apache和tomcat整合进行说明,注意,新版本的ubuntu(如6.10)源中已经没有了mod-jk2,只有mod-jk,因此,下面的内容只适用于老版本作参考。

1.安装apache
sudo apt-get install apache2

编辑/etc/apache2/apache2.conf文件,在改动之前,请先将该配置文件做个备份。以便在出错的时候可以恢复。

AddDefaultCharset ISO-8859-1 =>AddDefaultCharset GB2312
这样的话,我们就不会每次打开网页都是乱码了!



2.安装mod-jk2模块
sudo apt-get install libapache2-mod-jk2
这是完整的包名。



3.配置
首先,在tomcat目录的conf文件夹下创建jk2.properties文件,在里面加入

handler.list=channelSocket,request
channelSocket.port=8009

两行。然后将/usr/share/doc/libapache2-mod- jk2/examples/workers2.properties.minimal复制到/etc/apache2/目录下,并改名为 workers2.properties,编辑这个文件,将其中
[config:]
file=${serverRoot}/conf/workers2.properties
debug=0
debugEnv=0

这段改为:
[config:]
file=${serverRoot}/workers2.properties
debug=0
debugEnv=0

保存修改,最后编辑/etc/apache2/mods-available/jk2.conf文件,去掉最后一行:
#JkSet config.file /etc/apache2/workers2.properties
的注释。

保存并退出编辑,OK,至此apache和tomcat的整合工作已经完成。当然,我今天写的只是最基本的让apache和tomcat协同工作的方法,有很多设置需要你根据的需求自己进行修改。


还有,在另外建了站点以后(如果没有在/tomcat/path/webapps目录下),还要在 workers2.propertier定义uri路径,也就是客户端的请求从apache转到tomcat中的哪些类型文件可以被转发.有一个万用的方法就是定义如下的URI:

[uri:/*]
debug=0
也就是所有的文件类型都可以由apache转到tomcat中进行编译.
当然,这就是对服务器的性能有所折扣了。

4.重启服务器
重启tomcat和apache
基中要使用/etc/init.d/apache2 -k (start|stop) 等命令来启动或关闭apache

ssh登录ubuntu,vi彩色显示

,

打开/etc/profile

添加一行:alias ls=’ls –color=auto’ ,重新登陆,ok了
当然如果再加上一条:alias ll='ls -lh --color=tty',就多了一条更好用的ll命令。

以上改动可心在~/.bashrc里面进行,这样就只影响当前的用户了


顺便把vi的也加上,这样在vi中编写html、cpp就好看多了:

打开/etc/vim/vimrc

找到:’syntax on ,把前面的注视号去掉,保存,重新开启vi,ok

edgy(ubuntu 6.10)上dpkg-reconfigure无法配置locale的问题

,

ubuntu安装后shell下出现乱码,远程用pietty问题也如此,想到了配置locale,可是ubuntu6.10上面的depk-reconfigure locales命令只能重新生成默认的locales.于是可以用下面的方法进行配置。

可以使用下面的方法进行:

1. sudo cp /var/lib/locales/supported.d/local /var/lib/locales/supported.d/local.old
2. sudo cp /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/local
编辑/var/lib/locales/supported.d/local去年不用的行(locales)
3. sudo dpkg-reconfigure --force locales

然后编辑/etc/environment文件,设置一下要用的LANG等,当然也可以用locale-gen命令设置默认的locale,如sudo locale-gen zh_CN.UTF-8

生命在于折腾-1(linux安装)

最近接收两台Dell PowerEdge2900的服务器,都是三个盘做成了一个raid5阵列。

一台要装Linux服务器,就想起了免费得来的ubuntu linxu 6.06 LTS了,打算用apt-get把它配成server

live CD启动基本正常,分区、安装也正常,退出光盘,重启说找不到主分区....

重启n遍....

重装1遍....

换server版装一遍....

都不行,最后google了n遍,找到了一个答案,说ubuntu linux 6.06TLS的这个版本所使用的linux内核有bug对处理raid以及lvm出错,并提出的解决方案。如下:

Root file systems on evms using a lvm volume group will fail to find the root file system. This is fixable:
If you have rebooted and encountered a timeout waiting for root file system, just run evms_activate which should populate /dev/evms. After that hit CTRL-D to resume the boot sequence. If you have not yet rebooted after installing the beta, or have just used the workaround above to boot, you can fix it permanently (at least until the next time you upgrade the evms package) by editing /usr/share/initramfs-tools/scripts/local-top/evms and changing the PREREQS line to read PREREQ="udev". You then need to run sudo update-initramfs -u -k `uname -r` to regenerate the initramfs for your current kernel. After that it should boot fine.


不行,继续折腾,其间又google了n遍,说是分区认错了而已,sda->sdc之类的。用grub解决吧...

折腾grub...重启n 次,不行。

想放弃了...最后终于听说ubuntu6.10已经解决了这个问题了,于是下载ubnutu6.10

经过了多次的重试和续传,才弄下来,刻盘,安装。

问题解决了......

开源的东西呀...

生命再于折腾!

linux下设置java环境变量

,

java安装了,可是使用的时候提示找不到JAVA_HOME或JRE_HOME。原因是java的路径没有设置,用下面的方法可以搞定。

UBUNTU下JAVA路径设置为例:

user environment vars settings comes from a different file which is /etc/bash.bashrc. You will have to put these lines at the bottom of bash.bashrc:

JAVA_HOME="PATH_TO _YOUR_JAVA_INSTALLATION"
export JAVA_HOME

now all you need to do is logout and login again.

如果找不到jre或java的路径就用以前说过的命令:update-alternatives --config java吧。不过注意只要取其中的一段。



安全卸载Ubuntu Linux [ZZ]

Source: http://www.acesolo.cn/articles/46.html

Ubuntu在我的硬盘上安家已经有大约半个月了,今天我下狠手把它删除了。原因有两个:

Ubuntu虽然在很多方面都做得非常人性化,但是它的优势根本不足以让我彻底舍弃Windows而转投Linux。看来桌面版的Linux,还是有很长的一段路要走。
出于个人因素,我认为研究模拟飞行比研究Linux更有趣。硬盘空间刚好不够用,所以第一想到的就是卸载Ubuntu。
好,闲话少说,回归正题。由于在这台计算机里有Windows与Linux双系统并存,所以卸载Linux的核心思想就是把系统引导权重新交给Windows,然后释放Linux所占用的系统资源。具体方法也不难,关键是最重要的两个字:安全。

拿出XP的安装光盘,启动系统,进入故障恢复控制台。依次序键入这两个命令:
fixboot
fixmbr
命令成功完成后,重起系统。
使用PQMagic等磁盘分区管理软件(推荐使用DOS版),找到Linux所在的分区,直接删除,然后将剩余空间与Windows分区合并,或者为剩余空间重新分区。用硬盘重起到Windows。至此所有工作完成。
不难看出,安全卸载Linux的步骤是先修复引导,再释放Linux占用的系统资源,这样做比先释放Linux占用的系统资源,再修复引导的方法安全许多。因为一旦修复MBR有任何闪失,还可以轻松地用Linux重新恢复MBR,但如果先把Linux删除了,进入系统的途径就少了一条,安全性也有所降低。以上方法在我的机器上没有出现任何问题,如果有疑问,可以参考Microsoft的这篇支持文档。

到现在,我对Linux的研究也就告一段落了,以后尝试的发行版,很有可能是Suse这款商业的Linux。

Linux,I'll be back!

ubuntu linux下访问windows分区(ntfs)

,

同样对于装windows和linux的双系统的朋友有帮助了

首先用下面的命令看看你硬盘的分区了,以确定要加载的ntfs分区。ubuntu已经加载了windows分区(没有写权限),那么就不用关心具体的分区了。
sudo fdisk -l

安装必要的软件包(fuse),我用的是ubuntu 6.06(dapper)。可以通过下面的命令搞定,但如果的用的老版本的ubuntu,如5.10(breezly),要手工下载并安装所需软件包,具体参看(http://www.ubuntuforums.org/showthread.php?t=142481
sudo apt-get install libfuse2 fuse-utils libntfs8 ntfsprogs

下面设定fuse启动时加载
echo fuse | sudo tee -a /etc/modules

添加一个能使用ntfs分区的用户组ntfs
sudo addgroup ntfs
出现adding group ntfs (1001)这样的输出,请记住括号里面的数字它是ntfs用户组的id.

下面要编辑fstab文件,以便打操作系统能够在启动时自动加载分区,编辑前要备份一份。
bash:~$ sudo cp /etc/fstab /etc/fstab.bak
bash:~$ sudo gedit /etc/fstab

找到系统中原先加载windows分区的行(多行)如:
/dev/sda1 /media/sda1 ntfs defaults,nls=utf8,umask=007,gid=46 0 1
将它改为下面的样子:
/dev/sda1 /media/sda1 ntfs-fuse auto,locale=zh_CN.utf8,gid=1001,umask=0002 0 0
其中gid=后面的数字就是ntfs的组id.要根据情况更改。
很多教程中都没有locale的设置,这是我加上的,发现可以解决中文问题。(当然根据你的系统来更改其值)
如果将umask=0002改为umask=0007则,没有被授权的用户对ntfs分区没有任何权限,否则可以读取。
auto,local..gid...,umask 要写到一起,中间没有空格,否则出错了可不要怪我没有提醒你呀。


添加用fuse存取ntfs分区文件的用户:如要加入用户render,可用下面的命令。
bash:~$ sudo adduser render ntfs

最后,fuse的当前版本有个bug,用下面的命令修正一下:
sudo rm /sbin/mount.ntfs-fuse && sudo ln /usr/bin/ntfsmount /sbin/mount.ntfs-fuse

好了,重新启动一下系统就可以读写ntfs分区了,如果暂时不想重启可用下面命令手动加载:
bash:~$ sudo modprobe fuse && sudo umount -a && sudo mount -a
如果不成功,要手动先umount原先的只读ntfs再用
bash:~$ sudo modprobe fuse && sudo mount -a

Good Luck!~

在windows下访问linux分区

, ,

如果您的计算机上装了windows和linux两个操作系统,那么,你很希望其中一个系统下能够读写另一个系统分区下的文件,下面就是windows下访问linux分区(EXT2,EXT3)的方法。

其实很简单,在http://fs-driver.org/处下载一个软件就可以搞定了...
November 2009
S M T W T F S
October 2009December 2009
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30