![如何为使用 configure + make + make install 从源代码编译和安装的 openssh-server 创建 init.d 脚本?](https://linux22.com/image/839866/%E5%A6%82%E4%BD%95%E4%B8%BA%E4%BD%BF%E7%94%A8%20configure%20%2B%20make%20%2B%20make%20install%20%E4%BB%8E%E6%BA%90%E4%BB%A3%E7%A0%81%E7%BC%96%E8%AF%91%E5%92%8C%E5%AE%89%E8%A3%85%E7%9A%84%20openssh-server%20%E5%88%9B%E5%BB%BA%20init.d%20%E8%84%9A%E6%9C%AC%EF%BC%9F.png)
我已经在我的 Ubuntu PC 上使用 安装了 openssh-server apt-get install openssh-server
。版本是 5.9。
现在,我想从源代码编译并安装 openssh-server 版本 6.2。我已成功下载源代码,并运行以下命令:
./configure
make
make install
我发现新版本的 openssh-server 安装在 /usr/local/sbin/ 中。旧版本的 openssh-server 在 /usr/sbin/ 中。
我发现 /etc/init.d/ssh 中的服务脚本仍然指向 /usr/sbin/。并且旧的 openssh-server (v5.9) 仍在运行。
- 我怎么能够代替旧的 openssh-server 与我刚刚编译并安装的新 openssh-server 有什么区别?
- 如何创建 init.d 脚本来启动和停止我从源代码编译的新 openssh 服务器?
- 如何在启动时启动新的 openssh-server?
- 当我使用 安装 openssh-server 时
apt-get install
,配置文件将安装到 /etc/ssh/。如果我从源代码编译并安装它,配置文件在哪里?
谢谢。
答案1
我刚刚从源代码安装了 6.4p 版本,配置文件位于
> /usr/local/etc$ ll total 284
> -rw-r--r-- 1 root root 242153 Jan 10 21:20 moduli
> -rw-r--r-- 1 root root 1576 Jan 10 21:20 ssh_config
> -rw-r--r-- 1 root root 2583 Jan 13 09:46 sshd_config
> -rw------- 1 root root 672 Jan 13 09:28 ssh_host_dsa_key
> -rw-r--r-- 1 root root 610 Jan 13 09:28 ssh_host_dsa_key.pub
> -rw------- 1 root root 227 Jan 10 21:20 ssh_host_ecdsa_key
> -rw-r--r-- 1 root root 182 Jan 10 21:20 ssh_host_ecdsa_key.pub
> -rw------- 1 root root 985 Jan 13 09:28 ssh_host_key
> -rw-r--r-- 1 root root 650 Jan 13 09:28 ssh_host_key.pub
> -rw------- 1 root root 1679 Jan 13 09:28 ssh_host_rsa_key
> -rw-r--r-- 1 root root 402 Jan 13 09:28 ssh_host_rsa_key.pub
为了删除旧版本,我已将新版本设置为在不同端口上运行,复制了旧版本的初始化脚本并对其进行了修改,使其指向新安装的版本。我现在可以运行这两个版本,以便测试新安装,我将旧版本保留一天左右,以防出现问题,这样我仍然可以访问(我的服务器完全是远程的)。一旦我满意,我就可以使用 apt 删除旧版本,清理我可能仍然存在的任何配置文件,然后重新启动。祝你好运!