安装linux屏幕后面有什么

installation? whats there behind screens of linux?

本文关键字:什么 linux 屏幕 安装      更新时间:2023-10-16

我会关注库,尽管它也可以是一个通用的应用程序安装。

当我们安装一个库(比如C++)时,像我这样的新手用户可能会认为,当我们"安装"一个库时,所有的源代码都会被复制到某个地方,只设置了一些标志和路径变量,这样我们就可以在自己的代码中直接使用#include语句并开始使用它们。

但通过检查,我可以说,实际上,除了所谓的*.h头文件外,没有复制确切的源文件,而是复制了文件的预编译对象形式。(仅仅是因为,除了头文件,我无法在硬盘上找到所有的源文件)

我的问题:

  1. 当我们"安装"某个东西时,幕后的方法是什么。。在linux环境中,受影响的典型位置是什么。以及这些地点的典型重要性/用途。

  2. "安装"一个库和通过"sudo-apt-get"将新应用程序安装到linux系统中有什么区别?

  3. 最后,如果我有一组作为库有用的自定义源文件,并想将它们发送到另一个系统,我将如何在那里"安装"我自己的库,就像上面一样。

只是澄清一下,我的主要兴趣是从你的回答和文献中了解典型安装(应用程序/库)的全貌,达到我可以交叉检查、学习和重新做的水平。

  1. (问题已删除,问题解决了头文件和对象文件之间的差异) 这更多是一个通用编程的问题。头文件只是类/函数等的声明,它什么都不做。头文件所做的只是说"嘿,我存在,这就是我的样子。"也就是说,它只是稍后在实际代码中使用的签名的声明。目标代码只是编译和组装的代码,而不是链接的代码。这个图表很好地解释了我们通常称之为"编译"过程的步骤,但最好称为"编译、组装和链接过程"。简单地说,链接是引入所有必要的对象文件,包括系统所需的文件,以创建可使用的运行可执行文件。

  2. (现在问题1) 仔细想想,除了创建和修改具有适当内容的必要文件之外,安装是什么?这就是安装,只需将新文件放置在适当的位置,然后在必要时修改配置文件。至于哪些"位置"通常会受到影响,您通常会看到放在/bin/usr/bin/usr/local/bin中的二进制文件;库通常被放置在CCD_ 4或CCD_。当然,这会因情况而异。我想你会在linux系统目录上找到这个页面,作为一本教育读物。不过,请记住,任何东西都可以放在任何地方,只要你告诉其他东西在哪里可以找到它,它仍然可以正常工作,这些目录只是因为它们保持了事物的组织,并允许对二进制文件等项目的位置进行假设。

  3. (现在问题2) 唯一的区别是,apt-get通常通过安装您需要的项目并跟踪已安装的项目来让它更容易,而且它还允许轻松删除已安装的项。就实际安装而言,如果手动操作正确,则应该是相同的。像apt-get这样的软件包管理器只会让生活更轻松。

  4. (现在问题3) 如果你想这样做,你可以创建自己的包,或者如果它不那么复杂,你可以只创建一个脚本,将文件移动到系统上的适当位置。无论你想做什么,只要你把物品放在需要的地方。如果你想自己创建一个包,这将是一次很棒的学习体验,网上有很多教程。只需了解您的linux风格使用的包系统,然后查找有关如何创建该类型包的教程。

因此,在我看来,安装过程的真正大局只是编译(如果必要),然后将必要的文件移动到系统上的适当位置,并在必要时修改系统上的现有文件:把你的垃圾放在那里,如果需要的话让系统知道它在那里。