有的是从包管理器直接安装(有可能有多个包管理器),有的是 Flathub ,有的是 AppImage ,有的是下载的安装包,还有的是直接编译的。 时间长了会忘记当初是怎么安装的,升级时不太确定执行哪个命令。 大家如何解决这个问题?
1
dethan 2023-03-05 16:20:06 +08:00 via Android
做记录?
|
2
dawn009 OP @dethan 多了一项额外成本。很多时候装软件要么在工作流中为了解决其他问题,要么在尝试多个同类软件,不太可能分心去做记录。
|
3
paperseller 2023-03-05 16:27:15 +08:00 via iPhone 5
如果有桌面环境可以安装 bauh 多源包管理器,除了自编译的其他都覆盖了
|
4
dawn009 OP @paperseller 我去试试,感谢!
|
5
GeruzoniAnsasu 2023-03-05 16:36:02 +08:00
history | grep ……
|
6
adoyle 2023-03-05 17:00:19 +08:00 via Android
通过查看软件的安装路径来确定是哪个包管理器安装的
|
7
0o0O0o0O0o 2023-03-05 17:23:12 +08:00 via iPhone
每天打开电脑第一件事就是习惯性执行更新小脚本,里面是电脑上所有包管理的更新命令,不通过包管理安装的软件也会在安装后就把检查更新加进去。
|
8
yanqiyu 2023-03-05 17:32:22 +08:00
我的做法就是尽量避免安装的太杂,要么系统包要么 flatpak
再没办法就容器伺候 |
9
Owenjia 2023-03-05 17:35:26 +08:00
包管理基本都是可以查看软件包来源的,比如:dpkg -S /path/to/file ; rpm -qf /path/to/file ; qfile /path/to/file 。
不在包管理管理范围内的可能麻烦点,像 appimage 可以检查命令行参数,自编译的可以在编译时指定个单独的 prefix 让它不跟别的混在一起,另外还可以拿 bwrap/firejail 单独搞一个目录结构放一些声誉不太好的私有软件。 就个人来说,我是尽量所有的软件都通过包管理( portage )安装,仓库里没有的就自己单独打包维护一个,包管理提供的功能相对比较丰富,管理方便。比如可以避免覆盖系统文件,检测是文件内容是否被篡改过。 |
10
bjzhush 2023-03-05 17:44:20 +08:00
ps -ef|grep appName
找出路径之后就知道下一步了 |
11
littlewing 2023-03-05 19:29:59 +08:00
使用 archlinux
|
12
Joomaen 2023-03-05 21:42:16 +08:00
隔几天就 dup 系统更新一下,再 flatpak update 下
|
13
orangie 2023-03-05 21:57:35 +08:00
不知道的时候就各个管理器都尝试一下列出已安装软件,谁列出来了应该就是谁的。
|
14
littlezzll 2023-03-06 08:39:36 +08:00 via Android
|
15
LindsayZhou 2023-03-06 08:46:09 +08:00
所以 AUR 是个好东西,AUR 里都没有的可以自己写 PKGBUILD 打包,写起来挺简单的。
|
17
lechain 2023-03-06 10:07:31 +08:00
11 楼说的对(
|
18
Owenjia 2023-03-06 18:22:57 +08:00 1
@julyclyde 我的错,下意识的认为找到包了就知道来源了,实际还需要额外一个步骤,查看安装的包,比如:
apt info pkgname; zypper if pkgname 或者 zypper se -is pkgname; eix pkgname 。 在输出结果中会有从哪个仓库中安装上这个包的信息。 |
19
libook 2023-03-06 18:28:03 +08:00
我用 Manjaro 基本就是官方包和 AUR 用一个 yay 指令完成更新,Flatpak 是 Manjaro 自带的软件包管理器 GUI 可以一起管理。AppImage 只有上述都不能用的时候才会用,比较罕见,我目前只有 UHK 键盘的配置工具会使用这种方式,没有一键升级的方案,每次得手动下载、安装、删除旧版。
私人服务器上是 Debian ,绝大部分服务都是走的 Docker 镜像,极少数涉及到硬盘管理的首选官方包,需要新特性或有 bug 再考虑下载软件开发者官方的新版 deb ,安装后只要版本高于发行版软件源就不会被自动升级,有需要的话可以手动下载升级。 目前没有自己编译的需求,有的话基本会在特定目录保存源代码,想知道哪些软件是编译的去看这个目录就好,更新也可以手动拉代码、编译、安装。打成发行版格式的包或者仍 /opt 都可以。 当然手动的部分都可以自己写脚本来简化。 |
20
limon 2023-03-08 23:40:47 +08:00
nixos
|
21
linuxgo 2023-03-16 21:10:32 +08:00 via Android
@paperseller 还有这东西,要试试
|