Rss聚合
Posts
Comments

Archive for the 'Linux学习笔记' Category

网上有朋友按照如下办法解决。

I followed instructions here

Code:
http://www.virtualbox.org/wiki/Linux_Downloads

After adding the ‘hardy non-free’ to sources, downloading the key and registering, run update-manager to download and configure the latest version.
When you start up VirtualBox for the first time, any existing VMs have to be converted to a new format, so make sure you backup.
I haven’t [...]

1.  apt-get source subversion 
2.  cd subversion-xxxxx现在是1.4.6
3. 编辑 debian/rules (f.e.:  gedit debian/rules )

ENABLE_JAVAHL=no

修改为:
ENABLE_JAVAHL=yes

并且将rules中的with-jdk的路径位置设置正确

confflags += –enable-javahl –without-jikes –with-jdk=/usr/lib/sun-j2sdk1.5.0

4.  dpkg-buildpackage 
这时候可能会报很多包没装上,一一装好就可以了,但是我装的时候遇到了这样的问题
python2.5-dev:
Depends: python2.5 (=2.5.2-2ubuntu4.1) but 2.5.2-2ubuntu5 is to be installed表明,我的机器上已经装了 2.5.2-2ubuntu5 ,但是应该装2.5.2-2ubuntu4.1
之前之所以装上了2.5.2-2ubuntu5,是因为曾经Python2.5 version 2.5.2-2ubuntu5 在hardy package tree中可用。但是现在已经删除,因为当时的测试出了问题。因此 python2.5-dev对应的版本也就不可用了,解决办法是降级,按照如下方法:
$ sudo apt-get install python2.5-minimal=2.5.2-2ubuntu4.1 python2.5=2.5.2-2ubuntu4.1
另外有一种方法,通过
$ sudo apt-get install libsvn1=1.4.6* libsvn-java=1.4.6* 来降级,我当时是1.5.1 subclipse工作不正常。

ubuntu中eclipse的svn plugin建议使用JNI方式,而eclipse中的packages中的libsvn-javahl的版本有没有达到要求(1.3.1 or later)因此会有一些包冲突出现。我大概的解决方案就是,到http://packages.ubuntu.com/hardy/libsvn1 这个地址下面分别把libsvn1,libsvn-java,libsvn-javahl重新安装一遍。
在ubuntu 8.10下面,无法降级javahl到1.4.1了,那么我们可以把eclipse里面的subeclipse升级为如下地址:
http://subclipse.tigris.org/update_1.4.x/

方法1:出自:http://www.lostk.com/blog/virtualbox_install_and_network_config/
一、安装
1. 下载安装包。建议下载 Deb 包。
2. 准备依赖。VirtualBox 的正常使用需要 libxalan110 和 libxerces27 这两个包。所以,你要先行安装它们,可以使用下面的指令:
sudo apt-get install libxalan110 libxerces27
3. 安装编译工具及相关包。在安装过程中,要编译 VirtualBox 所用的内核模块。为此,你需要准备基本的编译工具及包,你可以使用下列指令来安装它们:
sudo apt-get install build-essential linux-headers-`uname -r`
4. 现在,转到所保存 VirtualBox 安装包的目录,通过下面的指令来安装它:
sudo dpkg -i VirtualBox_1.x.x_Ubuntu_feisty_i386.deb
在安装的过程中,VirtualBox 会要求你接受许可协议。另外,安装程序也会创建 vboxusers 用户组,并编译所需的内核模块。
5. 现在,你还不能启动 VirtualBox,因为你的当前用户还不属于 vboxusers 用户组。你可以使用下面的指令来将当前的用户(请使用你的用户名代替指令中的“youruser”)添加到 vboxusers 用户组中:
sudo adduser youruser vboxusers
virtualbox 屏幕下移问题:
如果虚拟机的分辨率接近x的分辨率而导致部分界面在x边沿时,全屏后原来窗口管理器 title 的地方变为黑色条状区域,屏幕下移,windows的开始菜单显示在下一个桌面。
解决方法:全屏前把分辨率调小,全屏后右键把显示器分辨率调到同x一致,这样就不会有屏幕偏移。
二、桥接网络配置
一般而言,安装完VirtualBox设定网路时选择默认的NAT模式,Guest就可顺利联网了,但是这种方式比较死板,要作更有弹性的变化,应 该采用桥接模式(Bridged),这里的桥接模式就如同VMware中的Bridged模式,Host与Guest在局域网(LAN)中的地位是相等 的。
参考 virtualbox 安装后放在 VirtualBox 目录中的用户手册文件 UserManual.pdf 配置如下:
1. 在基于 Debian 和 Ubuntu [...]

vino的密碼是放在gconf xml裡面, 而且是用base64編碼方式存放
所以我的作法是…先到online的Base64 Encoder and Decoder將自己的密碼encode後,
然後再下

gconftool-2 -s -t string /desktop/gnome/remote_access/vnc_password 編碼後的密碼

