4 ms·
GoboLinux install layout is a cool concept. However, it's not hard to figure out where files were installed, and what files are from. The package manager keeps
by ploxiln 6y ago
GoboLinux install layout is a cool concept.
However, it's not hard to figure out where files were installed, and what files are from. The package manager keeps track of all of that, and you can ask it. Example for debian or ubuntu:
# list all files from package
dpkq-query -L <package>
dpkg-query -L <package> | grep bin/ # see just commands
# find what package a file is from
dpkg-query -S /path/to/some/thing
I use equivalent commands in Archlinux (pacman ...) and they certainly exist for redhat/fedora but I'm not familiar with those.
For stuff not installed as packages, hopefully it's either in a single directory in /opt, or among a small collection of stuff spread in /usr/local, or in a self-contained directory in your home folder.
- colechristensen 6y agoRPM-based distros (redhat, etc.) # List all files from q package rpm -ql <package> # Where did file come from rpm -qf <path>
- antx 6y agoAnd just because I have to be THAT guy, with Arch linux you use pacman -Ql and pacman -Qo to do the same. Also, man! Do I love the Arch wiki: https://wiki.archlinux.org/index.php/Pacman/Rosetta https://wiki.archlinux.org/index.php/Pacman/Rosetta
- Teknoman117 6y agoI'll be THAT guy as well! On Gentoo, "equery f <package>" displays a list of files installed by that package, "equery b <path>" says which package owns that file or directory, if any. (f and b are the short versions of "files" and "belongs", respectively)
- account42 6y agoI prefer `qlist` and `qfile` from app-portage/portage-utils [0] as the q versions tend to be faster. [0] https://wiki.gentoo.org/wiki/Q_applets https://wiki.gentoo.org/wiki/Q_applets
- curt15 6y agoThat of course assumes that the post-install scripts don't move files around. Mac OS has a similar utility called "pkgutil" which supposedly tracks all files belong to programs that come as "pkg" files -- typically system utilities that don't make sense to ship as clickable bundles. But the pkgutil database is often useless. For example, the MacGPG installer used to "install" its files under "/tmp/private", but that was simply a temporary install directory which was immediately moved by a postinstall script to an untracked location.
- ploxiln 6y agomacOS has App Folders, since the beginning when it was call OS X, and they're kinda like GoboLinux, but even better! Just copy this folder anywhere and it runs stand-alone and self contained. But almost nothing is just a plain App Folder on macOS anymore. Starting over a decade ago, anything from Microsoft or Adobe or Google even Apple themselves, requires you to double-click run an installer that puts suspicious bits everywhere, just like on Windows. They want to auto-launch and auto-update and integrate and engage etc. And if you want to run Photoshop or Office or Chrome, what are you going to do, not let it install all its junk all over? Every regular person certainly will just let it, and all non-trivial companies will take maximum advantage. Skype and Office were automatically installing crappy Firefox extensions and stuff, so Firefox had to do some annoying complex extension-install-signing thing to try to prevent that ... This is why Apple and Microsoft went towards sandboxed App Stores. The user won't choose less-abusively-packaged software, but even Big Software Corp can feel pressure to get its app into the store and sandboxed. Linux distros never had this problem or needed this solution, because they re-package the software they distribute. If xscreensaver or calibra or virtualbox are programs people want to run, but their authors do annoying or dumb things, that can be patched by the distro packager, and the package manager file database will remain in quite good shape.
- ilikepi 6y agoIt kinda seems like your example says more about the specific behavior of the MacGPG installer than about the general reliability of macOS's package database.
- Aissen 6y agoI have now memorized all commands (and stopped switching distros), but I used to regularly look at this rosetta stone of package management commands: https://wiki.archlinux.org/index.php/Pacman/Rosetta https://wiki.archlinux.org/index.php/Pacman/Rosetta
- biglost 6y agoYou said it, stop switching distros, master it and enjoy. By mastering the distro I mean knowing enough to be productiva with it. I almost only use debian or alpine(docker and servers) and gentoo on mi laptop
- foxyv 6y agoIt's great to master a distro, until your license expires and your IT department decides to switch... Two times in 5 years.
- api 6y agoYou can certainly list files in packages in other distros, but the beauty of the GoboLinux approach is that it dispenses with loads of complexity. You don't need much of a package database at all. Reducing complexity is good in and of itself and is always a win as long as you don't lose important functionality. The notion of packages or installers vomiting files all over the place on systems really needs to die. Mobile OSes mostly got this right, and MacOS has been moving in this direction. Windows and older Linux distributions are the only things left that treat the system like a stir fry of random shit. Of the two this is probably easier to fix on Linux, since Windows is hamstrung by a ton of legacy requirements that are much harder to work around.
- mikepurvis 6y agoNot least of all on Windows is the long standing user expectation that software is installed by double clicking setup.exe.
- deleted 6y ago[deleted]
- foxyv 6y agoI mostly use RHEL and SLES because that's what's required by my job. Their package databases are helpful sometimes. But usually it's just a symlink nightmare hidden across 5+ different directories. That is if you can even install anything past the license checks that fail to phone home because you are in a private VPC. I do like Arch based Linux distributions. In my opinion they are the best all around for servers and even containers. Pacman is an excellent package manager.