编译安装升级openssh小结

1)检查现在版本 [root@wilson]# ssh -V
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008 2)上传软件到指定目录/soft 3)解压需要安装文件 [root@wilson]#gunzip openssh-4.4p1.tar.gz
[root@wilson]#tar –xvf openssh-4.4p1.tar
4) 编译补丁包 [root@wilson]./configure
configure
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for gawk... gawk
checking how to run the C preprocessor... gcc -E
checking for ranlib... ranlib
checking for a BSD-compatible install... /usr/bin/install -c
checking for egrep... (cached) /bin/grep -E
……
……
checking for ent... no
checking for getutxent... yes
checking for getutxid... yes
……
……
checking for getutxline... yes
checking for pututxline... yes
checking for setutxent... yes
checking for utmpxname... yes
checking for daemon... yes
checking for getpagesize... yes
checking whether snprintf correctly terminates long strings... yes
checking whether snprintf can declare const char *fmt... yes
checking whether system supports SO_PEERCRED getsockopt... yes
checking for (overly) strict mkstemp... yes
checking if openpty correctly handles controlling tty... yes
checking whether getpgrp requires zero arguments... yes
checking OpenSSL header version... 90802f (OpenSSL 0.9.8e-rhel5 01 Jul 2008)
checking OpenSSL library version... 90802f (OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008)
checking whether OpenSSL's headers match the library... yes
checking if programs using OpenSSL functions will link... yes
checking whether OpenSSL has crippled AES support... no
checking for crypt in -lcrypt... yes
checking for SHA256_Update... yes
checking for EVP_sha256... yes
checking for ia_openinfo in -liaf... no
checking whether OpenSSL's PRNG is internally seeded... yes
checking for ls... /bin/ls
checking for netstat... /bin/netstat
checking for arp... /sbin/arp
checking for ifconfig... /sbin/ifconfig
checking for jstat... no
checking for ps... /bin/ps
checking for sar... /usr/bin/sar
checking for w... /usr/bin/w
checking for who... /usr/bin/who
checking for last... /usr/bin/last
checking for lastlog... /usr/bin/lastlog
checking for df... /bin/df
checking for vmstat... /usr/bin/vmstat
checking for uptime... /usr/bin/uptime
checking for ipcs... /usr/bin/ipcs
checking for tail... /usr/bin/tail
checking for long long... yes
checking for unsigned long long... yes
checking for long double... yes
checking for char... yes
checking size of char... 1
checking for short int... yes
checking size of short int... 2
checking for int... yes
checking size of int... 4
checking for long int... yes
checking size of long int... 4
checking for long long int... yes
checking size of long long int... 8
checking for u_int type... yes
checking for intXX_t types... yes
checking for int64_t type... yes
checking for u_intXX_t types... yes
checking for u_int64_t types... yes
checking for uintXX_t types in stdint.h... yes
checking for u_char... yes
checking for socklen_t... yes
checking for sig_atomic_t... yes
checking for in_addr_t... yes
checking for size_t... yes
checking for ssize_t... yes
checking for clock_t... yes
checking for sa_family_t... yes
checking for pid_t... yes
checking for mode_t... yes
checking for struct sockaddr_storage... yes
checking for struct sockaddr_in6... yes
checking for struct in6_addr... yes
checking for struct addrinfo... yes
checking for struct timeval... yes
checking for struct timespec... yes
checking for ut_host field in utmp.h... yes
checking for ut_host field in utmpx.h... yes
checking for syslen field in utmpx.h... no
checking for ut_pid field in utmp.h... yes
checking for ut_type field in utmp.h... yes
checking for ut_type field in utmpx.h... yes
checking for ut_tv field in utmp.h... yes
checking for msg_accrights field in struct msghdr... no
checking whether va_copy exists... yes
checking whether _getlong is declared... no
checking for HEADER.ad... yes
checking for xauth... /usr/bin/xauth
checking for "/dev/ptc"... no
checking for nroff... /usr/bin/nroff
checking if the systems has expire shadow information... yes
checking for "/etc/default/login"... no
Adding /usr/local/bin to USER_PATH so scp will work
checking if we need to convert IPv4 in IPv6-mapped addresses... yes ( default)
checking if your system defines LASTLOG_FILE... no
checking if your system defines _PATH_LASTLOG... yes
checking if your system defines UTMP_FILE... yes
checking if your system defines WTMP_FILE... yes
checking if your system defines UTMPX_FILE... no
checking if your system defines WTMPX_FILE... no
configure: creating ./config.status
config.status: creating Makefile
config.status: WARNING:Makefile.in seems to ignore the --datarootdir setting
config.status: creating buildpkg.sh
config.status: creating opensshd.init
config.status: creating openssh.xml
config.status: creating openbsd-compat/Makefile
config.status: creating openbsd-compat/regress/Makefile
config.status: creating scard/Makefile
config.status: WARNING:scard/Makefile.in seems to ignore the --datarootdir setting
config.status: creating ssh_prng_cmds
config.status: creating survey.sh
config.status: creating config.h

