CentOS 初体验

兄弟公司淘汰下来两台 Dell 的服务器,一台 32GB 内存,一台 64GB 内存,鉴于前些时已经给兄弟们搞了一台 256GB 带 4TB SSD 的机器让他们欢快地玩耍,所以我在这两台里先霸占一台自己用用也不至于遭来非议吧,再说了,我挑的还是低配的那台。

系统装的是 CentOS 7.6,裸系统之上,最先想搞的是用 go 把 btcd 给编译过去。不知道什么原因,golang 那个官方网站正常是上不去的,于是只好身登青云梯,把安装包下载下来,再用 Xftp 传到 Server 上,按照页面上的指导,用 tar 解压至 /usr,然后又把程序所在路径自动加入到搜索路径里(也就是把 export PATH=$PATH:/usr/local/go/bin 这句话贴到 /etc/profile 文件末尾)。然后兴致勃勃地 go get github.com/btcsuite/btcd,很快就被告知依赖的某个项目又被墙住了。例行骂娘后,转移一下工作方向。

把本地的 Visual Studio Code 配置一下远程开发吧。安装了 Remote Development 0.17.0 和 Remote – SSH 0.47.2,连接服务器,没做别人说的免密登录的步骤,出来输入框要账户和密码,成功连接。第一个提示就是,安装的 git 版本为 1.8 过于老旧,要不升级一下?

这个 1.8 版本的 git 是我亲手用 yum 刚刚安装上的,所以从官方仓库安装新版本就不要想了。跑到 github 上把 git-2.24.0.tar.xz 下载了来,编它!已知所谓的服务器系统就是这么个德行,我先试着执行了一下 gcc,果然 not found,于是 yum install gcc。这下可以放心 make 了,结果系统还缺斤少两,依次又 yum install 了 openssl-devel、curl-devel、expat-devel,直到遇到了一个错误,说 pod2man 找不到(按手册,在非 root 用户下想执行全局安装,对应的命令是 make prefix=/usr all doc info,而后再以 root 执行 make prefix=/usr install install-doc install-html install-info)。

插播 1:在我解决问题的中间,小兄弟在微信群里告急:那台牛哄哄的配置的机器,硬盘满了!我忙不迭登录上去查看,原来是 / 分区满了。顺手记录一下查找大文件的命令:find . -type f -size +200M -print0 | xargs -0 ls -la。发现原来是安装到 /opt 的 mongodb,数据文件没有特别指定从而撑爆了分区。当初分区的哥们也是一知半解,把 2TB 里的 50GB 分给了 /,剩余的竟然全给了 /home,我一时不知道该说个啥。

插播 2:在寻找 pod2man 的路上,不小心 yum 装了 podman,用的时候才发现是把马巩当成了冯巩,用 yum erase 命令卸载,可竟然它不会自动卸载刚刚装上的那些依赖项,这时不禁想起 apt 的 autoremove 命令的好来。去网上再次学习,发现 yum 自己有 autoremove 命令,而且是直接应用到目标包即可(也就是说,可以直接用它替掉 erase 命令),并非事后收拾残局。

接着来。看上去那个 pod2man 是和 man 手册有关的部分,权衡后抛弃之。在非 root 用户下执行 make prefix=/usr all,而后再以 root 执行 make prefix=/usr install,完美。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注