delve应该安装到哪_Linux 系统下的软件应该安装在哪儿?

我在windows系统下安装软件都会安装在别的地方不会装在c盘,因为怕拖慢系统的运行速度,那在linux系统下需不需要这样做呢?而且linux系统安装软件装完了都不知道装到哪儿了,感觉到处都有,让强迫症很难受,能不能把它们都装在同一个地方?

Linux下面的软件,按照安装方式,一般有这几种:

1. 使用各种包管理器安装的包:比较常见的例子有apt,yum,pip,npm等,也包括dpkg手动安装的.deb文件。这些软件,其安装位置一般都不好设置,比如apt,安装位置在.deb文件中都写死了,改起来很费尽。不过这种情况下一般不会出现 “装完了都不知道装到哪儿了”的问题,包管理器一般都提供查询已安装软件情况的功能,比如apt:

$ apt list --installed

会显示已经安装的包,输出类似下面的格式:

hostname/eoan,now 3.22 amd64 [installed]

hplip-data/eoan,eoan,now 3.19.6+dfsg0-1ubuntu1 all [installed,automatic]

hplip/eoan,now 3.19.6+dfsg0-1ubuntu1 amd64 [installed,automatic]

htop/eoan,now 2.2.0-2 amd64 [installed]使用源代码变异

这里[installed]指的是用户主动安装的包,[installed, automatic]指的是用户安装别的包时候的依赖。如果我apt remove 某个包,那么所有他依赖的包也会被移除。所以查自己装的包,只看[installed]状态的就可以了。

如果实在想知道安装到了那里,可以这样干。比如我想找htop在什么地方:

$ dpkg -L htop

/usr

/usr/bin

/usr/bin/htop

/usr/share

/usr/share/applications

/usr/share/applications/htop.desktop

/usr/share/doc

/usr/share/doc/htop

/usr/share/doc/htop/AUTHORS

/usr/share/doc/htop/README

/usr/share/doc/htop/changelog.Debian.gz

/usr/share/doc/htop/copyright

/usr/share/man

/usr/share/man/man1

/usr/share/man/man1/htop.1.gz

/usr/share/pixmaps

/usr/share/pixmaps/htop.png

可以看出,软件在/usr/bin/htop,文档在/usr/share/doc/htop和/usr/share/man/man1/htop.1.gz。

你要实在不想按照他写的位置安的话,可以把里面的文件导出来,不过可能有权限和其他的设置问题(apt还要运行.deb里边的安装脚本,设置驱动什么的),如果愿意去解决这些问题的话可以试试。 不过向htop这种程序,只有一个二进制文件/usr/bin/htop是必须的,真导出来放在自己想要的地方也无妨。

2. 使用源代码编译再安装的软件。许多开发库,或者包管理软件上没有的软件,只能使用源代码编译再安装,常见的步骤是./configure && make && sudo make install,设置、编译、安装。一般情况下默认设置是可执行文件安装到/usr/bin,库安装到/usr/lib(这也是一般要加sudo的原因)。如果想改位置的话,比较常见的方法是在 ./configure中加一个flag:

$ ./configure --prefix=安装这个软件的文件夹

不一定所有情况都支持(这里吐槽一下C和C++程序的混乱的build system……这就是一门语言没有爹的后果),最好查一下软件的说明。当然了,C和C++之外的语言一般就用自己的编译工具了,各自有各自的情况。

这种情况的问题是一般只能通过make uninstall卸载,如果有着源代码和Makefile的文件夹没了,那就不好办了。现在我的电脑里面就有不知道多少个这样的软件…… (还有向gcc这样不提供make uninstall的,只能手动去删了。)

3. 别人提供好的二进制可执行程序,让你下个tar.gz压缩包的一般都是这种情况。这个就没有任何规律了,运行后在任何地方存东西都有可以,不过比较多的是存在$HOME/.config/软件名里面。不过和Windows不一样,一般不会把可执行文件扔到别的地方,所以之后想要再用的话一般也是执行这个程序。或者说这种情况一般没有什么“安装”的概念,可以说是“portable”。我是在$HOME目录建了个文件夹,所有的这种程序都放在这里。

最后再说一句,你的强迫症没什么错对之分,不过我觉得你担心的原因没什么道理:“怕拖慢系统的运行速度”。不知道你是不是担心和系统文件存在同一个盘上,读取程序的时候和系统抢硬盘读写带宽?我刚用iotop看了一下,系统在正常运行的时候对硬盘的读写并不多,无论是随机读写还是顺序读写,都远远占不满,估计Windows也差不多。因此,存在哪个目录下面我觉得没有太大的实际区别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值