A basic explanation of the file system. Simple things like the difference between /home/
and /home/$user (~)
, and why so many programs are located in /usr/bin/
or /usr/local/bin/
.
A tutorial in using the interactive shell. Codecademy has a useful lesson called Using the Command-Line, which helps with learning basic navigation and file operations.
Perhaps most important for students learning to use Linux, an understanding of the package management software model, and how to use a package manager effectively. I see a lot of Linux novices who expect to download software installers from the developer's website. Even worse, students will get in the habit of installing all software via the "curl, make, make install" pattern, resulting in a real mess.
If you're certain that Arch Linux is the distro you want to use, then the Arch Wiki Pacman page is a great guide. For other distributions, learning how to use .deb
or .rpm
packages is key.
Pacman comes with a range of useful utilities, for example:
paccache
- clean up the package cachecheckupdates
- safely check for updates without having to update local repo indexesrankmirrors
- generate a mirrorlist with the fastest mirrors for your locationAll packages in the repos are GPG signed, so the only way a mirror can mess with you is to provide you with a modified initial install image that contains a different set of keys.
They can be trusted as much as servers in the USA can be trusted: They cannot. That's why
The only defense against questionable regimes like Russia and the USA is diligent vigilance.
ffmpeg*2.8* != ffmpeg there's not a single package in the repos relying on ffmpeg2.8 (as ffmpeg2.8 doesn't exist in the repos anymore) remove it. And make a habit of clearing up outdated orphans.
If it isn't a true orphan due to some AUR dependency, remove both ffmpeg2.8 and the application in question and then rebuild both after the update.
It seems that the maintainer for ufw isn't even following the convention in their decision to use pacsave... If I'm interpreting that correctly, pacsave is only used when a package is removed to preserve any user-modified files that were provided by the package.
I guess there's not a case for when "config file locations have changed AND user modified config files," but in either case the maintainer's "warning" was extremely vague and provided no information about how a user might successfully migrate.
https://wiki.archlinux.org/index.php/Pacman#%22Unable_to_find_root_device%22_error_after_rebooting
All the talk in here about your fstab is sadly the sort of bullshit you'll get when you look to reddit.
Warning, if you're using custom repositories, you might get errors on your next pacman -Syyu. For example, if you are using the custom infinality repo, after following the above instructions, do this:
To re-import the repo key: sudo pacman-key -r 962DDE58
Then, sign the key: sudo pacman-key --lsign-key 962DDE58
Voilà.
edit: More information here https://wiki.archlinux.org/index.php/Pacman-key#Adding_unofficial_keys
To uncomment a line, you can use a simple command instead of opening the file, uncomment save and exit.
sed -e 's/#Color/Color/' -i /etc/pacman.conf
Whenever possible avoid editing original files aka .pacnew
echo '%wheel ALL=(ALL) ALL' > /etc/sudoers.d/99_wheel_is_cool
When adding a user, you can set the shell in the same command (bash is used by default if no shell is specified)
useradd -m -G wheel -s /usr/bin/zsh youruser
For a new user, I won't recommend an aur helper; instead build/compile first by hand and when you learn how it works, install then a helper (if needed..)
git clone aur.archlinux.org/packagename.git
cd packagename
makepkg [-isc...]
Just some notes from my side, feel free to ignore it...
>inefficient use of bandwidth
That's not usually true. Installed packages are kept in /var/cache/pacman/pkg. They only get downloaded again if they are not there. This is the case if you have run pacman -Scc, which is a bad idea anyway.
If you think apt-get
is cool, you should really try Arch Linux's <code>pacman</code>. It's like apt-get
, apt-cache
, dpkg
, and dpkg-query
all rolled into one, but with really simple and consistent options and output that's much easier to parse.
Please, check out archlinux wiki, which is superduber source to check out information
https://wiki.archlinux.org/index.php/Pacman#Skip_package_from_being_upgraded
Add a line
IgnorePkg=firefox
to /etc/pacman.conf file
You're on Arch? Learn about compiling from source. Write some PKGBUILDs for some software not already in the AUR. Make your own local repo and add your new packages to it. With any luck, you'll run into plenty of problems along the way that should get you learning.
For installed packages pacman -Qo $file
https://wiki.archlinux.org/index.php/Pacman#Querying_package_databases
For finding out on uninstalled packages https://wiki.archlinux.org/index.php/Pacman#Search_for_a_package_that_contains_a_specific_file
> Yeah? Source?
I am very sorry, the read-o-meter showed me where it's at, in fact you'd take about 23 minutes to read the whole Wiki page for pacman.
If you skip the troubleshooting part of the page, we'd look at 9min 53s, which might be enough to use the package manager the first few months.
I doubt it's time efficient to install Arch Linux though because you'd need to read the Beginner's Guide page, too, which takes another seventeen minutes. In this time you can literally install Xubuntu three times on a modern system.
>Either way, it's a niche linux distro.
distrowatch.com counted approx. 1000 hits per day on their Arch Linux page in 2014, whereas the Linux Mint page (the most popular distro according to page hits) was visited approx. 3000 times. So yes, Linux Mint is three times more popular than Arch Linux, but on the other hand Linux is a niche operating system. It's going to be cute on its^* shelf and that's about it, Windows will still have a 90% desktop market share.
>It's going to be cute on it's shelf and that's about it.
Arch appeared somewhere in 2006 iirc and it's still around in 2016, so maybe it's not quite as short-lived as your comment suggests.
why would you want something like that? checkupdates seems to be for looking up if you can update Arch since it doesn't support partial updates
You don't need that in Debian, partial upgrades are supported since forever. Just do sudo apt update && sudo apt full-upgrade
(or whatever package utility you use: apt-get, aptidude, apt..)
if you can upgrade in debian, it's because you can. Programs are not going to break by design because Debian doesn't ship half-assed packages ala Arch where the sonames don't match with the dependencies (it can happen by accident in Debian, but then it's a big serious bug, that the package manager/tests would catch before uploading the package)
I used Arch Linux for about 2 years on two different computers. Compared to Ubuntu, there will be more software that breaks over updates. It's a good learning experience and all that, but you should be prepared to fix broken stuff every now and then.
But don't trust me, just look at the wiki page of pacman :
>Warning: Instead of immediately updating as soon as updates are available, users must recognize that due to the nature of Arch's rolling release approach, an update may have unforeseen consequences. This means that it is not wise to update if, for example, one is about to deliver an important presentation. Rather, update during free time and be prepared to deal with any problems that may arise.
https://wiki.archlinux.org/index.php/Pacman#Upgrading_packages
The Pacman Rosetta is very useful for folks moving from any distro to another. It's got a list of commands and their equals for each package manager. If you know the apt-get command for something you want to do, it's easy to find the dnf command to do the same thing.
A lot of reasons.
1.) My package manager, pacman, makes my life SO easy.
2.) I work as a programmer (I don't just do it for work though, I love programming) and Linux is objectively the best platform for development.
3.) UNIX philosophy is god.
4.) Terminals and scripting changed my life.
5.) Literally everything is free, like, it is HARD to find a nonfree linux app.
6.) Customizability, I am in complete control of literally everything.
There's more than just that, but meh.
FYI, there are some existing alternatives presented in the Arch Wiki: pacleaner, pkgcacheclean, paccache (provided by pacman) etc.
Everybody calm down and read this: https://wiki.archlinux.org/index.php/Pacman/Pacnew_and_Pacsave#Why_these_files_are_created
>warning: /etc/pam.d/usermod saved as /etc/pam.d/usermod.pacsave These files require manual intervention from the user and it is good practice to handle them right after every package upgrade or removal. If left unhandled, improper configurations can result in improper function of the software, or the software being unable to run altogether.
Nothing is broken with this package. It's acting as you would expect if a config file moves. Stop saying it is. Granted it could of had a warning in the post install to be more user friendly.
uhh... you ran a full system upgrade, without paying attention to the output... set it to auto accept and took a shower....
yeah... how is this the fault of amd?
"pacman is a powerful package management tool, but it does not attempt to handle all corner cases. Users must be vigilant and take responsibility for maintaining their own system. When performing a system update, it is essential that users read all information output by pacman and use common sense."
Time for my monthly ritual answer :
“Not completely true. If you don't clean them, packages (including old ones) are kept on disk in case you'd need to re-install/downgrade software, so the used disk space grows while disk space used by installed software diminishes.
From a fellow Archer, with <3”
Use the ARM (Arch Rollback Machine). It contains daily snapshots of the official Arch Linux mirrors.
Either:
1) Find the subset packages for gnome and downgrade
2) Use the Time travel technique to revert your package DB to a certain date, and downgrade via the gnome group. (Don't forget to change the mirrors back).
After downgrading, ignore the 'gnome' group from updating.
Cool news. To answer my other question.
>Do any distro's make use of it out of the box?
Apparently manjaro, an arch based distribution, now makes use of BFQ (and I think BFS too) with an update. Manjaro uses pacman as a package manager, so debian/ubuntu/mint users will find it different, but should feel comfortable with it pretty quickly if you just want to try out this scheduler without messing with your main distro's kernel.
One thing that I'm still curious about is how BFQ effects power consumption. My quick googlefu didn't turn up much.
You might as well read the wiki and learn how to properly use pacman (to search, install, remove, etc. programs): https://wiki.archlinux.org/index.php/pacman#Usage
And also learn how to install programs from the AUR https://wiki.archlinux.org/index.php/Arch_User_Repository maybe Yaourt could be useful: https://wiki.archlinux.org/index.php/Yaourt
I was going to write something up, but it turns out it's already on the wiki! https://wiki.archlinux.org/index.php/Pacman#What_happens_during_package_install/upgrade/removal
Pacman does some checks ahead of time to resolve dependencies and check for file conflicts, but if something fails/crashes/reboots during install you're on your own. Some software might not work, it might not boot, you might not even have pacman anymore.
A 404 clearly indicates, that the internet connection is working fine and that the file has not been found on the server by the server. A 404 could easily be a problem with the mirror. After reading the man page and the wiki, you should not run into this problem very often, or at least not wonder why there is a 404 anymore, unless the mirror is faulty.
Read this: https://wiki.archlinux.org/index.php/Pacman#Upgrading_packages, especially the links in the red box.
yes, you can build packages from AUR and make your own repository. https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Custom_local_repository
https://aur.archlinux.org/packages/aurutils/ is an example of an AUR helper that uses this idea.
>If the file is owned by another package, file a bug report.
These files aren't owned by another package. It's user error: you used a different package manager.
Read the next paragraph:
>If you had installed a program manually without using pacman, for example through make install, you have to remove/uninstall this program with all of its files.
It goes on to link you here: https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Identify_files_not_owned_by_any_package which discusses it further, which then links you here: https://wiki.archlinux.org/index.php/System_maintenance#Use_the_package_manager_to_install_software
In summary: either use npm to manager ALL your globally installed node.js packages, or use pacman for ALL your node.js packages, but don't mix them because pacman has no idea what you installed with node.
It's recommended to stick with pacman so everything gets updated, but that may mean you need to create your own packages for node js applications that don't have their own. Alternatively, don't install packages globally with the -g
switch using npm so they only get installed to your home folder.
>It seems (to me at least) like a large time/effort investment
The first installation (which, with a little luck, may be the last) may take some time and patience. Everything that comes after that is not really time consuming. You should only check before updates if something has been published at https://www.archlinux.org/news/ which concerns your own installation. And now and then you have to synchronize existing configuration files with Pacnew files (https://wiki.archlinux.org/index.php/Pacman/Pacnew_and_Pacsave). Basically, that's all you have to do.
>so what makes it "worth it"?
These are for me the most important points why I prefer Arch.
>What DO people use Arch for
All the things I would also do with another operating system. E-mail, listening to music, watching videos, programming, surfing the Internet, writing letters, working with databases, trying out new things from time to time, playing computer games, chatting, etc.
Arch is not a distribution for a specific task. Just as Arch does not necessarily teach you more than any other distribution (except how to install Arch). And by the way, you don't become a godlike being by using Arch either.
The problem with this is that Arch Linux changes so frequently you generally need to download newer packages all the time anyway and your USB will quickly become out of date.
That said there are some things to can do to reduce your bandwidth consumption such sharing your package cache. This will lessen the burden of redownloading packages you already have.
Depending on what hardware you have and how you regularly install Arch there are a lot of different things you might be able to try to make this less painful. The more details you give about your setup the more things I could suggest.
This big update was actually the update of ncurses
to version 6. With it came a rebuild of every application or library that depended on it.
You initial problem was caused by some program (you didn't tell us which), most probably from the AUR, that you should have rebuilt against the new ncurses
version. Instead you downgraded ncurses
, which rendered bash unusable.
So what's the lesson here? IMHO, part of the problem is yaourt. It effectively hides the difference between binary arch packages (core
, extra
, community
) and the AUR. Packages from the AUR have to be rebuilt manually in cases like this, and that is your responsibility. But because of yaourt, you might not be fully aware of which packages come from the AUR and fall under your responsibility. Again IMHO, don't use yaourt.
Now, downgrading ncurses
was the huge mistake here and the subsequent reboot borked your system so hard, that you need the live media to fix it. How do you not run into something similar later? My advice is to know your system and keep yourself informed. ncurses
is a vital part of your system. After all, it is in core
and bash
depends on it. Downgrading something like this, without also downgrading all dependant packages, is always a bad idea. You effectively made your system partially upgraded. You should also follow arch-dev-public. There are several mails about the ncurses
update, that could have raised your attention.
I hope you learned something from your mistake. In the end, that's the only way to prevent running into something similar in the future.
The ArchWiki says pacman-key --init
requires sufficent entropy and can take a few hours. Try doing other things on the system while you have it running in the background.
Once pacman-key --init
has finished, run pacman-key --populate archlinux
You can create a list of all installed packages using pacman:
pacman -Qqe > installs.txt
The list will even include those from the AUR so you should be able to install from the list using yay:
yay -S --needed - < installs.txt
This is from the archwiki:
https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#List_of_installed_packages.
Holy shit lol.
You might want to setup a pacman hook that deletes the older packages when installing new ones, it only needs pacman-contrib:
https://wiki.archlinux.org/index.php/Pacman#Cleaning_the_package_cache
/etc/pacman.d/hooks/pacclean.hook
[Trigger] Operation = Remove Operation = Install Operation = Upgrade Type = Package Target = *
[Action] Description = Keep the last cache and the currently installed. When = PostTransaction Exec = /usr/bin/paccache -rvk2
AUR packages are just PKGBUILD files that build Arch packages, which are then installed using Pacman. Any package installed through Pacman is saved in the Pacman cache, so if you want to save installed packages for later use you can directly copy them from the cache location (/var/cache/pacman/pkg).
So assuming you are on Arch, Manjaro or Antergos -- there are 3 commands from the Arch Wiki:
https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Identify_files_not_owned_by_any_package
Here's what they do:
Create list 1 of all files.
Create list 2 of all files tracked by the package manager
Create list 3 by removing all matches from list 1 and list 2 -- leaving behind a list of files not tracked / owned by the system.
(There's also a process to check file signatures against what the package manager thinks they are supposed to be, it's also in the arch wiki, maybe even on that page)
I accidentally deleted everything in list 3 and caused myself a small headache as some of it is cached polkit which led to me getting a list of all packages on my system and reinstalling 1,400 packages in like 10 minuets.
(My Arch install is going on 2 or 3 years without reinstall, it's just easier to fix things than reinstall since the core tools work really well.)
here's a link to the pacman wiki and the trubleshooting section about signature errors.
I know you solved already, just in case anyone stumbles along here later..
FYI: It may be handy to add libvirt to the IgnorePKG list so you don't accidentally update it until it is properly resolved
I think what you're looking for is the Pacman Rosetta. Also, it might help you more if you become proficient in finding this kind of information on your own, than just asking around every time you stumble upon a problem.
I have no idea how versioned dependencies come in here (and most packages lack them anyway). But having the ability to easily see if a PKGBUILD misses some dependency is quite convenient, besides that you can build against packages that are newer than whatever you have on the local system. (after which you -Syu everything)
Anyway in the end it's an added ability and not the central idea of aurutils. The main thing is using a local repository which provides a plethora of benefits. For example, it's easy to remove AUR dependencies after build automatically with makepkg -r (since these are now installed through pacman -S --asdeps instead of pacman -U) and easily reinstall them afterwards. pacman -F support, a simple implementation (all fine print is left to pacman itself) and the ability to easily share things with other machines are some other advantages.
TL;DR aurutils turns pacman itself into your aur helper, instead of trying to mimic it like helpers usually do.
Probably OP is talking about that command from the Arch wiki:
pacman -R $(comm -23 <(pacman -Qq | sort) <((for i in $(pacman -Qqg base); do pactree -ul "$i"; done) | sort -u))
Unless the wiki is lying, paccache keeps the newest 3 copies of the package, right? Is that what you are referencing, or something else?
https://wiki.archlinux.org/index.php/pacman#Cleaning_the_package_cache
This seems like a pointless exercise. How am I to know what you need or don't need? That's the beauty of arch, you get to pick what you want based on how you use your system.
EDIT: Also, try generating your package list without the base and base-devel groups if you're going to look for things you might want to remove. eg:
comm -23 <(pacman -Qeq | sort) <(pacman -Qgq base base-devel | sort)
(see wiki)
I think the official databases are not signed (and ftp.archlinux.org does indeed not have a signature for community.db
), so I don't really understand why the server is sending a 200 OK
. Do you use any kind of proxy? Does the same thing happen with other applications as well (curl/your browser/...)?
It sounds like you're trying to do things the "hard way", i.e. the way you may be used to doing things but not the way pacman is designed to be used.
With pacman
, generally you don't install .tar.gz
files; instead, you download straight from the pacman repositories:
sudo pacman -S obconf
Note that this is covered in the main pacman wiki page.
As for .gz
files, as noted by another poster, pacman can't install arbitrary .gz
files: a .gz
file is just some file that's been compressed, and many files that have been compressed are not packages. That said, if the file you have is an Arch package file (usually .pkg.gz
or .pkg.xz
, it can be installed with sudo pacman -U myfile.pkg.gz
). This is not recommended compared to the above method, as the above method is both more reliable and easier: its more reliable because its using the packages already compiled for Arch and maintained by someone associated with Arch, and its easier because it does all the downloading, dependency handling, etc. for you.
Also note that before doing any of the above, you will want to refresh your cache and upgrade all packages on your system:
sudo pacman -Syu
pacman
maintains a cache, which is basically a big database containing the names of all packages, what version they currently are, and what other packages they depend on. the y
part of the above updates that cache, and the u
part upgrades all packages that have newer versions.
Also, don't be so hard on the wiki. It has a ton of useful information, and is widely regarded as one of the best documented projects out there; sometimes, though, you need to step back and look for the answer to the bigger question (How do I install a new package?) instead of looking to answer the more specific question (How do I install a .gz
file?), because sometimes Linux or Arch Linux has its own ways of doing things.
Check the ArchBang forums first. Also, sync and verify your mirrors. Did you check the wiki for Pacman? If you do some Googling and reading first, you will find most of this information is readily available.
ArchBang is gross, does it really take that long to get OpenBox up and running? I am starting to wish people would keep troubleshooting questions in the respective forums where they belong...reddit is for screenshots and weiners.
pacman -S package1 package2 package3
and so on.
https://wiki.archlinux.org/index.php/pacman#Installing_specific_packages
However, the file names of the packages can be different under Manjaro than under Debian, for example.
https://wiki.archlinux.org/index.php/Pacman#%22Cannot_open_shared_object_file%22_error
From further down the wiki page you linked.
So, you've already downloaded the package files and they should be sitting in your pacman cache. You'll need to unpack them to the filesystem wherever they're supposed to go. Then you'll need to also reinstall those packages, according to the wiki.
It could take a while to chase down all the broken stuff, so you might want to just recover important data and reinstall.
https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Removing_everything_but_base_group
there's no reason reinstall just because you're running antergos, antergos is basically just an installer for arch with a few extra packages available in the repos
If that's, like, Archlinux's pacman and you're not paranoid, then you could try asking it to not check signatures – https://wiki.archlinux.org/index.php/Pacman/Package_signing#Disabling_signature_checking. You'd just have to figure out where stack keeps the `/etc/pacman.conf`.
Incidentally – if anyone know what is pacman doing inside of stack, I wouldn't mind being enlightened about the why.
If it's new to you, you might want to check how large your cache has gotten. I have a paccache hook with pacman to only keep the most recent 3 packages.
Try checking out the 'Cleaning the package cache' section.
edit : I'll also leave the Arch Linux Archive here. Everytime I post it, there's always someone that doesn't know about it.
If I'm really busy, like during the middle of exam season, I won't update for weeks or even months. There was a time I made a huge update and something messed up my install. Getting back into the CLI was easy, but I was scratching my head trying to figure out which package got fucked. Hard to sift through hundreds of updates... I just reverted every package back to a certain date, which reverted my system back to working order, then did batch installs to narrow down the search.
I really love Linux's ability to downgrade and revert changes. It's like time traveling.
Pacman updates from a Package Repository. The official ArchLinux one is the default one.
AUR is not a package repository.
Therefore, you can't get pacman to update directly from the AUR site. (that's what helpers help with)
pacman
will "pick it up". pacman -Qi google-chrome
will show you info about its installation status, after you have it installed.
If you set up and run your own package repository, or find someone else who does...
...which is serving all the packages needed to install "google-chrome" as specified by its 'recipe' PKGBUILD
file in the AUR...
...then pacman can install, and update, "google-chrome" from that repository (after you have added the repository configuration to your pacman.conf
)!
Take a look at the examples section in man 7 aurutils
. Retrieving and building packages is as you say using aursync
. Note that there's a difference with classic helpers in that the installed is removed from the picture - you update packages in the repo, which are not necessarily installed on the system.
As to remove AUR packages, I'd suggest to avoid repose for now (it has some outstanding issues, why I dropped support for it in the git version). Use repo-add
and repo-remove
as described in the wiki:
repo-remove /path/to/your/repo.db.tar foobar
In any event there's been suggestions to improve the aurutils documentation (and local repo instructions on the wiki) before, but I lack the time to do much work on it. Happy to take patches though.
You are misquoting the wiki. Full context: https://wiki.archlinux.org/index.php/Pacman#Packages_cannot_be_retrieved_on_installation
>This error manifests as Not found in sync db, Target not found or Failed retrieving file.
>Firstly, ensure the package actually exists (and watch out for typos!). If certain the package exists, your package list may be out-of-date or your repositories may be incorrectly configured. Try running pacman -Syyu to force a refresh of all package lists and upgrade.
>It could also be that the repository containing the package is not enabled on your system, e.g. the package could be in the multilib repository, but multilib is not enabled in your pacman.conf.
So no. It wouldn't.
That's also misleading. You can install just security updates if you want, also according to the arch wiki yum is the only package manager with an undo function. I don't see much to fix with centos and everyone has his own version of "sane defaults". networkmanager is weird though, good for workstation and laptops but not for servers. I don't use it.
I hope you have read through both of these before you depend on someone else's opinion. https://wiki.archlinux.org/index.php/Pacman/Pacnew_and_Pacsave
This should help out.
"This page uses a table to display the correspondence of package management commands among some of the most popular Linux distributions."
Before you continue please, please. pleeeeaaase read up in the wiki on makepkg, pacman and AUR. I don't know which distro, if any, you come from but you'll want to get a basic understanding of how software is installed on Arch, what the various components are (and perhaps more importantly are not) responsible for.
[...It broke after I did
sudo pacman -S --force ttf-dejavu sudo pacman -Syu]
You know what that command would do/did? It will force install ttf-dejavu AND sudo AND pacman ! Since it was one command.
What you wanted to do is sudo pacman -S --force ttf-dejavu; sudo pacman -Syu OR sudo pacman -S --force ttf-dejavu && sudo pacman -Syu. But you didn't separate the first command from the second one.
That could be the source of your issue or may not, just a thought...
From Wiki
[ Warning: Take care when using the --force switch (for example pacman -Syu --force) as it can cause major problems if used improperly. It is highly recommended to only use this option when the Arch news instructs the user to do so.]
May be try this to fix pacman
Edit: Added wiki links.
https://wiki.archlinux.org/index.php/pacman#Usage
> To install a single package or list of packages (including dependencies), issue the following command:
# pacman -S package_name1 package_name2 ...
It takes a few seconds to read and comprehend. It's not exactly an application to go work on the ISS.
Two options -
GUI - click on the manjaro button for your "start menu" and then add/remove software. It should be right up front in favorites. Or start typing in octopi and and open that up. You can then search graphically for everything on offer from the official list.
CLI - pacman. Octopi is a front for pacman. In your specific case, you'd enter
# pacman -S skype
and follow the prompts. If there isn't an official option, you can use aur to find unofficial releases.
> C++ tries to be on that middle-ground by introducing OOP bloat
If you know how to code it C++ introduces absolutely zero bloat (and even allows the compiler to optimize better) while being much more expressive than in C.
Also, learn CMake and leave automake if you want to keep your sanity (and contribute to recent open source projects). Apt is different : it really is tied to your choice of distro. But most package managers have similar functionalities (https://wiki.archlinux.org/index.php/Pacman/Rosetta).
Finally, you can use Python with Qt with PyQt5 for instance. (and drop to C++ code if you need some performance-critical part.)
> Just a case of 'pacman -Sy steam'
Only idiots who want to break their system install packages with "-Sy <package>". Partial updates aren't supported and never will be. https://wiki.archlinux.org/index.php/Pacman#Partial_upgrades_are_unsupported
Arch does actually document how to start the installation with only an archive and chroot which isn't particularly different from a standard stage3 Gentoo install in terms of requirements. Assuming even that doesn't work, you can just extract the packages needed for pacman to root and run it later so it can track what's installed.
I suspect it's not particularly common to do this (at least by choice) because anyone wanting to bypass a predominantly-binary packaging system will probably skip installing one in the first place and just use Gentoo from the start.
I eventually landed on Arch linux, but most people don't have the need to switch to Arch, so I'm not suggesting people do that unless they adequately research their options. There are many more distros available and since Ubuntu (and hopefully Debian) are looking to correct this software divide my initial reasons will not be relevant soon enough.
The only reason I love Arch is due to its package manager (pacman). The rolling release is not necessarily a feature I like, but it hasn't been an issue for me. The ease at which I can remove software without meta-dependency hell was a nice change. It just feels good to have my desktop only have the software I need, by definition that makes my system perfect for me.
When it comes to using Arch the wiki is the best place to look first.
Arch Wiki KDE Page: https://wiki.archlinux.org/index.php/KDE
As for uninstalling programs I recommend you also take a look into wiki page for the package manager Pacman: https://wiki.archlinux.org/index.php/pacman
It's not really necessary to clean up, except for maybe removing orphaned packages and general system maintenance. You could just delete ~/.cache because it's generated again by the system, but this could also delete some programs configs.
https://wiki.archlinux.org/index.php/Pacman#Search_for_a_package_that_contains_a_specific_file
# pacman -Fy $ pacman -F xxd extra/bash-completion 2.11-1 usr/share/bash-completion/completions/xxd extra/gvim 8.2.2489-1 usr/bin/xxd extra/vim 8.2.2489-1 [installed] usr/bin/xxd
Broadly speaking, yes, all commands are the same, except those that are related to the distribution itself - like installing packages.
This might be helpful: https://wiki.archlinux.org/index.php/Pacman/Rosetta
> hard to catch
This gets logged into /var/log/pacman.log
. Just check your last "transaction" and see whether you've missed any new config files.
There are also several tools for managing pacnew and pacsave files:
https://wiki.archlinux.org/index.php/Pacman/Pacnew_and_Pacsave#Managing_.pac*_files
You can find more about comparison of package managers on https://wiki.archlinux.org/index.php/Pacman/Rosetta.
Or if you intend to use AUR, I recommend YAY, which serves as wrapper around pacman and can make your package management a lot easier.
From man pacman
--needed
Do not reinstall the targets that are already up-to-date
It relates to package groups (like gnome). If you install a group package, but already have some of the packages in the group, the --needed flag makes it only install the ones that it really needs to, instead of running reinstalls on packs you might already have.
I would say that if you don't know you need it, you don't need it.
But think of it like this:
sudo pacman -S groupypackage
Contains packages pack1 through 10. You already have pack9 installed. If you don't use --needed
it will reinstall pack9. If you use --needed
it will just leave pack9 as is. (Arch wiki has a little bit on it here: https://wiki.archlinux.org/index.php/pacman )
>(equivalent to apt update && apt install <package>
)
>sudo pacman -Sy <package>
Don't do that on rolling release distros: https://wiki.archlinux.org/index.php/Pacman#Installing_packages
>Warning: When installing packages in Arch, avoid refreshing the package list without upgrading the system (for example, when a package is no longer found in the official repositories). In practice, do not run pacman -Sy package_name instead of pacman -Sy*u* package_name, as this could lead to dependency issues.
While Manjaro uses its own repositories and is therefore not exactly Arch, most of the info on the Arch wiki is relevant to you. You should start by reading this section on pacman, Manjaro's package manager. The basic concept is the same as apt, but every package manager has its own syntax and its own behavior.
For example, pacman -S lutris wine
will install both on your system, though maybe you should be installing wine-staging instead.
If in the future you need something that is not available on the official Manjaro repos, try looking for it in the AUR, eg through yay
. But inform yourself on what the AUR is and why you should be more skeptical about downloads from there.
sudo pacman -S tldr
​
How do you have Arch installed but doesn't know how to install a single package ? (honest question)
You are likely having driver issues. You can uninstall newer kernels (and blacklist them in updates) to take them off of your GRUB load up screen.
https://wiki.archlinux.org/index.php/Pacman
That's the problem with bleeding edge software - it tends to break stuff a lot; you give up stability for the freedom to use the most current software.
If you want to see what the problem is, check the logs in /var/log. My guess is that you are having a power option that might be fixable with a kernel boot paramater to turn ACPI off.
However pacman
doesn't care or know about any files or directories created when you use the package though e.g. in your home directory (like .config/Clementine
) you'll have to take care of those yourself and they can be in a number of locations mostly $HOME
, $HOME/.config
and $HOME/.local
.
I don't think there's anything to take care of it all automatically and pacman isn't always aware of all the config files used by a package.
As usual the wiki has some good procedures for pacman and other system maint. I also like to set a hook to clean the cache after every transaction. Welcome to Arch!
https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Removing_unused_packages_.28orphans.29
Based on the intro paragraph on this page, it looks like the pacsave files are backups of configuration files for removed packages, that way if, for example, you removed a web server application, you wouldn't lose your *.conf files upon removing the package. Therefore, I would consider the -n option to be the Arch equivalent of apt-get purge.
For my use case, it actually does what I'd want it to do, but I can see how others may not want that particular behavior.
https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#List_of_installed_packages
I honestly just keep track of the packages and grab any config files I need from my /home folder (/etc too if I have any customized services)
Also, happy cake day.
Welcome to Manjaro!
I would recommend using yay
instead of yaourt
as a pacman front-end/AUR helper for when you use the cli instead of octopi/pamac-manager.
sudo pacman -S yay
As this link shows yaourt
is deemed to be inactive and I found yay
to be more than sufficient as well as being easy to remember/type out.
To search for a package just type yay 'package-name'
I think that you will also find the Pacman Rosetta very useful in learning to parse common commands.
>But there is still a good deal of manual tweaking to be done, right?
The installation is a bit cumbersome, but can be done in less than 30 minutes. Especially since some commands like genfstab -U /mnt >> /mnt/etc/fstab can be used simply without changes from the installation manual.
After that, Arch basically works like any other distribution and its quite stable. Only with the updates one should check whether something is published under https://www.archlinux.org/news/ which concerns the own installation. And you have to synchronize existing configuration files with pacnew files from time to time (https://wiki.archlinux.org/index.php/Pacman/Pacnew_and_Pacsave). Of course, you can also play around with it more. But you can do that with OpenSuse, Ubuntu or Mageia too if you like. So I don't think Arch is a distribution from which you inevitably learn something (except how to install Arch). And you don't become a higher being by using Arch either. Arch has a somewhat questionable reputation in this context and the fact that some people keep spreading nonsense about Arch doesn't make things any better.
> I think I'm starting to get the hang of DNF
If you know apt, then dnf should not be an issue IMO.
Take a look at this comparison https://wiki.archlinux.org/index.php/Pacman/Rosetta#Basic_operations
And welcome to Fedora!
You are correct, but in the context of partial upgrades it would be appropriate.
From the archwiki:
> If certain the package exists, your package list may be out-of-date or your repositories may be incorrectly configured. Try running pacman -Syyu to force a refresh of all package lists and upgrade. https://wiki.archlinux.org/index.php/Pacman#Upgrading_packages
This is described here, in a section somewhere towards the end of the page:
https://wiki.archlinux.org/index.php/DeveloperWiki:Package_Signing_Proposal_for_Pacman
Also, take a look at this page here:
Apparently, you have neither read the pacman manual nor the wiki page on pacman correctly.
Yes, Syy updates the mirrorlist. But it even loads the repos again if nothing changed. Recommended is "Syu". It updates the mirrorlist if a change ocurred and updates your system as well. It's recommended for installing and updating.
Don't use pacman -Sy
. It refreshes the package lists without upgrading existing packages, which might be okay with other distros but is a bad idea with Arch.
>3) Ubuntu is very "don't fix it if it ain't broke" while I want to learn preventative measures and fool-proof methods to ensure a complete, predictable (and therefore "stable") system that I can depend on.
Isn't that what Ubuntu is doing?
People like these Rolling Releases. I been using Linux for 12 years. I on the most part stick with LTS. I like my system to be stable and stay stable. If I don't make fast striking changes/upgrades on my system. Most likely it will stay stable until the next LTS release.
I think only once I ever upgrade something that was in the repository. But, had to go to source to upgrade that software to the newest version. For either for a feature I wanted or some kind of bug fix. Can't remember the reason.
I don't care if I'm two or three version behind the newest version. I trust the Linux distro choices and testing. So I stick to there versions that are in there repositories. I know there trusts worthily and I know they were tested for stabilization.
It's just a rule of thumb, for me and my system to work in harmony.
If you are ready for Arch then it doesn't hurt to go for it. It is a bleeding edge, rolling release GNU/Linux distribution.
Arch is a rolling release distribution, so you can expect to encounter bugs occasionally in a new release and you may prefer to downgrade a buggy package to a stabler version rather than wait for an update. If you do find a bug, please help by reporting it on the Arch bug tracker or to the upstream project itself.
Arch can stay stable with some planning.
IgnorePkg
https://wiki.archlinux.org/index.php/pacman#Skip_package_from_being_upgraded
This happens often when a big lib gets a sobump.
This is, above everything else, the reason why partial upgrades are bad and unsupported.
Users like us won't even notice it. It'll just be a big list of packages to download, nothing else.
Bear in mind that it is not good practice to run 'pacman -Sy' then installing a new package as you end up having incompatible dependencies and whatnot.
Link to Pacman's page on Arch Wiki if interested:
Whenever you are encountering problems the archwiki is a good place to start looking. This might help:
if you updated the flashplugin and it won't work, try downgrading to the previous release and then blacklist flashplugin from being updated until a new version is released.
sucks but it must be done sometimes.
If you really don't want to have your /boot partition mounted all the time, you could set up a pacman hook to mount it before the kernel is upgraded. See https://wiki.archlinux.org/index.php/Pacman#Hooks for details.
see this for pacman - https://wiki.archlinux.org/index.php/Pacman/Rosetta
but you might prefer pamac commands
pamac --version
pamac --help, -h [action]
pamac search [options] <package(s)>
pamac list [options] <package(s)>
pamac info [options] <package(s)>
pamac install [options] <package(s)>
pamac reinstall [options] <package(s)>
pamac remove [options] [package(s)]
pamac checkupdates [options]
pamac update,upgrade [options]
pamac clone [options] <package(s)>
pamac build [options] [package(s)]
pamac clean [options]
check https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#List_of_installed_packages
for fetching the list you don't need paru (or any other AUR helper, pacman knows about local installed packages aka AUR packages)
the wiki also lists a better method of creating the list after every pacman upgrade instead of running a cronjob