linux下安装一个软件时,都对系统做了什么,windows下呢?
发布网友
发布时间:2022-04-23 01:29
我来回答
共5个回答
热心网友
时间:2023-10-10 03:49
删除时 rm ?做梦还是忽悠?谁告诉你的?
make install 是把当前目录里面 make 时编译成功的程序和数据,安装到系统对应的目录里。安装到什么地方一般要看 configure 时的参数,不然就是默认的 /usr 或者 /usr/local (这个看这个源代码的默认了)里面的各种目录中,比如设置文件 etc 、可执行程序 bin 、函数库 lib 里面。卸载这个程序时,应该在这个源代码目录里面 make uninstall (有的程序不支持)。make uninstall 必须是 ./configure 之后的源代码,而且必须参数一致,版本最好也要一致,不然文件内容是会有不同的。导致卸载不能一一对应而会导致有遗留。所以 make install 的程序,最好的选择是把源代码目录 make install 后的整体压缩保存,或者自己记录一个安装什么文件的列表。有这个列表才能一个一个的去 rm 。当然还一个办法,就是像 Windows ,一个程序一个目录,但 Linux 不是 Windows ,这么装可能会导致很多乱七八糟的问题。所以安装程序,最好的选择是使用软件包管理器,也就是 rpm 、deb 什么的包安装,这样整个安装内容都会被包管理器记录。
另外,make install 安装虽然主要就是复制程序到目标位置。但也会执行一些其他的操作,主要是写入设置,比如 gconf 这个类似 Windows 注册表的东西。不过大部分需要考虑的都在 /var 里面。比如网站内容,数据库数据文件什么的,其余的设置一般都是在 /etc/ 里面有设置文件,安装时一同会复制过去,如果某个软件有个人的后期设置内容,一般是在个人目录里面的某个隐藏目录中,这个目录卸载时是不会被删掉的,需要自己删除。其余的目录除了 /var ,基本都不用考虑里面是后期生成而不是 make install 时复制的。所以一般来说,make install 时的复制到系统里面的文件列表,就是足够卸载用的内容了。
为了减少这个恶心的记录 make install 数据,最好的选择其实就是软件包管理系统生成的二进制软件包。不过每个软件都不同,所以软件包需要自己写一个软件包控制脚本,来生成这个软件包。
对于一般用来说,直接选择现成的别人做好的软件包是最好的选择。最烂的选择是自己 make 去。
热心网友
时间:2023-10-10 03:50
除了复制文件外一般安装软件的时候都会有一些软件环境的配置工作,比如系统变量,系统关联等等,linux多是改写相应的配置文件,还有建立配置文件,win的话是写注册表和在系统注册一些服务。原理都是差不多,不过linux一般这个过程可以手动控制。win的软件为了方便用户操作一般都提供卸载方式(不是人人都懂得删除某个程序的文件夹的)。用linux的一般都是技术人员,知道怎样卸载。但是有一些系统(如Ubuntu)也提供了软件中心,新立德这样的软件包管理工具方便软件的管理。
热心网友
时间:2023-10-10 03:50
Linux没有注册表的说法,大部分安装都是直接将文件放入各个文件夹,理论上删除那些文件或文件夹即可,但谁知道它安装到哪些文件夹了哪?所以,还是通过软件提供的卸载程序来卸载为好。
Windows下是有注册表的,安装程序的时候一般会在里面填写自己的信息,这是不能通过删除文件来清理掉的,另外有些程序还要往系统文件夹下写文件,很多也是不容易删除的。所以最好还是通过程序提供的软件删除或者通过系统自带的程序管理程序来删除,这样才能得到彻底清理的目的。
热心网友
时间:2023-10-10 03:51
xp还有注册表,从文件安装目录删除也可以,但还要把注册表值也清理,还有从命令提示表打开的字符都要删掉,对系统做过的改动,好麻烦的,所以就有个卸载的诞生;lu系统不知道,我没用过
热心网友
时间:2023-10-10 03:52
windows不是开源软件所以你并不知道系统里的文件是干什么用的,windows下除了绿色软件外其他的软件都会在注册表和system32或者window文件下写入文件这个很难清除!