Talk:Pacman

From ArchWiki
Revision as of 15:48, 27 July 2012 by Karol (Talk | contribs) (No RTFM or personal opinions: rm closed discussion)

Jump to: navigation, search

Detail missing

Can someone please add the details of pacman? There is no explanation of how it works. What are the components and their interaction? And how about related dependencies and libraries? Without that basic flow-chart concept in mind, it is very difficult to understand the roll that third-party additions or frontends might play.

This would be very interesting. libfetch, libalpm, etc. manolo 15:23, 15 November 2009 (EST)
There's a tiny bit on Allan's blog. Details regarding libalpm should be in a separate wiki article. -- Karol 13:13, 10 February 2012 (EST)
Some more, pretty low level, info, also from Allan's blog. -- Karol 13:24, 11 February 2012 (EST)

Pacman refuses to delete corrupted package, because it is corrupted...

I had this issue today with two packages (icu-4.4-2-x86_64.pkg.tar.xz and ttf-bitstream-vera-1.10-7-any.pkg.tar.xz). Got asked "<X> is corrupted. Do you want to delete it? [Y/n]" and then told "failed to commit transaction - <x> is invalid or corrupted". Some nice person should add in "Troubleshooting" that in this case one can delete said package manually as root in /var/cache/pacman/pkg. -- Misc 20:17, 17 April 2010 (EDT)

I'm glad someone asked this. And thanks for the pointer. One of the most annoying things that I've found users have ever had to deal with in the last couple decades has been this sort of problem with automated package management methods, regardless of the OS used. I have noticed, however, that the download process usually weeds out the corrupted downloads before committing them to the install process. It might be that dumping a bad package might be something that is automated by the pacman routine in a better manner than it does now, but downloading again, and overwriting the bad one, should fix the problem without further effort. - KitchM 23:01, 18 April 2010 (EDT)

proposed addition to package cache cleaning...

Comment: I think people will find value if the following was added to the page. Might be good to insert it between the pacman -Sc and pacman -Scc descriptions. What do others think?


Alternatively, the [CacheClean] python script can be used to manage one's pacman cache. Functionally, the script acts like the "pacman -Sc" command with a key difference: the user can select how many old versions (generations) of his/her packages to keep. For example, the following command will keep two versions of the cached packages, deleting everything else in the /var/cache/pacman/pkg directory.

# cacheclean.py 2

- graysky 16:18, 28 May 2010 (EDT)

Disagree; I think we should keep these kinds of unsupported tools, etc. in pacman Tips. -- pointone 18:07, 2 September 2010 (EDT)
I see it has been added at the end of Pacman#Additional_commands. Maybe we should mention paccache from pacman-contrib instead? -- Karol 13:02, 10 February 2012 (EST)

Troubleshooting: manually reinstall pacman

Template:FAQ

testdb

IMO it should be added to this page. You can get text from [1]. --Beroal 13:13, 8 November 2010 (EST)


Post upgrade tasks

Since I've been using Archlinux, I've noticied that there are some tasks that must be done after a system upgrade, I've put together'em in a script, could we add it (or something similar) to the upgrade section? (It requires meld and sudo tools)

PD. I've to add a space between brackets ( [ [ and ] ] expressions) to avoid generate links

Fixed with <nowiki> tags. -- Karol 10:20, 15 May 2011 (EDT)
 !#/bin/sh
 echo "* Looking recursively for *.pacnew en /etc ..."
 pacnew=$(find /etc -type f -name "*.pacnew" 2>/dev/null)
 MELD=""
 for config in $pacnew; do
   # Merge with meld
   sudo meld ${config%\.*} $config
   MELD="1"
 done
 if [[ "$MELD" != "" ]]; then
   echo "  Recursively delete /etc/*.pacnew? (y/N)"
   read CONFIRM
   if [[ "$CONFIRM" == "y" ]] ; then
     echo "* Recursively deleting *.pacnew from /etc/"
     find /etc/ -name "*.pacnew" -exec sudo rm {} \;
   fi
 else
   echo "  Not found"
 fi
 HUERFANOS="`pacman -Qdtq`"
 if [ "$HUERFANOS" != "" ]; then
       echo "* Deleting orphan packages..."
       sudo pacman -Rsn $HUERFANOS
 fi
 echo "* Deleting packets' cache..."
 sudo pacman -Sc
 echo "* Done."
 echo ""

--RkG 08:53, 15 May 2011 (EDT)

pacman -Sc? Why? This way you deprive yourself of an easy way to downgrade.
Everyone can use the tools he likes best to deal with .pacnew and .pacsave files. Scripts such as yours belong to your user wiki page (RkG), not to the pacman article. -- Karol 09:57, 15 May 2011 (EDT)
Thanks for the tags; the fact is that there are some tasks that the user SHOULD do after an update (review *.pacnew files), others are CONVENIENT (delete orphan packages), and others could be interesting, like the "pacman -Sc" command (anyway it asks for a confirmation)... Ok the article says about read the pacman's log, but this things happens so frequently that could be mentioned explicitly IMO --RkG 02:51, 16 May 2011 (EDT)

version comparision

I needed to know what pacman is doing with versions like 1.2.fb9 and 1.2.fb10. The documentation was not clear on that.

Short: I found fb9 is really less than fb10.

It took me a while to find, so I place the links here: version.c source and alpm_pkg_vercmp description. This is what is used. It tries to split the version in only-numeric and only-alpha parts. --JonnyJD 13:58, 1 March 2012 (EST)

Is the procedure in the last Q&A correct?

My Arch did not boot after a upgrade finaly I got it working again by following the procedure which is given for the question "After updating my system, I get a "unable to find root device" error after rebooting and my system will no longer boot." It did not work after I did exactely what is writen there. Specifically the "mkinitcpio -p linux" failed it complaint that it did not found the linux image. After I unmounted everything and started again without "# mount /dev/sdx boot/ (your /boot partition)" it indeed worked. Could someone who knows better than I check whether the mount command i question is necessary?--Vorwaerts 16:36, 31 March 2012 (EDT)

It is indeed necessary if you have a separate /boot partition. It sounds like you do not, and you instead mounted another partition on top of your /boot directory. The instructions could perhaps be clarified, or, better yet, link to the chroot article. -- pointone 20:13, 31 March 2012 (EDT)
I added some clarification to that step of the procedure - Gcool 11:09, 27 April 2012 (UTC)