从零开始的VPS生活 Vol1-1:初见CentOS7——常用软件

几乎所有的个人服务器都安装的Linux系统,为什么? ——不要钱。

这只是Linux众多优点的其中之一。开源为Linux带来了众多无需付费的社区发行版,也让它极易定制,可以运行在各种各样的设备上,让云服务商能以极低的价格像我们提供廉价的虚拟机服务。

用最俗气的说法,因为Linux不要钱,所以有很多人使用它;因为用很多人使用它,所以产生了很多实用的资料来参考;因为有许多参考资料,所以后续的使用者的门槛就更低…一个良性循环。

我自己的选择同样是使用Linux系统,发行版选择了CentOS7。


为什么是CentOS

CentOS这个名字可能不是很耳熟,但是说到红帽,很多人就知道了。而CentOS,就是Redhat Enterprise Linux(RHEL)的社区版本,实际上它只是RHEL去掉了版权内容(比如红帽的Logo),并且不能享受红帽的企业级服务而已。

对于个人用户,它拥有的众多二进制软件包和极为丰富的支持文档让它成为了非常有吸引力的选择。当然,选择并不止一个,还有Ubuntu、openSUSE等等众多优秀的发行版,不过它们就不是这个系列的讨论内容了。


CentOS7,目前CentOS的主流支持版本,它具备什么特性呢?

  • 首先,它是Linux,它能实现一个Linux应该具备的所有功能。

  • 它使用systemd来管理系统,所以系统操作通常使用systemctl命令

  • 它使用firewalld作为防火墙管理工具,它更加灵活,但是能找到的资料要少一些

  • 它一如既往地使用rpm进行包管理,能够获得数量众多的以rpm格式分发的软件包

  • 它仍然使用yum作为软件包管理的前端,并没有使用更加新潮的“dnf”(当然,你可以手动安装dnf/yum4)

  • 它是完全开源、自由的,以至于默认不带有第三方软件源,你可以自行添加

关于systemctl、firewall-cmd等控制命令涉及的服务设置和防火墙设置,本系列暂且不做详细的介绍,这些操作的具体意义建议参阅一些入门文章辅助理解。

P.S. 本系列使用了Vultr定制的CentOS 7,相对于minimal版本,它预装了大量实用的软件包,因此如果遇到操作上的差异,还是要多多动手解决来积累经验。

RHEL 8 Beta已经发布,它对减少我们的准备工作的帮助非常大,等待CentOS 8发布之后,这里也会及时跟进。


SSH连接工具Xshell

最初,我是喜欢使用Putty进行SSH连接的,它比较简单,体积小,还是开源的。不过用着用着,还是有一些不顺心的地方,比如它是多窗口的而不是多标签页的,不能记住密码等…因此,我又尝试了一些其他的工具,直到我遇到了Xshell。

注意: Xshell只对家庭和教育用户免费,因此如果你想在商业环境下使用(比如你的Windows使用域账号登录),请购买商用版。

Xshell自带简体中文,因此在使用上没有什么好说的,照用就是,我想说几个小细节。

  • Xshell有很多好看的配色方案,可以在这里下载。配色方案中我最推荐Tomorrow,VSCode上也在用。

  • Xshell也可以像SecureCRT一样选中复制,右键粘贴,在”选项-键盘与鼠标“里,你可以找到这些设置。

  • 默认的控制台外观设置只对未来新建的连接生效,所以如果你已经创建了连接,修改字体字号还需要单独修改现有连接。

  • 对一个连接,可以设置登录脚本,比如登录上之后自动ssh到另一台机器之类的(还可以用来填写密码区域),对于登录跳板机一类的情况非常实用。

  • Xshell 6中,增加了CJK字体的设置,也就是如果你的基础英文字体不包中日韩文的时候,你可以设置一种字体来配合使用。同时,我推荐Sarasa Mono(等宽更纱黑体)作为编码字体,这是知乎大v——微软字体设计师Belleve的作品,有非常严格的中英文等宽,中文部分是思源黑体。

关闭最后一个标签页会关闭窗口,这不是很方便,可以在“选项-高级-会话”中,取消“最后一个标签关闭时推出Xshell”,这样就可以像浏览器一样,关闭最后一个标签后打开空白页了。


包管理工具yum和yum-cron

简单的介绍一下我们的好朋友yum,装软件全靠它了

  • yum clean all:清楚yum的各项缓存

  • yum makecache:建立新的yum缓存

如果安装的是minimal版本,上面两项最开始应该执行一次。

  • yum update:更新现有软件包

  • yum install xxxxx:安装软件包

  • yum search xxxx*:寻找软件包,可以使用通配符,在只知道命令不知道包名的时候非常有用

  • yum provides ****:查找提供某个命令的包,比如可以查谁提供了ifconfig


官方软件源的软件未必是最新版,但是基本都是在保证兼容的情况下有用最新的安全补丁的版本。因此,我们可以考虑定期自动更新软件包,在这里,我选择使用yum cron。如果不像我这么懒的话,也可以自己来经常更新。

首先,安装yum cron

yum install yum-cron -y

更改/etc/yum/yum-cron.conf

#自动下载更新,默认就是yes
download_updates = yes

#自动安装更新,默认是no
apply_updates = yes

#随机的等待时间设置为0,立即执行,这个配置是为多机交替更新准备的,单机的话会影响对具体更新时间的判断
random_sleep = 0

这样就相当于每天执行一次yum update,为你更新最新的软件包了。


一些常见的软件包

  • vim:vi的加强版,代码高亮,插件众多。

  • wget:下载工具,相对curl更专注于下载文件。

  • man-pages:查看程序自带的手册。

  • git:版本控制工具,方便使用github等版本仓库平台。

  • screen:防止因为断线导致程序运行中断,编译大程序必备。

  • net-tools:CentOS 7精简了ifconfig等指令,可以通过安装这个包补充上。

  • epel-release:CentOS的EPEL软件源,很多软件都需要在这个源下载,建议安装

至于更多的软件包,还待各位自行开发。

P.S. 部分软件包Vultr定制的版本是都有附带的,自行安装的minimal版则需要手动安装。