hengyi 发布的文章

安装Gentoo的一些小结(本文写于2008年)

Linux以前用很多的,最早装在我的笔记本上的是mandrake,这个发行版本现在叫做mandriva,做的挺傻瓜话的,但是中文化弄的不行,后来也装过红旗,也有装红帽子,后来也装过Federo core,ubuntu,最后还是回到了gentoo(考完研究后的暑假,没有事情做,装过gentoo),研一的时候装过freebsd,当然很不错,但是因为古怪的引导程序将台式机上另外一个硬盘引导区破坏,害我老是去重建分区表,后来也不烦了,不玩算了。 ­

经过几天几夜的编译,gentoo-2006.0就牢固的占据了我笔记本的10G硬盘。因为安装困难,所以舍不得删掉。 ­

下面步入正题. ­

gentoo 最大的特点就是portage系统,它将很多自由软件归于portage树下,要安装软件,只要输入: ­

#>   emerge 软件名 ­

就见到电脑卖力的开始编译了,以前觉得这样卖力,电脑会坏的,后来发现其实也不是那么容易坏的。 ­

portage 系统的配置文件: ­
编译选项: ­

/etc/make.profile ­
/etc/make.conf ­
包的编译选项:
/etc/portage/package.use ­
/etc/portage/package.mask ­
/etc/portage/package.unmask ­
/etc/portage/package.keywords ­

或者是在~目录下的相应的package.* 文件。 ­
因为每个软件编译时,可能要编译一些相关的包,库,相关文件,所以portage 用USE变量来控制相关的编译包。 ­

  • package.use可以用来控制编译文件时加入或者减去的USE选项,因为没有个package都自带有USE 选项,所以package.use就可以添加额外的选项。 ­
  • package.keywords文件用来控制系统是属于稳定的还是最新的,控制给别软件包是稳定版本还是最新版本。 ­
  • 一些软件可能还是在测试期,所以gentoo工程师帮你mask掉,如果你的系统设置在稳定版本呢,被mask掉的软件是不能装,如若你偏偏要装,可以在package.unmast中说明。 ­
    portage试图解决的问题是依赖和版本问题。­

中文化

  • 在装其他软件前, 在/etc/locale.gen中编辑好,用locale-gen来生成相关的locale,所有已经支持的locale 在/usr/share/i18n/SUPPORTED中有描述,常用的有zh_CN GB2312 zh_CN.UTF8 en.US utf8等。当然,要系统支持中文 在内核编译时在filesystem中要选择nls(native language support),同时选windows相关的文件系统:FAT32,NTFS,FAT等。同时在/etc/make.conf内USE要加上nls.­
  • 中文化的另外一个问题就是字体问题,现在出了文泉驿字体,只要emerge wqy-fonts(好像)就行了。­
  • 或者将windows下的字体拷贝到/usr/share/fonts/truetype下,目录要自己建,然后再/etc/X11/xorg.conf中加入路径就行了。进入该目录,然后用mkfontscale命令声称fonts.dir 及fonts.scale文件。­

显卡设置

安装方面最复杂的是xorg设置,要启动direct redering,需要xorg-drm包。但是如果是ati-drivers情况好象也蛮复杂的。­
我的电脑是radeon mobility M6,仅有8M显存,以前emerge了compiz-fusion 现在发现也能用。­

感想

人生充满惊奇之处,所以,尽管无聊又要受苦,想要去死的人不多。­三种情况会让人真的感到有幸福感,一种是孜孜以求终达到目标,一种是失而复得,另外一种不期而遇。­晚了,今天写的有点乱,晚了,stop here,以后 在完善­

网络设置:

#> ifconfig eth0 192.168.5.188/24
#> route add default gw 192.168.5.88

永久性设置:
修改文件:/etc/conf.d/net

config_eth0=( "192.168.5.188/24")
outes_eth0=( "default via 192.168.5.88")
要是路由器自由分配地址: 则要启动dhcp,做法: 待查。
添加 DNS服务器:/etc/resolv.conf 添加:
nameserver 202.xxx.xxx.xxx

远程操控?

> emerge ssh

添加远程机器的地址到~/.ssh/known_hosts文件中
在服务机上: #> /etc/init.d/sshd start
在客户上: $> ssh root@192.168.5.188

有关基于密钥的登录: 待写。

服务器

  • samba 服务器
  • ftp服务器
  • apache服务器
  • squid服务器

SAMBA

今日将实验室的samba弄好了,事实上samba是一个很庞大的软件,可以模拟windows的域,文件共享等。我所懂得是些基本的东西。
讲讲要点:

emerge samba

配置文件:/etc/samba/smb.conf

在文件中有几个要点:

1. [globe] 全局设置

Security 可以是user,share,server, domain

  • share最方便;
  • user最常用;
  • server和 domain 则是较大型的网络才比较合适,实验室就十几台电脑,没有必要去研究了。
    可以看到 smb.conf中赋值用的是=号,我喜欢这样的直观,比其他设置用空格感觉好
    > host allow = 192.169.127.0.
    > host deny =
    用的是简单匹配,IP省略的部分表示*, 空格表示多个ip可是可以的。 当然直接将IP放进去也是可以的