OpenSSH has been configured with the following options:
User binaries: /usr/local/bin
System binaries: /usr/local/sbin
Configuration files: /usr/local/etc
Askpass program: /usr/local/libexec/ssh-askpass
Manual pages: /usr/local/share/man/manX
PID file: /var/run
Privilege separation chroot path: /var/empty
sshd default user PATH: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Manpage format: doc
PAM support: no
OSF SIA support: no
KerberosV support: no
SELinux support: no
Smartcard support: no
S/KEY support: no
TCP Wrappers support: no
MD5 password support: no
libedit support: no
Solaris process contract support: no
IP address in $DISPLAY hack: no
Translate v4 in v6 hack: yes
BSD Auth support: no
Random number source: OpenSSL internal ONLY

Host: i686-pc-linux-gnu
Compiler: gcc
Compiler flags: -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wno-pointer-sign -std=gnu99
Preprocessor flags:
Linker flags:
Libraries:-lresolv -lcrypto -lutil -lz -lnsl-lcrypt
5)编译制作 [root@wilson openssh-4.4p1]# make
conffile=`echo sshd_config.out | sed 's/.out$ //'`; \
/bin/sed -e 's|/etc/ssh/ssh_prng_cmds|/usr/local/etc/ssh_prng_cmds|g' -e 's|/etc/ssh/ssh_config|/usr/local/etc/ssh_config|g' -e 's|/etc/ssh/ssh_known_hosts|/usr/local/etc/ssh_known_hosts|g' -e 's|/etc/ssh/sshd_config|/usr/local/etc/sshd_config|g' -e 's|/usr/libexec|/usr/local/libexec|g' -e 's|/etc/shosts.equiv|/usr/local/etc/shosts.equiv|g' -e 's|/etc/ssh/ssh_host_key|/usr/local/etc/ssh_host_key|g' -e 's|/etc/ssh/ssh_host_dsa_key|/usr/local/etc/ssh_host_dsa_key|g' -e 's|/etc/ssh/ssh_host_rsa_key|/usr/local/etc/ssh_host_rsa_key|g' -e 's|/var/run/sshd.pid|/var/run/sshd.pid|g' -e 's|/etc/ssh/moduli|/usr/local/etc/moduli|g' -e 's|/etc/ssh/sshrc|/usr/local/etc/sshrc|g' -e 's|/usr/X11R6/bin/xauth|/usr/bin/xauth|g' -e 's|/var/empty|/var/empty|g' -e 's|/usr/bin:/bin:/usr/sbin:/sbin|/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin|g' ./${conffile} > sshd_config.out
conffile=`echo ssh_config.out | sed 's/.out$ //'`; \
/bin/sed -e 's|/etc/ssh/ssh_prng_cmds|/usr/local/etc/ssh_prng_cmds|g' -e 's|/etc/ssh/ssh_config|/usr/local/etc/ssh_config|g' -e 's|/etc/ssh/ssh_known_hosts|/usr/local/etc/ssh_known_hosts|g' -e 's|/etc/ssh/sshd_config|/usr/local/etc/sshd_config|g' -e 's|/usr/libexec|/usr/local/libexec|g' -e 's|/etc/shosts.equiv|/usr/local/etc/shosts.equiv|g' -e 's|/etc/ssh/ssh_host_key|/usr/local/etc/ssh_host_key|g' -e 's|/etc/ssh/ssh_host_dsa_key|/usr/local/etc/ssh_host_dsa_key|g' -e 's|/etc/ssh/ssh_host_rsa_key|/usr/local/etc/ssh_host_rsa_key|g' -e 's|/var/run/sshd.pid|/var/run/sshd.pid|g' -e 's|/etc/ssh/moduli|/usr/local/etc/moduli|g' -e 's|/etc/ssh/sshrc|/usr/local/etc/sshrc|g' -e 's|/usr/X11R6/bin/xauth|/usr/bin/xauth|g' -e 's|/var/empty|/var/empty|g' -e 's|/usr/bin:/bin:/usr/sbin:/sbin|/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin|g' ./${conffile} > ssh_config.out
conffile=`echo moduli.out | sed 's/.out$ //'`; \
/bin/sed -e 's|/etc/ssh/ssh_prng_cmds|/usr/local/etc/ssh_prng_cmds|g' -e 's|/etc/ssh/ssh_config|/usr/local/etc/ssh_config|g' -e 's|/etc/ssh/ssh_known_hosts|/usr/local/etc/ssh_known_hosts|g' -e 's|/etc/ssh/sshd_config|/usr/local/etc/sshd_config|g' -e 's|/usr/libexec|/usr/local/libexec|g' -e 's|/etc/shosts.equiv|/usr/local/etc/shosts.equiv|g' -e 's|/etc/ssh/ssh_host_key|/usr/local/etc/ssh_host_key|g' -e 's|/etc/ssh/ssh_host_dsa_key|/usr/local/etc/ssh_host_dsa_key|g' -e 's|/etc/ssh/ssh_host_rsa_key|/usr/local/etc/ssh_host_rsa_key|g' -e 's|/var/run/sshd.pid|/var/run/sshd.pid|g' -e 's|/etc/ssh/moduli|/usr/local/etc/moduli|g' -e 's|/etc/ssh/sshrc|/usr/local/etc/sshrc|g' -e 's|/usr/X11R6/bin/xauth|/usr/bin/xauth|g' -e 's|/var/empty|/var/empty|g' -e 's|/usr/bin:/bin:/usr/sbin:/sbin|/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin|g' ./${conffile} > moduli.out
if test ! -z ""; then \
/usr/bin/perl ./fixprogs ssh_prng_cmds ; \
fi
if test "doc" = "cat"; then \
manpage=./`echo scp.1.out | sed 's/\.[1-9]\.out$/\.0/'`; \
else \
manpage=./`echo scp.1.out | sed 's/\.out$ //'`; \
fi; \
if test "doc" = "man"; then \
/bin/sed -e 's|/etc/ssh/ssh_prng_cmds|/usr/local/etc/ssh_prng_cmds|g' -e 's|/etc/ssh/ssh_config|/usr/local/etc/ssh_config|g' -e 's|/etc/ssh/ssh_known_hosts|/usr/local/etc/ssh_known_hosts|g' -e 's|/etc/ssh/sshd_config|/usr/local/etc/sshd_config|g' -e 's|/usr/libexec|/usr/local/libexec|g' -e 's|/etc/shosts.equiv|/usr/local/etc/shosts.equiv|g' -e 's|/etc/ssh/ssh_host_key|/usr/local/etc/ssh_host_key|g' -e 's|/etc/ssh/ssh_host_dsa_key|/usr/local/etc/ssh_host_dsa_key|g' -e 's|/etc/ssh/ssh_host_rsa_key|/usr/local/etc/ssh_host_rsa_key|g' -e 's|/var/run/sshd.pid|/var/run/sshd.pid|g' -e 's|/etc/ssh/moduli|/usr/local/etc/moduli|g' -e 's|/etc/ssh/sshrc|/usr/local/etc/sshrc|g' -e 's|/usr/X11R6/bin/xauth|/usr/bin/xauth|g' -e 's|/var/empty|/var/empty|g' -e 's|/usr/bin:/bin:/usr/sbin:/sbin|/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin|g' ${manpage} | gawk -f ./mdoc2man.awk > scp.1.out; \
else \
/bin/sed -e 's|/etc/ssh/ssh_prng_cmds|/usr/local/etc/ssh_prng_cmds|g' -e 's|/etc/ssh/ssh_config|/usr/local/etc/ssh_config|g' -e 's|/etc/ssh/ssh_known_hosts|/usr/local/etc/ssh_known_hosts|g' -e 's|/etc/ssh/sshd_config|/usr/local/etc/sshd_config|g' -e 's|/usr/libexec|/usr/local/libexec|g' -e 's|/etc/shosts.equiv|/usr/local/etc/shosts.equiv|g' -e 's|/etc/ssh/ssh_host_key|/usr/local/etc/ssh_host_key|g' -e 's|/etc/ssh/ssh_host_dsa_key|/usr/local/etc/ssh_host_dsa_key|g' -e 's|/etc/ssh/ssh_host_rsa_key|/usr/local/etc/ssh_host_rsa_key|g' -e 's|/var/run/sshd.pid|/var/run/sshd.pid|g' -e 's|/etc/ssh/moduli|/usr/local/etc/moduli|g' -e 's|/etc/ssh/sshrc|/usr/local/etc/sshrc|g' -e 's|/usr/X11R6/bin/xauth|/usr/bin/xauth|g' -e 's|/var/empty|/var/empty|g' -e 's|/usr/bin:/bin:/usr/sbin:/sbin|/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin|g' ${manpage} > scp.1.out; \
fi 6)编译安装 [root@wilson openssh-4.4p1]# make install
if test ! -z ""; then \
/usr/bin/perl ./fixprogs ssh_prng_cmds ; \
fi
(cd openbsd-compat && make)
make[1]: Entering directory `/root/openssh-4.4p1/openbsd-compat'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/openssh-4.4p1/openbsd-compat'
(cd scard && make DESTDIR= install)
make[1]: Entering directory `/root/openssh-4.4p1/scard'
../mkinstalldirs /usr/local/share
/usr/bin/install -c -m 0644 ./Ssh.bin /usr/local/share/Ssh.bin
make[1]: Leaving directory `/root/openssh-4.4p1/scard'
./mkinstalldirs /usr/local/bin
./mkinstalldirs /usr/local/sbin
./mkinstalldirs /usr/local/share/man
./mkinstalldirs /usr/local/share
./mkinstalldirs /usr/local/share/man/man1
./mkinstalldirs /usr/local/share/man/man5
./mkinstalldirs /usr/local/share/man/man8
./mkinstalldirs /usr/local/libexec
(umask 022 ; ./mkinstalldirs /var/empty)
/usr/bin/install -c -m 0755 -s ssh /usr/local/bin/ssh
/usr/bin/install -c -m 0755 -s scp /usr/local/bin/scp
/usr/bin/install -c -m 0755 -s ssh-add /usr/local/bin/ssh-add
/usr/bin/install -c -m 0755 -s ssh-agent /usr/local/bin/ssh-agent
/usr/bin/install -c -m 0755 -s ssh-keygen /usr/local/bin/ssh-keygen
/usr/bin/install -c -m 0755 -s ssh-keyscan /usr/local/bin/ssh-keyscan
/usr/bin/install -c -m 0755 -s sshd /usr/local/sbin/sshd
if test ! -z "" ; then \
/usr/bin/install -c -m 0755 -s ssh-rand-helper /usr/local/libexec/ssh-rand-helper ; \
fi
/usr/bin/install -c -m 4711 -s ssh-keysign /usr/local/libexec/ssh-keysign
/usr/bin/install -c -m 0755 -s sftp /usr/local/bin/sftp
/usr/bin/install -c -m 0755 -s sftp-server /usr/local/libexec/sftp-server
/usr/bin/install -c -m 644 ssh.1.out /usr/local/share/man/man1/ssh.1
/usr/bin/install -c -m 644 scp.1.out /usr/local/share/man/man1/scp.1
/usr/bin/install -c -m 644 ssh-add.1.out /usr/local/share/man/man1/ssh-add.1
/usr/bin/install -c -m 644 ssh-agent.1.out /usr/local/share/man/man1/ssh-agent.1
/usr/bin/install -c -m 644 ssh-keygen.1.out /usr/local/share/man/man1/ssh-keygen.1
/usr/bin/install -c -m 644 ssh-keyscan.1.out /usr/local/share/man/man1/ssh-keyscan.1
/usr/bin/install -c -m 644 sshd_config.5.out /usr/local/share/man/man5/sshd_config.5
/usr/bin/install -c -m 644 ssh_config.5.out /usr/local/share/man/man5/ssh_config.5
/usr/bin/install -c -m 644 sshd.8.out /usr/local/share/man/man8/sshd.8
if [ ! -z "" ]; then \
/usr/bin/install -c -m 644 ssh-rand-helper.8.out /usr/local/share/man/man8/ssh-rand-helper.8 ; \
fi
/usr/bin/install -c -m 644 sftp.1.out /usr/local/share/man/man1/sftp.1
/usr/bin/install -c -m 644 sftp-server.8.out /usr/local/share/man/man8/sftp-server.8
/usr/bin/install -c -m 644 ssh-keysign.8.out /usr/local/share/man/man8/ssh-keysign.8
rm -f /usr/local/bin/slogin
ln -s ./ssh /usr/local/bin/slogin
rm -f /usr/local/share/man/man1/slogin.1
ln -s ./ssh.1 /usr/local/share/man/man1/slogin.1
if [ ! -d /usr/local/etc ]; then \
./mkinstalldirs /usr/local/etc; \
fi
Generating public/ private rsa1 key pair.
Your identification has been saved in /usr/local/etc/ssh_host_key.
Your public key has been saved in /usr/local/etc/ssh_host_key.pub.
The key fingerprint is:
7e:56:3f:ac:75:f9:7c:86:ed:c6:82:27:90:9f:c3:18 root@wilson
Generating public/ private dsa key pair.
Your identification has been saved in /usr/local/etc/ssh_host_dsa_key.
Your public key has been saved in /usr/local/etc/ssh_host_dsa_key.pub.
The key fingerprint is:
b6:47:d4:a4:01:3c:e3:35:25:4f:03:6d:c2:b9:be:bd root@wilson
Generating public/ private rsa key pair.
Your identification has been saved in /usr/local/etc/ssh_host_rsa_key.
Your public key has been saved in /usr/local/etc/ssh_host_rsa_key.pub.
The key fingerprint is:
01:f4:e3:a3:ac:ae:db:a4:17:e2:6a:40:b6:84:53:7c root@wilson
/usr/local/sbin/sshd -t -f /usr/local/etc/sshd_config
[root@wilson openssh-4.4p1]# 7)查看现在编译版本 [root@wilson openssh-4.4p1]# ssh -V
OpenSSH_4.4p1, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008 8)卸载编译安装 [root@wilson openssh-4.4p1]# make uninstall
rm -f /usr/local/bin/slogin
rm -f /usr/local/bin/ssh
rm -f /usr/local/bin/scp
rm -f /usr/local/bin/ssh-add
rm -f /usr/local/bin/ssh-agent
rm -f /usr/local/bin/ssh-keygen
rm -f /usr/local/bin/ssh-keyscan
rm -f /usr/local/bin/sftp
rm -f /usr/local/sbin/sshd
rm -r /usr/local/libexec/sftp-server
rm -f /usr/local/libexec/ssh-keysign
rm -f /usr/local/libexec/ssh-rand-helper
rm -f /usr/local/share/man/man1/ssh.1
rm -f /usr/local/share/man/man1/scp.1
rm -f /usr/local/share/man/man1/ssh-add.1
rm -f /usr/local/share/man/man1/ssh-agent.1
rm -f /usr/local/share/man/man1/ssh-keygen.1
rm -f /usr/local/share/man/man1/sftp.1
rm -f /usr/local/share/man/man1/ssh-keyscan.1
rm -f /usr/local/share/man/man8/sshd.8
rm -f /usr/local/share/man/man8/ssh-rand-helper.8
rm -f /usr/local/share/man/man8/sftp-server.8
rm -f /usr/local/share/man/man8/ssh-keysign.8
rm -f /usr/local/share/man/man1/slogin.1
[root@wilson openssh-4.4p1]#
卸载编译安装之后,无法查看到系统的版本情况。 [root@wilson openssh-4.4p1]# ssh -V
-bash: /usr/local/bin/ssh: No such file or directory
[root@wilson openssh-4.4p1]# ssh -V
-bash: /usr/local/bin/ssh: No such file or directory 但是退出session,然后再次登录可以查看卸载编译完成: Connecting to 192.168.174.11:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

*This is a priviate SSH service.You are not supported to be here.*
*Please leave immediately.*
Last login: Fri Oct 26 16:31:26 2012 from 192.168.174.1

[root@wilson ~]# ssh -V
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
[root@wilson ~]# pwd
/root
至此,编译安装成功,从版本 OpenSSH_4.3p2升级到OpenSSH_4.4p1。(也可以卸载)
编译安装的简单说明: tar.gz文件的安装,是属于自己编译源代码的方法。
多说一句,tar是把文件打成一个包,并不压缩;.gz是用gzip把打成包的.tar文件压缩,所以成了一个.tar.gz的文件。
一般软件包里会有一个叫configure的脚本文件,完成配置的任务。可以加很多参数,具体的可以运行./configure --help得到帮助的,比如./configure --prefix=xxx是设定软件安装到哪里。设置好参数,运行./configure,会生成makefile文件,这是你后面编译的基础。


接下来就要编译了,因为有makefile文件的存在,只需运行make就可完成编译。make是将读入所有由configure脚本程序建立的制作文件。这些制作文件会告诉make哪些文件需要被编译以及按照怎样的顺序对它们进行编译,因为可能会有上百个源程序文件。当make工作的时候,会在屏幕上显示出正在执行的每一个命令,以及与这个命令相关的全部参数。这些输出通常都是编译器的调用声明和所有传递给编译器的参数。如果编译器顺利地完成了工作,就不会出现什么错误信息。大多数编译器的错误信息十分清楚和明确,因此不用担心可能会漏掉一个错误。如果确实看到有一错误,也不用慌张。大多数错误信息并不反映出程序本身出现了一个问题,通常都是系统这里或者那里的问题。典型情况下,这些信息大多是因为文件访问权限不正确而产生的或者是因为文件没有找到。

完成编译,之后就是安装软件了。只需make install就好,这个命令将启动安装脚本程序。因make命令会在执行每一个命令的时候把它显示出来,所以将会看到许许多多的文字在眼前。如没有看到什么错误信息,就说明这个软件包安装完成。

反安装就是make uninstall了,方法和make install一样。
./configure --help [root@wilson openssh-5.0p1]# ./configure --help
`configure' configures OpenSSH Portable to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
-h, --helpdisplay this help and exit
--help= shortdisplay options specific to this package
--help=recursivedisplay the short help of all the included packages
-V, --versiondisplay version information and exit
-q, --quiet, --silent do not print `checking...' messages
--cache-file=FILEcache test results in FILE [disabled]
-C, --config-cachealias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIRfind the sources in DIR [configure dir or `..']

