编译安装升级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
nonstandard directory
LIBSlibraries to pass to the linker, e.g. -l
CPPFLAGSC/C++/Objective C preprocessor flags, e.g. -I
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
推荐阅读
- jhipster|jhipster 升级无效问题
- Mac安装Chromedriver
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- MAC安装Mongo
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- gitlab|Gitlab升级(12.2.1到14.6.4)
- GIS跨界融合赋能多领域技术升级,江淮大地新应用成果喜人
- react|react 安装
- VueX--VUE核心插件
- python-安装sublime遇到异常