這樣一來就可以再次用vnc連上遠端電腦了
以密碼”test”為例 , 經過base64編碼得到”dGVzdA==”

gconftool-2 -s -t string /desktop/gnome/remote_access/vnc_password dGVzdA==

同样的浏览器事件响应问题。在linux下面我发现我的firefox只能响应英文的按键事件,如果开启输入法(scim)那么任何事件都必须在输入发关闭后才一次性的响应到。这可能是scim设计的一个问题吧。回头我换fcitx尝试一下。另外linux下的opera似乎也是和我的windows下面的一样,无法相应a-z,A-Z等按键的事件。

Linux的启动过程,会根据/etc/sysconfig目录中的文件和目录中的内容来配置Linux的系统环境。例如keyboard,mouse,network等等
Linux的启动过程继承了SysV的Init过程,这和BSD系统中的Init有些不同。
SysV的/etc下面有一个rc.d的目录,rc.d目录中还有很多文件和子目录,如下:
init.d  rc0.d  rc2.d  rc4.d  rc6.d     rc.sysinit
rc      rc1.d  rc3.d  rc5.d  rc.local
对于运行一次就退出的那样的程序,应该写在rc.local中,我的系统当前rc.local设置如下:
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don’t
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
rc0,rc1,rc2表示这运行级别对应的应该执行的脚本。
整个系统的初始过程是这样的
kernel查找init并运行第一次发现的init
init来执行/etc/rc.d/rc.sysinit
rc.sysinit执行一系列操作,如果有rc.serial那么运行它
init执行默认运行级别下的脚本程序
最后执行rc.local
系统的运行级在/etc/inittab中设置,我当前系统的设置为:
id:5:initdefault:
表示直接进入到gdm中。
另外rc*.d目录中的文件都是link,link到init.d目录中的执行文件。在rc*.d目录中的文件命名是有规则规定的SXXfilename表示启动脚本,要排在第XX次运行。KXXfilename表示是关机是要执行的脚本
另外,Init的运行级别0停机,1单用户模式,2多用户模式,但无NFS支持,3全功能多用户模式,6重新启动计算机
最后有一些命令可以用来维护/etc/rc.d中的目录树中的文件连接工作,叫做chkconfig
关闭计算机:
shutdown -h now关闭系统后停机
shutdown -r now关闭系统后重新启动
reboot和halt现在可以在运行级为1-5的系统上调用shutdown来关闭系统,但是并不是每次都如此,所以不建议这么作。

网络是Linux应用的一个重要的方面,其中邮件管理,远程文件控制,多用户多线程工作方式都是以网络唯依托的工作方式。
不过我觉得,Linux还是比较适合作为桌面终端,当然也可以用来作一些小规模的服务器功能测试,但是如果正规应用到生产环境,或者是正规应用的时候,我还是偏向于NetBSD,FreeBSD这样的系统,简单的界面,漂亮的实现,高效的工作,稳定的运行,是我喜欢BSD操作系统的原因。
邮件管理系统:
我偏向使用postfix
服务访问控制权限
可以使用/etc/hosts.allow,/etc/hosts.deny等配置文件来决定某个服务的访问权限,服务是在/etc/xinetd.conf中定义的。
FTP:
最简单的是匿名ftp服务,可以使用anon-ftp软件包安装,在/etc/ftpaccess中定义了ftp服务的存取控制。/etc/ftphosts用来设置远程主机对特定帐号的存取权限,/etc/ftpusers列出了所有禁止ftp登录的用户。

早期的Linux Kernel还没有module的概念,那时创建一个用户定制的Kernel需要重新编译整个内核,这有点类似于现在的BSD系统中的系统内核编译(现在NetBSD3.0的内核编译后的结果为一个二进制文件,存放于/中),当希望内核中支持新的功能的时候则需要在修改了source后重新编译整个的kernel,从而实现新功能的支持。这会带来一些麻烦,例如内核的体积增加,需要加毅个功能就需要重新编译整个的内核等。
Linux2.0以后,Linux Kernel对module进行了支持,这使得Linux 2.0.x以上的Kernel可以按需动态装载特定的硬件或者文件系统的module形式的driver。
关于内核的编译,不同发行版本的Linux应该有不同的编译方式,具体的需要参照Linux Kernel的编译手册。

PAM叫做可插拔认证模块,顾名思义,他允许系统管理员设置多种认证措施,而不需要重新编译使用认证的程序。只需要编辑一个配置文件就可以确定如何将认证模块插入到程序中。
PAM模块一共有四种,auth,account,password,session.
auth用来提供实际认证过程,account用来检查并确定帐号是否存在,到期,有效等,password被用来设置口令,session模块用来作一些初始化工作,例如挂载用户的home等。
举一个简单的配置的例子,从我现在这个系统中截取的,如下:
(/etc/pam.d/login)
#%PAM-1.0
auth required pam_securetty.so
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so [...]

Next »

京ICP备05029144