guest account = nobody
当客户用 guest登录时,对应的linux用户是 root
如果Security是 share模式,则访问主机的public资源是不要用户认证的,samba直接认为是guest用户,如果是user模式,好像不登录的话还不能看到主机上的东西,所以安全来讲,还是user好些。

关于samba的用户,有个一个文件来映射 samba客户用户名和linux主机用户名:

user name map = /etc/samba/smbusers
而用户的密码的文件用下面语句设定:
smb passwd file = /etc/samba/smbpasswd
那么怎么来添加用户? 今天我弄了半天,原来是忘了一个参数:
添加用户: smbpasswd -a jiang
删除用户: smbpasswd -x jiang
在vi中刚巧也是a表示append,x 表示删除。linux passwd是不有这样的用法,忘记了。
然后手动在 smbusers中添加用户的映射。

**语言,要显示中文 **
client code page = 936
或者 dos code page =936

目录选项

[home]

在user模式下,有了这个字段,好像samba 自动会将用户的主目录映射过来(不用设置path),在客户机上显示出来的也是用户的名字。

权限设置:

  • public=yes
    表示是不是一般用户都能够浏览。
    在此,我觉得是这样,public相当于 linux 目录的 r属性, r-表示可以用ls看的见,w则是rm可以删掉,x表示 可以 用cd进入,touch 我觉得应该也是得有 w 属性才行。
  • writable =yes 则表示可以删除和创建,相当于w属性
  • browseable=yes 则表示可以浏览,x
  • readonly =yes 表示无w属性,与writable 相反
  • 正确吗?
    另外权限与用户相关的,对于真实的linux 文件夹,所映射的用户的权限实际是samba设定的权限与linux下该用户权限的AND和
    guest ok =yes 表示guest也能适用以上的权限设置,不过guest对应的nobody用户可能不具有真实文件的其他权限,所以,也是有限制的。
    valid users=@group,person 表示那些用户是可以继承以上这些权限设置的
    我自认为,权限设置是samba目录控制的最精髓处。
    > create mast=744
    > directory mask =755
    表示在客户中设置创建文件和目录时,这些文件和目录的权限,可以用
    > force user = foo
    > force group = bar
    > force create mode = 755
    > force directory mode =744
    来强行设置。
    有了这些知识,设置实验室的samba服务器就够了。

用X3DNA套件中的mutate_bases直接替换pdb文件中的碱基

x3dna中mutate_bases 可以将pdb文件的中的特定碱基突变掉,便于观察
# mutate G2 in chain A of B-DNA 355d to Adenine
mutate_bases 'c=a s=2 m=DA' 355d.pdb 355d_G2A.pdb
# mutate the second base-pair G-C to A-T in 355d
mutate_bases 'c=a s=2 m=DA; c=B s=23 m=DT' 355d.pdb 355d_GC2AT.pdb
# the above also generates file 'mutations.dat'
# and the following command gives the same results
mutate_bases -l mutations.dat 355d.pdb 355d_GC2AT_v2.pdb
# mutate C74 in chain A of tRNA 1evv to U
mutate_bases 'c=A s=74 m=U' 1evv.pdb 1evv_C74U.pdb
# list all bases to be tailored for mutation
mutate_bases -e 355d.pdb stdout

画RNA二级结构

画RNA二级结构
将RNA结构的PDB文件上传到 http://nibiru.tbi.univie.ac.at/forna/ 然后可以得到二级结构的示意图,按着这个示意图,画出由点号和括号组成的二级结构。
在matlab中输入
seq_sam3='GUUCCCGAAAGGAUGGCGGAAACGCCAGAUGCCUUGUAACCGAAAGGGGGAAU'
ss_sam3='..(((((..((((.(((((....)))))....))))....((....))))))).';
rnaplot(ss_sam3, 'sequence', seq_sam3, 'format', 'graph', 'colorby', 'pair')
可以画出线状的配对图。

rnaplot(ss_sam3, 'sequence', seq_sam3, 'format', 'dotdiagram', 'selection', 1:6);
可以画出二级结构图

Align RNA pdb structure ( 叠放RNA三级结构)

  1. Theseus program
    Theseus 用的是最大似然算法(Maxium likelihood superpositioning), 核心程序theseus, 脚本程序theseus_align
    -- theseus_align
    使用该脚本前,先修改该脚本的序列比对程序(如将默认的muscle 改成clustalw2,以及theseus程序的位置 )
    使用方法: 将两个pdb文件放在当前工作目录下,运行: theseus_align -f a.pdb b.pdb
    --theseus
    先用clusalw2做好序列比对,比对结果用 c.aln表示
    theseus -A c.aln *.pdb 命令会将目录下所有pdb文件做align

theseus的输出是一系列相同坐标系的结构文件,将它们逐个加载到VMD或pymol就可以看结构的比较了。

  1. VMD的multiseq程序
    将两个分子都加载到VMD程序中
    然后在菜单中选择 Analyze | multiseq
    在Multiseq的菜单中选择Tool| StampStructure 可以打开对话框,然后就可以进行align了。