6 ms·
When it comes to tooling, I found the packaging strategy of Arch to be pretty invaluable, too: - Pacman is a great package manager (esp. when compared to e.g.
by btschaegg 10y ago
When it comes to tooling, I found the packaging strategy of Arch to be pretty invaluable, too:
- Pacman is a great package manager (esp. when compared to e.g. ´yum´).
- The Arch User Repository (https://aur.archlinux.org/ https://aur.archlinux.org/) has a large list of additional packages maintained by the community.
- The PKGBUILD format used by the AUR is easy to read and essentially just generates Pacman packages you can install alongside packages from the Arch repo.
- PKGBUILD also makes it really easy to create a package for some obscure software yourself (or e.g. a specific font), if necessary.
- There are tools that create PKGBUILD packages from language repos like gem, npm or pypi (via pip). Those are really useful since they prevent language based packages from clashing with pacman.
In addition, I really like that arch is built with choice in mind: There's no default "way to go" - you can e.g. choose from several desktop environments without having to install a specific one first, meaning you can configure your system from the ground up.
I think Slackware and Gentoo work similarly? (I've personally never tried them)
- btschaegg 10y agoAnother aspect of the AUR that I skipped: The way Pacman packages are set up, it's possible for multiple packages to deliver a certain functionality. This allows for a great number of AUR packages (the ones ending with "-git", "-hg" or the like) that essentially download/compile a bleeding edge version from the according source versioning repo (e.g. on Github). If they're correctly set up, the system will recognize them as a replacement for another package, that might even be in the main system repos.
- yellowapple 10y agoSlackware does indeed work similarly with its SlackBuilds system, albeit with much more minimalism (no dependency resolution is probably the most significant difference). SlackBuilds are also standalone shell scripts, unlike (AFAICT) PKGBUILD scripts (which seem to rely on being invoked by a separate command). Gentoo is a whole other ballgame, and its packaging system is much closer to a modern-day BSD-style ports tree. As for the starting environment, Slackware actually takes the opposite approach from Arch: the installer defaults to installing all package sets available, which in the case of the install DVD includes KDE, Xfce, a bunch of other window managers, and a whole lot more. You're of course free to deselect the package sets you don't want (or even individually deselect packages), but Slackware's approach is definitely to start the user off with a fully functional system rather than expect the user to set things up from the bottom up. Gentoo's somewhere in between those two extremes, at least as far as I remember from last time I installed Gentoo.
- kennu 10y agoCan you honestly say you remember the exact pacman syntax of how to perform a system upgrade or how to install a package? :-) For me the UX was a problem, even if technically the package management is good.
- btschaegg 10y agoI just remember the commands I use most, namely: ´sudo pacman -Syy´ to update the package db ´sudo pacman -Suy´ to update all packages ´sudo pacman -S package´ to install/update a specific pakage ´sudo pacman -U package.pkg.tar.xz´ to install a package from a local file (useful if you're using makepkg) Those are usually enough to maintain my system. I'll have to hit the wiki for the various query options though. But if the CLI side of pacman bothers you, I'd suggest defining aliases in your shell's RC. I track my dotfiles using git and share them on all my machines, and this method works quite well for me...
- joatmon-snoo 10y agoAnd -Ss to search, -Rns for purge/uninstall.
- ake1 10y agoi too would recommend defining aliases. if not for UX reasons, for brevity and consistency. i use the same (short) commands for pacman as for apt or yaourt.
- m45t3r 10y agoPacman UX may be difficult to getting started, however once learn a bit it is really easy. For example, you know the "-S something" install a package named "something" and "-Ss" search a package in repositories. So, how to search an installed package? Well, there is "-Q' parameter that installs a local package, so maybe: $ pacman -Qs package And yeah, this is exactly how it works. Once you learn a bit about how pacman works, it all connects, same thing as vim.
- amcrouch 10y agoYou do not have standard package manager aliases in your dot files? Why would I want to remember sudo pacman -Syu when I can just enter pkg-update? Useful if you have to jump distro's when you surely have your commands aliased.