一 起因
原因无需多说,一切都是为了服务器(非高性能集群,而是自用简单服务器)用起来更舒服。之前的内容可以看这一篇推文《配置服务器之更好用系列》。
另外,正文还会展示如何用ChatGPT的一个令人惊艳的能力:能够实现对一个自然语言问题(非直接搜索能解答,或者需要综合各种搜索答案后解答)的概括性回答。
二 正文
2.1 docker运行之namespaces限制
ubtuntu服务器在开启了namespace功能之后,可能会出现容器运行时无法在系统用户中的环境中创建文件的问题。这是因为开启了这一功能,当前用户(id_user)在运行docker容器时是默认以其他的用户id(id_docker)运行这一容器的,也就是id_user和id_docker是不同的。但是,id_docker可以从id_user挂载的目录下将文件复制到docker容器中,从而方便程序的运行。
等到对应的配置文件和运行文件下载到docker容器之后,便可以在docker运行程序啦。
但是呢,等到程序运行时,docker内的结果文件却无法复制到docker容器外(因为权限不同)。因此,需要通过外部命令将docker容器内的结果文件复制到用户目录下。下面就是如何从容器外将运行容器内部的结果文件复制出来的命令。
Ps: 注意,这一id和docker image的id是不同的
2.2 VScode之结果显示不全
有时候在VScode上想查看结果的时候,常常发现VScode会在默认情况下展示部分内容,其余过多的内容则以‘...’的形式展示。那么,我们该如何设置VScode实现结果的全面展示呢。一行命令即可
2.3 程序意外终止该如何查看原因
有时,需要在docker上运行很久的程序。这时,挂在后台运行,又常常出现程序终止运行。那么这时候就需要了解程序终止运行的原因。但是呢,又是因为程序自身的原因,无法输出到终端,这时候,就需要通过dmesg命令即可查看系统程序终止原因。dmesg是一种程序,用于检测和控制内核环缓冲,可以帮助用户了解系统的启动信息。
之后,终端会显示程序错误的原因
可以看出错误的主要原因是内存不够用了。
2.4 不懂cmd命令该如何查询含义
例如,对于2.3中提到的命令“egrep -i -B100 'killed process'”,由于使用的过于久远,我已经记不太清楚这行命令的含义是啥,于是我就尝试问下ChatGPT。然后,没想到,针对这个我觉得需要搜索N次才能解决的问题,他已经能够回答的这么流利了(见下文)。
2.5 ubtuntu服务器内存不够该如何解决,在不改变配置的情况下
同样的,对于服务器而言,最常见的痛点就是内存不够,算力不足。因此,我针对这一问题也尝试问了ChatGPT。答案如下
其中增加交换空间的错误,无疑是最适用于哪些没有足够运行内存的服务器了(人工提炼了一下,哈哈)。
三 惯例小结
其实,就像。服务器也得不停的折腾和配置,使之能够越用越顺手。虽然,每次折腾一点点,真正做到用的时候就能够磨刀不误砍柴工了。
另外,最近几次的使用ChatGPT,我已经渐渐理解这一工具的优势了。比如,在本推文的环境下,一句不理解的命令可以直接通过ChatGPT实现瞬间领悟,而使用常规的搜索引擎,可能需要2倍-10倍的时间才能找到,并且可能是毫无关联的,需要借助自身的理解能力才能拼凑好的完整答案。而这,可能是谷歌担忧被ChatGPT替代的主要原因之一吧!
四 公众号其他资源(方便读者使用)
本公众号开发的相关软件,Multi-omics Hammer软件和Multi-omics Visual软件欢迎大家使用。
Multi-omics Hammer软件下载地址:
https://github.com/wangjun258/Multi-omics-Hammer
Multi-omics Visual软件下载地址:https://github.com/wangjun258/Multi_omics_Visual/releases/tag/Multi_omics_Visual_v1.03
PS:因为本软件是用python脚本撰写,调用了部分依赖包,用户首次使用需要安装python以及对应的包,安装之后便可永久使用。
下面是本号在其他平台的账户,也欢迎大家关注并多提意见。
简书:WJ的生信小院
公众号:生信小院
博客园:生信小院
最后,也欢迎各位大佬能够在本平台上:1传播和讲解自己发表的论文;2:发表对某一科研领域的看法;3:想要达成的合作或者相应的招聘信息;4:展示自己以寻找博后工作或者博士就读的机会;5:博导提供博后工作或者博士攻读机会,都可以后台给笔者留言。希望本平台在进行生信知识分享的同时,能够成为生信分析者的交流平台,能够实现相应的利益互补和双赢(不一定能实现,但是梦想总得是有的吧)。
五 每日一图(源自Stable-diffuse创作)
驰网明杰 2023-03-29