不间断会话服务
大家学完了ssh服务后有没有发现一个很重要的事情——当远程连接的终端被关闭时,运行在对方服务器上的命令也会随之中断。简单来说,如果在执行打包文件的命令,或者是正在用脚本安装某个服务程序,通常中途是绝对不能关闭远程窗口或断开网络链接的,即便是网络不稳定的波动情况都有可能导致任务被中断,只能重新远程链接到服务器再重新开始任务。还有些时候正在执行打包文件的命令,又同时想用脚本来安装某个服务程序,这个时候因为打包文件的输出信息会占满了用户的屏幕界面,所以只能再额外打开一个远程控制窗口,久而久之了,难免会忘记那个远程窗口是做什么用的了。
Screen是一款由GNU开源计划开发的多视窗远程控制管理服务,简单来说就是为了解决上述情况中网络异常中断或同时控制多个远程窗口而设计的程序。Screen服务程序不仅能够解决上述问题,而且用户在使用过程中还可以同时在多个终端会话中自由切换,能够做到会话恢复——即便网络中断,也可让会话随时恢复,用户不会失去对命令终端的控制,多窗口——每个会话都是独立运行的,拥有各自独立的编码、输入输出和窗口缓存,会话共享——可以使多个用户从不同终端使用同一个会话,也可让他们看到完全相同的输出信息的。详情请关注《linux就该这么学》。
操作方法
- 01
Screen服务程序在红帽RHEL7系统中并没有默认安装,因此需要配置yum仓库来安装这款软件,首先第1步请同学们如图9-12所示,把虚拟机中的CD/DVD光盘选项中选择到下载好的系统iso镜像。
- 02
把光盘设备中的系统镜像挂载到/media/cdrom目录: [root@linuxprobe ~]# mkdir -p /media/cdrom [root@linuxprobe ~]# mount /dev/cdrom /media/cdrom mount: /dev/sr0 is write-protected, mounting read-only
- 03
使用Vim文本编辑器创建Yum仓库的配置文件,下列具体参数含义可参考第4章4.1.4小节: [root@linuxprobe ~]# vim /etc/yum.repos.d/rhel7.repo [rhel7] name=rhel7 baseurl=file:///media/cdrom enabled=1 gpgcheck=0
- 04
现在就可以使用yum仓库来安装screen服务程序软件啦,出于对自然环境的保护意识,刘遄老师将对后面章节中出现的yum软件安装信息进行筛选——把重复性高与无意义的非必要信息省略,以来节省及避免不必要的纸张浪费,为后代不仅能享受科技之便捷,还能拥有自然之舒适献出一点努力: [root@linuxprobe ~]# yum install screen Loaded plugins: langpacks, product-id, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. rhel | 4.1 kB 00:00 Resolving Dependencies --> Running transaction check ---> Package screen.x86_64 0:4.1.0-0.19.20120314git3c2946.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: screen x86_64 4.1.0-0.19.20120314git3c2946.el7 rhel 551 k Transaction Summary ================================================================================ Install 1 Package Total download size: 551 k Installed size: 914 k Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : screen-4.1.0-0.19.20120314git3c2946.el7.x86_64 1/1 Verifying : screen-4.1.0-0.19.20120314git3c2946.el7.x86_64 1/1 Installed: screen.x86_64 0:4.1.0-0.19.20120314git3c2946.el7 Complete!