Installation directories:
--prefix=PREFIXinstall architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIXinstall architecture-dependent files in EPREFIX
[PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
--bindir=DIRuser executables [EPREFIX/bin]
--sbindir=DIRsystem admin executables [EPREFIX/sbin]
--libexecdir=DIRprogram executables [EPREFIX/libexec]
--sysconfdir=DIRread-only single-machine data [PREFIX/etc]
--sharedstatedir=DIRmodifiable architecture-independent data [PREFIX/com]
--localstatedir=DIRmodifiable single-machine data [PREFIX/var]
--libdir=DIRobject code libraries [EPREFIX/lib]
--includedir=DIRC header files [PREFIX/include]
--oldincludedir=DIRC header files for non-gcc [/usr/include]
--datarootdir=DIRread-only arch.-independent data root [PREFIX/share]
--datadir=DIRread-only architecture-independent data [DATAROOTDIR]
--infodir=DIRinfo documentation [DATAROOTDIR/info]
--localedir=DIRlocale-dependent data [DATAROOTDIR/locale]
--mandir=DIRman documentation [DATAROOTDIR/man]
--docdir=DIRdocumentation root [DATAROOTDIR/doc/openssh]
--htmldir=DIRhtml documentation [DOCDIR]
--dvidir=DIRdvi documentation [DOCDIR]
--pdfdir=DIRpdf documentation [DOCDIR]
--psdir=DIRps documentation [DOCDIR]

System types:
--build=BUILDconfigure for building on BUILD [guessed]
--host=HOSTcross-compile to build programs to run on HOST [BUILD]

Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG]include FEATURE [ARG=yes]
--disable-largefileomit support for large files
--disable-stripDisable calling strip(1) on install
--disable-etc- default-login Disable using PATH from /etc/ default/login no
--disable-lastlogdisable use of lastlog even if detected no
--disable-utmpdisable use of utmp even if detected no
--disable-utmpxdisable use of utmpx even if detected no
--disable-wtmpdisable use of wtmp even if detected no
--disable-wtmpxdisable use of wtmpx even if detected no
--disable-libutildisable use of libutil (login() etc.) no
--disable-pututlinedisable use of pututline() etc. (uwtmp) no
--disable-pututxlinedisable use of pututxline() etc. (uwtmpx) no

