Linux下载与安装软件(了解)
软件安装1、软件安装的方法2、什么是包管理器3、Linux生态4、配置文件5、镜像6、软件依赖7、包管理器的使用8、关于包管理器使用的几个问题结语1、软件安装的方法Linux下软件安装有几种方法。第一种方法是直接用源代码进行安装。但是会出现编译好的代码无法运行的问题。可能的原因是当前源代码调用了第三方库而我们并没有一起下载安装下来。第二种方法是使用rpm包。rpm包一般是由别人提供的已经编译好的二进制文件可能进一步做好了压缩工作解压即可使用。使用rpm包也有缺点首先rpm也可能出现上面直接用源代码的第三方库缺失的问题其次rpm包可能不是官方提供的可能会出现一些意外软件恶意捆绑的情况(下了一个全家桶)甚至出现其它更严重的安全问题。第三种方法就是使用诸如yum, apt之类的包管理器。我们推荐使用包管理器下载软件。2、什么是包管理器Linux的包管理器类似智能手机的应用商店。以前智能手机刚流行的时候我们通常要去浏览器上搜索软件并下载。在浏览器上下载软件是有风险的比如会感染病毒、下载到了恶意软件等。后来一些手机厂商开始在他们生产的手机上提供应用商店这样一类app/应用程序。应用商店本质上是一种客户端软件应用商店连接着包含应用软件的后端服务器。用户使用时可以使用应用商店连接后端服务器进行软件的下载与安装。包管理器就像Linux下的应用商店本质上也是一种客户端程序。包管理器连接了软件包(软件及第三方库的打包)的服务器。我们需要下载安装软件时就可以使用包管理器连接软件包服务器从而下载安装我们需要的软件。Linux那么多软件是怎么来的呢我们就需要了解Linux的生态。3、Linux生态我们如何评价一款操作系统的好坏答案是看操作系统的生态是否完善。如果一款操作系统内核稳定且功能完善支持很多常用的软件及应用程序定期维护和更新出现问题能够及时解决官方网站上有文档对操作系统功能和特性等进行详细介绍并会随着操作系统的更新及时更新文档有社区论坛供使用者讨论当前出现的问题及解决的方法有一批数量较多的针对性的用户那么我们就可以认为这款操作系统是一个好的操作系统。一款操作系统诞生之后最重要的事请就是有越来越多的人使用。开发者为了保证自己的操作系统被更多人使用就必须参与维护操作系统的生态比如定期维护和更新操作系统、更新文档、在社区论坛上交流收集问题并尝试解决还有开发、维护和更新软件。当然不仅仅是开发者自己去搞软件一些爱好者或者公司企业的工程师也可以进行软件的开发、维护和更新。当开发软件的人员将软件研发出来后一些服务器的厂商可能会提供服务器给他们方便他们维护更新旧的软件或者继续研发新的软件。4、配置文件软件被做出来放在软件包服务器上了。我们要想下载软件那么我们的云服务器就要去软件包服务器中下载软件。那么我们的云服务器是如何找到对应的软件包服务器的我们的云服务器内部有一个东西叫配置文件配置文件保存了目标服务器的下载链接。输入指令cat /etc/apt/sources.list即可观察到下载链接。5、镜像软件包服务器是找到了可是还有一个比较严肃的问题软件包服务器或者说包含最近新出来的一些软件的服务器绝大多数都在国外。而我国是采取了相关的封控措施的导致境外网站的响应时间很长甚至不响应。这时一些高校、研究所还有企业就会干两件事将国外软件包服务器上的一些新式软件经检测、审核和相关处理之后拷贝到国内的软件包服务器上将Linux服务器上原来的可能提供国外服务器链接的配置文件替换成提供国内服务器链接的配置文件其中拷贝软件到国内的软件包服务器上的行为叫做镜像。6、软件依赖下载一个软件可能依赖多个第三方库yum, apt包管理器就会将软件和软件依赖的第三方库一起打包下载很好地解决了软件依赖的问题。7、包管理器的使用以当前的Ubuntu版本为例Ubuntu的包管理器是apt。查看系统版本cat /etc/os-release查找软件包apt search [软件包名称]给出详细信息apt show [软件包名称]安装[sudo] apt install [-y] [软件包名称]注意执行这条安装指令之后软件包就可以直接使用了这意味着包管理器apt同时完成了下载和安装非常方便-y选项无需询问直接执行卸载[sudo] apt remove [-y] [软件包名称]而对于CentOS系统可以将上面指令中的apt换成yum。如果报错则可以借助其他工具查阅正确的指令。8、关于包管理器使用的几个问题如何知道自己想要安装什么软件包这个就要看情况了。Linux上可以存在多个用户那么需要下载多个相同的软件包吗不需要只需要下载一个软件包。同时Linux下如果正在进行一个软件包的下载安装那么就不能再去下载另一个软件包否则会报错。下载软件时apt会去配置文件中寻找下载链接。Ubuntu的配置文件是sources.list可以使用指令cat /etc/apt/sources.list查看下载链接。稳定软件源 vs 扩展软件源一部分软件经过数年甚至数十年的迭代更新其功能已经很完善性能也已经很稳定所以开发者将这些完善的软件专门放在一些服务器上这些软件包服务器就是稳定软件源而一些新开发的软件功能还不是很完善性能也不是很稳定开发者就将这些软件放在另一些服务器上这些服务器就叫做扩展软件源。Ubuntu的稳定软件源是source.listUbuntu的扩展软件源是source.list.d(这其实是一个目录在我的机器上是空的)软件源更新软件源更新本质上就是在网络上获取最新的配置文件然后更换旧有的配置文件。如果我们使用的是云服务器我们就不需要担心这些因为云服务器厂商会帮我们做好。而如果一些人使用的是虚拟机可能就需要更新软件源。结语本文已结束。要点为yum / apt的使用软件包服务器yum / apt本质上是一个客户端yum / apt包含配置文件