我试图从操作系统进程的角度来理解 shell 和终端的概念以及它们之间的确切关系。所以我在这个领域几乎没有问题。
健全性检查:据我所知,shell 是用户可以与操作系统交互的界面,即:运行其他进程。虽然shell(例如Bash)只是另一个进程。那正确吗?
有没有办法运行一个不会是 shell 进程的子进程的进程?
环境变量:在bash,还有,当你生成一个shell中运行多个脚本,例如.bashrc,.bash_profile等(取决于外壳类型-互动与非互动,登录与非登录)。这些脚本定义了环境变量。如果有一种方法可以不管任何 shell 来运行进程,那么环境变量从何而来?
在在 Ubuntu 上安装 Docker 引擎的Docker 文档中,有一个从存储库安装的选项(以及下载 deb 文件并安装它的选项,以及使用也使用存储库的便捷脚本)。但我发现如果我只是跑
sudo apt-get install docker.io
Run Code Online (Sandbox Code Playgroud)
在我的机器上,它将完美下载并运行 Docker。
我的问题是:从自己的存储库安装 docker 或从已配置的默认存储库安装 docker 有区别吗?
另外,在查看文档时,您应该安装 3 个软件包docker-ce docker-ce-cli,而containerd.io从默认存储库安装时,您只需安装docker.io.
这些不同的软件包是什么以及它们包含什么?