Optional Packages:
--with-PACKAGE[=ARG]use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--without-stackprotectDon't use compiler's stack protection
--without-rpathDisable auto-added -R linker paths
--with-cflagsSpecify additional flags to pass to compiler
--with-cppflagsSpecify additional flags to pass to preprocessor
--with-ldflagsSpecify additional flags to pass to linker
--with-libsSpecify additional libraries to link with
--with-WerrorBuild main code with -Werror
--with-solaris-contracts Enable Solaris process contracts (experimental)
--with-osfsiaEnable Digital Unix SIA
--with-zlib=PATHUse zlib in PATH
--without-zlib-version-check Disable zlib version check
--with-skey[=PATH]Enable S/Key support (optionally in PATH)
--with-tcp-wrappers[=PATH] Enable tcpwrappers support (optionally in PATH)
--with-libedit[=PATH]Enable libedit support for sftp
--with-audit=moduleEnable EXPERIMENTAL audit support (modules=debug,bsm)
--with-ssl-dir=PATHSpecify path to OpenSSL installation
--without-openssl-header-check Disable OpenSSL version consistency check
--with-ssl-engineEnable OpenSSL (hardware) ENGINE support
--with-pamEnable PAM support
--with-rand-helperUse subprocess to gather strong randomness
--with-prngd-port=PORTread entropy from PRNGD/EGD TCP localhost:PORT
--with-prngd-socket=FILE read entropy from PRNGD/EGD socket FILE ( default=/var/run/egd-pool)
--with-entropy-timeoutSpecify entropy gathering command timeout (msec)
--with-privsep-user=user Specify non-privileged user for privilege separation
--with-sectokEnable smartcard support using libsectok
--with-opensc[=PFX]Enable smartcard support using OpenSC (optionally in PATH)
--with-selinuxEnable SELinux support
--with-kerberos5=PATHEnable Kerberos 5 support
--with-privsep-path=xxx Path for privilege separation chroot ( default=/var/empty)
--with-xauth=PATHSpecify path to xauth program
--with-mantype=man|cat|docSet man page type
--with-md5-passwordsEnable use of MD5 passwords
--without-shadowDisable shadow password support
--with-ipaddr-displayUse ip address instead of hostname in \$DISPLAY
--with- default-path=Specify default \$PATH environment for server
--with-superuser-path=Specify different path for super-user
--with-4in6Check for and convert IPv4 in IPv6 mapped addresses
--with-bsd-authEnable BSD auth support
--with-pid-dir=PATHSpecify location of ssh.pid file
--with-lastlog=FILE|DIR specify lastlog location common locations

Some influential environment variables:
CCC compiler command
CFLAGSC compiler flags
LDFLAGSlinker flags, e.g. -L if you have libraries in a
nonstandard directory
LIBSlibraries to pass to the linker, e.g. -l
CPPFLAGSC/C++/Objective C preprocessor flags, e.g. -I if
you have headers in a nonstandard directory
CPPC preprocessor

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to .


【编译安装升级openssh小结】转载于:https://blog.51cto.com/alexy/1050393

    推荐阅读