最好在编译前和编译后都做一张系统中所有文件的列表,然后用“diff”命令去比较它们,找出其中的差别并知道到底把软件安装在哪里。只要简单地在编译之前运行一下命令“find /* >OpenSSH1”,在编译和安装完软件之后运行命令“find /* > OpenSSH2”,最后用命令“diff OpenSSH1 OpenSSH2 > OpenSSH-Installed”找出变化。
编译和安装
把软件包(tar.gz)解压:
[root@deep /]# cp openssh-version.tar.gz /var/tmp
[root@deep /]# cd /var/tmp
[root@deep tmp]# tar xzpf openssh-version.tar.gz
编译和优化
第一步
转到OpenSSH的新目录下,先设置编译器的编译参数:
CC="egcs" \
CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-
pointer -fno-exceptions" \
./configure \
--prefix=/usr \
--sysconfdir=/etc/ssh \
--with-tcp-wrappers \
--with-ipv4-default \
--with-ssl-dir=/usr/include/openssl
这些设置告诉编译器如何编译OpenSSH:
链接上libwrap函数库并且加上对TCP Wrappers的支持
禁止Linux/glibc-2.1.2中域名解析的延时,缩短建立连接的时间
设置OpenSSL函数库的路径,这样OpenSSH才能正常运行
第二步
现在,编译和安装OpenSSH:
[root@deep openssh-1.2.3]# make
[root@deep openssh-1.2.3]# make install
[root@deep openssh-1.2.3]# make host-key
[root@deep openssh-1.2.3]# install -m644 contrib/redhat/sshd.pam /etc/pam.d/sshd
“make”命令把源文件编译成可执行的二进制文件,“make install”把二进制文件和配置文件安装在合适的目录下。“make host-key”生成主机密匙,“install”命令在RedHat Linux上安装对OpenSSH的PAM支持。
清除不必要的文件
用下面的命令删除不必要的文件:
[root@deep /]# cd /var/tmp
[root@deep tmp]# rm -rf openssh-version/ openssh-version.tar.gz
“rm”命令删除所有编译和安装OpenSSH所需要的源程序,并且把OpenSSH软件的压缩包删除掉。
配置
可以到这去下载“floppy.tgz”文件:http://www.openna.com/books/floppy.tgz。把“floppy.tgz”文件解开之后,可以在相应的目录下发现我们在这本书中介绍的所有软件的配置文件。这样就没有必要手工重新生成这些文件,或者用拷贝粘贴的方法把它们粘贴到配置文件中去。不管是打算自己动手生成配置文件还是拷贝现成的,你都要学会自己修改配置文件并且把配置文件拷贝到正确的目录下。下面将具体说明。
http://netadmin.77169.com/HTML/20040623000300.html