Lost Pacman Installed Package Databse

On one of my Arch machines I seemed to have lost something for Pacman as 'Pacman -Q' gives absolutely no results. 
I've searched on both the forum & the wiki but I guess I'm too stupid to get the right search term to come up with anything.  I still have the packages in /var/cache/pacman/pkg and a lot in /var/lib/pacman, so I don't know what it is I lost.
Any ideas guys?

An improvement on rdt's script. This assumes (as did his) that package names do not have spaces in them.
It has the advantages of:
- replace 4 calls in a pipe with 1 call
- does not report packages that were removed since being installed
- is hopefully easier to read
- checks the correct column for 'upgraded' or 'installed' and not the entire line, ie will not report a line that says something along the lines of "warning: we upgraded your rc file"
awk '
  $3 == "installed" || $3 == "upgraded" { pkg[$4] = 1 }
  $3 == "removed" { pkg[$4] = 0 }
  END { for (i in pkg) if ( pkg[i] == 1 ) print i; }
' /var/log/pacman.log

Similar Messages

  • Pacman: install package from local disk withou database refresh

    Basically what it says in the title.
    I've just installed Arch on a notebook that doesn't have a working ethernet jack. To get wifi working I need wpa-supplicant, so I downloaded the package using another machine. When I try to install it with pacman -U wpa-supplicant.pkg.tar.xz, pacman complains it doesn't have a database (which is probably right since I f*cked up /var), and without a network connection I can't do a pacman -Syu.
    Can I force pacman to do the install, or do I have to install wpa-supplicant manually?

    There is not point in rebuilding the wpa_supplicant.  If you are going to manually install it and you have the built package, just manually install the prebuild binary you already have.
    I am not sure if manually installing is the best approach, but if it is just unpack the package, then copy the files to the appropriate place in the root directory.
    When you get up and running, you will need to delete these and install wpa_supplicant via pacman - or you you could use --force for this one single package: pacman --force -S wpa_supplicant in order to overwrite the existing conflicting files.
    I suspect there is a better means to regenerate a simple starter database.  You can download the sync databases from your mirror manually.
    Last edited by Trilby (2014-10-14 14:31:10)

  • [SOLVED] pacman: which package should I install for a given file?

    Hi there!
    I'm still trying to learn arch's essentials. A question coming up frequently is:
    Say I know I need file /usr/bin/zipinfo. How do I find out which package it's delivered in? The only thing remotely similar in the wiki is
    pacman -Qo /path/to/a/file
    but this only works for already installed packages. So what next?
    Best wishes,
    Rufus
    P.S.: google told me the package is called unzip so that's not the problem. Still, there has to be some way to get this information from the command line.
    Last edited by RufusD (2010-04-24 15:30:31)

    brilliant, thanks! I could have figured it's not a standard pacman function (since the situation is similar with debian's apt-get).
    Maybe this is worth a mention on pacman's wiki page. This is the first time arch's fabulous wiki let me down
    Last edited by RufusD (2010-04-24 15:32:35)

  • [SOLVED] Make Pacman cache packages installed with -U

    When installing a package with -U, pacman doesn't cache packages as it does when installing with -S. Is there a way to change this behavior?
    I read somewhere that specifying the package's full path and prepending "file://", as in "pacman -U file://path/to/package.pkg.tar.xz", but this often complains of an "invalid or corrupted package (PGP signature)".
    How can I make pacman always copy installed packages to the cache?
    MOD EDIT: change 'closed' to 'solved' in title to avoid confusion
    Last edited by fukawi2 (2013-07-06 13:09:21)

    You can't.  This has been discussed on the bugtracker several times.
    https://bugs.archlinux.org/task/35699
    https://bugs.archlinux.org/task/31243
    https://bugs.archlinux.org/task/15143
    https://bugs.archlinux.org/task/18012
    If you're building the packages yourself with makepkg, you can set PKGDEST to your cache in makepkg.conf.  Otherwise you could write a small pacman wrapper that copies the package after installing it.

  • Pacman isn't showing all the installed packages

    Hey guys!
    Since last week pacman isn't showing all the installed packages in my system. If I issue the command pacman -Q it just returns the following packages:
    a52dec 0.7.4-4
    acl 2.2.49-2
    alsa-lib 1.0.23-2
    atk 1.32.0-1
    attr 2.4.44-2
    avahi 0.6.28-1
    bash 4.1.009-3
    bzip2 1.0.6-1
    cairo 1.10.2-1
    cairo-perl 1.061-3
    compositeproto 0.4.2-1
    coreutils 8.10-1
    cracklib 2.8.18-1
    damageproto 1.2.1-1
    db 5.1.19-3
    dbus 1.4.1-1
    dbus-core 1.4.1-1
    desktop-file-utils 0.18-1
    e2fsprogs 1.41.14-1
    expat 2.0.1-6
    faac 1.28-2
    ffmpeg 20110121-2
    filesystem 2010.12-1
    findutils 4.4.2-3
    fixesproto 4.1.2-1
    fontconfig 2.8.0-1
    freetype2 2.4.4-2
    gcc-libs 4.5.2-6
    gdbm 1.8.3-8
    gdk-pixbuf2 2.22.1-1
    gettext 0.18.1.1-1
    glib-perl 1.223-2
    glib2 2.26.1-1
    glibc 2.13-1
    gmp 5.0.1-2
    gnutls 2.10.4-1
    gtk2 2.22.1-1
    gtk2-perl 1.222-2
    gzip 1.4-2
    heimdal 1.3.3-4
    iana-etc 2.30-1
    imagemagick 6.6.7.3-1
    inputproto 2.0.1-1
    kbproto 1.0.5-1
    lame 3.98.4-1
    lcms 1.19-1
    libarchive 2.8.4-2
    libcap 2.20-1
    libcups 1.4.6-1
    libdaemon 0.14-1
    libdatrie 0.2.4-1
    libdrm 2.4.23-1
    libdv 1.0.0-3
    libdvdread 4.1.3-2
    libfetch 2.33-1
    libgcrypt 1.4.6-1
    libgl 7.10-1
    libgpg-error 1.9-2
    libice 1.0.7-1
    libjpeg 8.3.0-1
    libldap 2.4.23-1
    libmp4v2 1.9.1-1
    libmpeg2 0.5.1-1
    libogg 1.2.2-1.1
    libpng 1.4.5-1
    libsasl 2.1.23-5
    libsm 1.2.0-1
    libtasn1 2.8-1
    libthai 0.1.14-1
    libtheora 1.1.1-1
    libtiff 3.9.4-1
    libtool 2.4-2
    libva 1.0.8-1
    libvdpau 0.4.1-1
    libvorbis 1.3.2-1
    libvpx 0.9.5-2
    libx11 1.4.1-1
    libxau 1.0.6-1
    libxaw 1.0.9-1
    libxcb 1.7-1
    libxcomposite 0.4.3-1
    libxcursor 1.1.11-1
    libxdamage 1.1.3-1
    libxdmcp 1.1.0-1
    libxext 1.2.0-1
    libxfixes 4.0.5-1
    libxft 2.2.0-1
    libxi 1.4.1-1
    libxinerama 1.1.1-1
    libxml2 2.7.8-1
    libxmu 1.1.0-1
    libxpm 3.5.9-1
    libxrandr 1.3.1-1
    libxrender 0.9.6-1
    libxt 1.0.9-1
    libxv 1.0.6-1
    libxxf86vm 1.1.1-1
    linux-api-headers 2.6.37-1
    lzo2 2.04-1
    mjpegtools 1.9.0-4
    ncurses 5.7-4
    opencore-amr 0.1.2-1
    openjpeg 1.3-3
    openssl 1.0.0.d-1
    orc 0.4.11-1
    pacman 3.4.3-1
    pacman-cage 2.9.8.2-4
    pacman-mirrorlist 20101223-1
    pam 1.1.3-1
    pango 1.28.3-1
    pango-perl 1.221-3
    pcre 8.12-1
    perl 5.12.3-1
    perl-anyevent 5.24-1
    perl-event 1.13-3
    perl-event-execflow 0.64-2
    perl-gtk2-ex-formfactory 0.66-2
    perl-libintl-perl 1.20-2
    pixman 0.20.2-1
    popt 1.16-3
    randrproto 1.3.2-1
    readline 6.1.002-2
    renderproto 0.11.1-1
    schroedinger 1.0.10-1
    sdl 1.2.14-6
    shadow 4.1.4.2-4
    shared-mime-info 0.90-1
    sqlite3 3.7.5-1
    tar 1.25-1
    texinfo 4.13a-5
    transcode 1.1.5-5
    tzdata 2010o-1
    util-linux-ng 2.18-4
    videoproto 2.3.1-1
    x264 20110115-1
    xcb-proto 1.6-2
    xextproto 7.1.2-1
    xf86vidmodeproto 2.3.1-1
    xineramaproto 1.2.1-1
    xproto 7.0.20-1
    xvidcore 1.2.2-1
    xz 5.0.1-1
    zlib 1.2.5-3
    Here you can see a shot of my /var/lib/pacman/local directory, containing just a few directories related to the packages above.
    I have a lot more installed in my system, eg. the holl KDE system.
    Is there a command/workaround to make these missing packages appear again in pacman?!
    Thanks in advance.
    Last edited by estevao (2011-02-11 17:29:52)

    Spider.007 wrote:
    Leonid.I wrote:
    mcmillan wrote:You probably can do some searching to track it down (or rewrite something similar if you know how) prior to going through with a complete reinstall.
    ... which (complete reinstall) will be required with high probability, since all the solutions proposed above will most likely break the system
    Arch Linux is more than just GNU/Linux -- it's an adventure
    I think your signature is either too sarcastic, or too much in contrast with what you are posting here. A damaged database is really no big deal, and the only things that the proposed solutions attempt to do is that pacman re-installs a package (which changes close to nothing in your actual installation) and then write that update to its database.
    I do not agree with your statement that the probability of a required reinstall are high. Actually, I would say they are pretty low
    There is nothing sarcastic about my sig. Indeed, what would be the fun of using a system, which never breaks?
    Regarding the probability of a reinstall either my opinion, or yours is irrelevant for the topic of this discussion.
    Finally, I would like to draw your attention to the little thingie in the end of my post: ":)" . It's called smiley and was  put there for a reason, you know...

  • Can't update/search/install packages via pacman or yaourt

    Everything was fine until I manually installed package-query and yaourt and now I am unable to update/search/install packages via pacman or yaourt.
    Earlier I was having trouble installing the package-query and yaourt packges using pacman so had to install them manually and now it wont connect to the repos.
    My eth0 is up, the proxies are set, all browsers work so no problem from the network side.
    :: Synchronizing package databases...
    error: failed retrieving file 'core.db' from mirror.us.leaseweb.net : Connection timed out after 10001 milliseconds
    error: failed retrieving file 'core.db' from mirror.nl.leaseweb.net : Connection timed out after 10001 milliseconds
    error: failed retrieving file 'core.db' from mirror.de.leaseweb.net : Connection timed out after 10001 milliseconds
    error: failed retrieving file 'core.db' from archlinux.polymorf.fr : Connection

    clfarron4 wrote:I usually advise against this (mainly because it's out-dated) but there is the [archlinuxfr] repository for installing yaourt, if you really insist on sticking with it. Once you're done, disable the repository though because everything except for yaourt is out-of-date by at least a month.
    Don't ever suggest that. The repo is 100% useless since it is trivial to install yaourt from aur. Also yaourt/package-query in that repo is often broken/outdated.
    Also it is not relevant to op's problem anyway. There were some routing issue to leseweb the other day, I also noticed it. Just switching mirror works fine.
    Last edited by Mr.Elendig (2013-09-04 13:37:49)

  • [SOLVED] Pacman unable to install packages due to invalid or corrup...

    Hullo,
    I know this is a common error judging by the results google lists for that subject. But all sollutions I found don't work for my specific case.
    My battery died on my laptop and when I rebooted and tried to install a package pacman complained the database was locked (can't remember if I was installing something or else while my battery died, happend while I was away).
    So since I've just rebooted I deleted the lock-file by hand. Now when ever I tried to install something it would complain:
    error: xyz: signature from "xyz @ zyx" is unknown trust
    :: File /var/cache/pacman/pkg/packagexyz.pkg.tar.xz is corrupted (invalid or corrupted package (PGP signature)).
    Do you want to delete it? [Y/n] y
    error: failed to commit transaction (invalid or corrupted package (PGP signature))
    So I removed /etc/pacman.d/gnupg, cleared the package-cache and ran pacman-key --init:
    gpg: /etc/pacman.d/gnupg/trustdb.gpg: trustdb created
    gpg: no ultimately trusted keys found
    gpg: Generating pacman keyring master key...
    gpg: key B99666F8 marked as ultimately trusted
    gpg: Done
    ==> Updating trust database...
    gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
    gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
    followed by pacman-key --populate archlinux:
    ==> Appending keys from archlinux.gpg...
    gpg: no valid OpenPGP data found.
    ==> Updating trust database...
    gpg: no need for a trustdb check
    and pacman-key --refresh-keys:
    gpg: refreshing 1 key from hkp://pool.sks-keyservers.net
    gpg: requesting key B99666F8 from hkp server pool.sks-keyservers.net
    gpgkeys: key AA3E1E751B31AB9C2E6CDA64F2A911E7B99666F8 can't be retrieved
    gpg: no valid OpenPGP data found.
    gpg: Total number processed: 0
    ==> ERROR: A specified local key could not be updated from a keyserver.
    It looks like it's not doing much. Anyway, trying to install packages or upgrading the system results in me having to import a bunch of keys and then failing with the before mentioned error.
    Anything I can do?
    Thanks
    Last edited by hachel (2014-02-24 11:50:56)

    Rexilion wrote:Reinstall archlinux-keyring maybe? And then perform the commands you listed earlier.
    Worked, thank you!

  • Using pacman to install packages into a seperate root

    After working with an Arch Linux machine for 1-2 years I switched jobs and was given a Mac, which I've enjoyed so far.
    I would, however, like to switch back to Arch Linux but there's something that I've been able to do on Mac OS X using its unofficial package manager Homebrew (http://mxcl.github.com/homebrew/) which I was wondering if it were possible with pacman.
    Typically you have one installation of Homebrew, at /usr/local, and by running 'brew' (/usr/local/brew) it knows that its root is at /usr/local & looks there for all dependencies & installs packages there. If, however, you install homebrew elsewhere (could be the first or a second installation), for instance ~/sw, then running brew from there will install packages in that root.
    I've found this very useful to install package specific to a project I'm working on (specific vendor & version of DB, specific web server etc) without having to install them globally on my system and at the same time without having to resort to installing everything by hand (including dipendencies).
    Is this possible with Pacman?
    Thanks in advance,
    Dale

    this wiki isn't entirely related, but can be helpful.
    https://wiki.archlinux.org/index.php/Ar … bit_System
    4. Sync pacman:
    pacman --root /opt/arch32 --cachedir /opt/arch32/var/cache/pacman/pkg --config /opt/arch32/pacman.conf -Sy
    5. Install the base and optionally base-devel groups:
    pacman --root /opt/arch32 --cachedir /opt/arch32/var/cache/pacman/pkg --config /opt/arch32/pacman.conf -S base base-devel

  • Can you auto install deps when using pacman -U package.tar.gz

    I have built a few packages from AUR on one of my systems. I would like to install those packages on other systems. pacman -U package.tar.gz will fail if there are unsatisfied dependencies. I have been using pacman -S --asdep dep1 dep2 ...  to install the dependencies. Then pacman -U completes successfully. 
    Is there some way to do this with a single command that I am looking over?

    Okay great. That will be a nice addition.
    I'm 2 days into Arch moving from Gentoo.  Not missing portage at all
    Thanks for the quick reply Allan!

  • How to filter installed packages in Pacman -Ss

    I want to search a package in the repos but I don't want to see installed packages, I want to see only uninstalled packages. Is it possible? It is not very important or urgent, but I want to know if it is possible.

    @Trilby, @ progandy
    Thank you for your posts.
    @progandy
    I wrote a simple bash function with your answer, now I have what I want. Thank you again.
    pacmanSs ()
    if [ -z "$1" ] ; then
    echo "Write something to search..."
    else
    pacman --color=always -Ss $1 | sed '/\S.*\[installed\]/,/^\s/d'
    fi

  • Searching and installing packages from testing w/o editing pacman.conf

    Is this possible?

    tomk wrote:Installing individual packages from the testing repo is not recommended as they are likely to depend on testing versions of other packages. The only supported way of using the testing repo is to enable it at the top of the list in pacman.conf.
    I don't understand why that is true.
    If I enable the testing repo and update a package (pacman -S package), and if the dependencies are set correctly, the dependencies from testing needed should also be installed/updated, right?

  • Pacman forgot installed packages

    When there was the bug with the libxfixes file, I uninstalled the whole Xorg package. But now i recognized, that pacman forgot all installed packages, what means i cant really upgrade my system. Is there a way to recover the database of installed packages? Or any other possible solution?
    greetz
    issue

    well, I cleared the local dir.
    I dunno exactly how i remoeved Xorg, but I think with -Rs.
    Then I reinstalled Xorg but found the problem again.  So i cleared all local pacman files, means I deleted the local folder  . I am now thinking about installing all the packages on the base CD.
    pacman -Syu updates the new installed files, which i installed since this mistake

  • Making Pacman find installed packages

    Hi, I have recently built a LinuxFromScratch system.
    When I finished, I looked at installing package managers, and eventually settled on pacman.
    Everything built OK, updated with -Syu fine.
    However when I go to install a package with pacman -S package, it tries to download all the necessary packages like linux-api-headers, glibc, bash, etc.
    All the basic system packages I have already installed...
    The install then fails because these packages already exist.
    linux-api-headers: /usr/include/asm-generic/auxvec.h exists in filesystem
    there is around 6000 lines of that.
    Is there any way I can make pacman recognise these packages as installed?
    Last edited by Wigguno (2010-11-29 02:51:11)

    I think you are doing it wrong.... 
    If you want to run LFS using pacman, you need to create the relevant packages yourself and then install them using pacman.  The first time will require you to "force" the installation of your packages over the LFS ones unless you prepare the package management back when you first enter your LFS chroot.  It can be done but is not entirely simple.
    What you appear to be doing is grabbing packages from the Arch repos to install on your LFS system.  That is a really, really bad idea.  You either create your own (LFS) packages or install Arch,  Mixing is bad...
    I highly recommend the "symlink" style package management system for LFS.  There are also scripts floating around that help you manage the symlinks so you can have the feeling of a package manager without really having one.   But I think you will soon find that maintaining a LFS system is not all it is cracked up to be and LFS is really just a learning tool.   
    As an aside, Arch started as a LFS system and we tend to follow the fairly simple base setup that is used there.

  • [SOLVED] Installing package gerbv=2.6.0

    I need to install package pcb2gcode which is no more under active development (stated here) and it needs package gerbv=2.0.6.
    The problem is that in AUR there is no gerbv=2.6.0 only gerbv=2.6.1 so package pcb2gcode somehow lost its functionality. Is it possible to post a version gerbv=2.6.1 on the AUR? I found the source and I installed it
    sudo wget [url]http://sourceforge.net/projects/gerbv/files/gerbv/gerbv-2.6.0/gerbv-2.6.0.tar.gz/download[/url] -O gerbv.tgz
    tar xvzf gerbv.tgz
    cd gerbv-2.6.0
    ./configure && make
    sudo cp src/.libs/libgerbv.so.1.0.7 /usr/lib/libgerbv.so.1.0.7
    but there is a problem because pacman didn't register gerbv=2.6.0 as installed although I could use it. So I still can't install pcb2gcode. I tried to download the PKGBUID together with other source files from the newest gerbv package so that I coul'd use pacman to install it. Build I failed. I modified the PKGBUILD like this:
    # $Id$
    # Maintainer: Kyle Keen <[email protected]>
    # Contributor: Jared Casper <[email protected]>
    # Contributor: Stefan Husmann <[email protected]>
    pkgname=gerbv
    pkgver=2.6.0
    pkgrel=2
    pkgdesc="An open source Gerber file (RS-274X only) viewer"
    #url="http://gerbv.gpleda.org/"
    url="http://gerbv.geda-project.org/"
    license=('GPL')
    arch=('i686' 'x86_64')
    depends=('gtk2' 'shared-mime-info' 'hicolor-icon-theme')
    optdepends=('gdk-pixbuf: export of images' 'cairo: for better graphics')
    makedepends=('cvs' 'gettext')
    # cvs for autopoint
    install=$pkgname.install
    source=("http://sourceforge.net/projects/gerbv/files/gerbv/gerbv-2.6.0/gerbv-2.6.0.tar.gz"
    "reautopointissues.diff")
    md5sums=('9a8af19574025fb15f987c3df610f8ae'
    '55c3aac2af1f99a88dfa7b1508594e49')
    build ()
    cd "$srcdir/$pkgname-$pkgver"
    # remove patches on 2.6.2
    patch -Np1 -i ../reautopointissues.diff
    ./autogen.sh
    sed -i 's|am_aux_dir=`cd $ac_aux_dir|am_aux_dir=`cd $srcdir|' configure
    ./configure --prefix=/usr \
    --disable-update-desktop-database
    make
    package()
    cd "$srcdir/$pkgname-$pkgver"
    make DESTDIR="$pkgdir" install
    Then I did the makepkg -si and I got an md5sum error which I fixed with using command updpkgsums. Now I rebuilt it and got this error:
    [ziga@ziga-cq56 gerbv-2.6.0]$ makepkg -si
    ==> Making package: gerbv 2.6.0-2 (Mon Mar 10 14:08:15 CET 2014)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving sources...
    -> Found gerbv-2.6.0.tar.gz
    -> Found reautopointissues.diff
    ==> Validating source files with md5sums...
    gerbv-2.6.0.tar.gz ... Passed
    reautopointissues.diff ... Passed
    ==> Extracting sources...
    -> Extracting gerbv-2.6.0.tar.gz with bsdtar
    ==> Starting build()...
    patching file po/ru.po
    patching file configure.ac
    Hunk #1 succeeded at 34 with fuzz 2 (offset -6 lines).
    patching file man/Makefile.am
    Hunk #1 FAILED at 19.
    Hunk #2 FAILED at 35.
    2 out of 2 hunks FAILED -- saving rejects to file man/Makefile.am.rej
    patching file man/gerbv.ru.1.in.po
    patching file autogen.sh
    Hunk #1 succeeded at 54 (offset -26 lines).
    patching file configure.ac
    Hunk #1 succeeded at 26 with fuzz 1 (offset -1 lines).
    ==> ERROR: A failure occurred in build().
    Aborting...
    Last edited by 71GA (2014-03-11 12:28:32)

    karol wrote:Have you tried building http://pastebin.com/3Hxtp1cH ?
    Thank you. How did you find this?
    I used the gerbv.install file from the official repository and the PKGBUILD you provided. I will post them here just in case anyone else needs it:
    PKGBUILD:
    # Maintainer: Thomas Krug <[email protected]>
    # Contributor: Kyle Keen <[email protected]>
    # Contributor: Jared Casper <[email protected]>
    # Contributor: Stefan Husmann <[email protected]>
    pkgname=gerbv
    pkgver=2.6.0
    pkgrel=1
    pkgdesc="An open source Gerber file (RS-274X only) viewer"
    #url="http://gerbv.gpleda.org/"
    url="http://gerbv.geda-project.org/"
    license=('GPL')
    arch=('i686' 'x86_64')
    depends=('gtk2' 'shared-mime-info' 'hicolor-icon-theme')
    optdepends=('gdk-pixbuf: export of images' 'cairo: for better graphics')
    makedepends=('cvs' 'gettext')
    # cvs for autopoint
    install=$pkgname.install
    source=("http://downloads.sourceforge.net/gerbv/$pkgname-$pkgver.tar.gz")
    md5sums=('44a37dd202bc60fab54cbc298a477572')
    build ()
    cd "$srcdir/$pkgname-$pkgver"
    ./configure --prefix=/usr \
    --disable-update-desktop-database
    make
    package()
    cd "$srcdir/$pkgname-$pkgver"
    make DESTDIR="$pkgdir" install
    # vim:set ts=2 sw=2 et:
    gerbv.install:
    post_install() {
    if [ -x /usr/bin/gtk-update-icon-cache ]; then
    echo Updating icon cache...
    /usr/bin/gtk-update-icon-cache -f -t /usr/share/icons/hicolor
    fi
    if [ -x /usr/bin/update-desktop-database ]; then
    echo Updating desktop database..
    /usr/bin/update-desktop-database /usr/share/applications
    fi
    post_upgrade() {
    if [ -x /usr/bin/gtk-update-icon-cache ]; then
    echo Updating icon cache...
    /usr/bin/gtk-update-icon-cache -f -t /usr/share/icons/hicolor
    fi
    if [ -x /usr/bin/update-desktop-database ]; then
    echo Updating desktop database..
    /usr/bin/update-desktop-database /usr/share/applications
    fi
    Last edited by 71GA (2014-03-11 12:24:43)

  • [yaourt] patch to remove a lost pacman lockfile

    I'm posting this for everyone who are lazy to remove a lost pacman lockfile.
    I often misspell a package name or an option and interrupt pacman quickly before it syncs.
    This ends up with pacman getting killed before it's lockfile can be removed.
    I made a patch for yaourt to remove the lockfile if pacman is not running,
    so I don't have to remove it manually every time.
    --- lib/pacman.sh.in 2013-04-05 21:35:17.000000000 +0300
    +++ pacman.sh.in.patched 2013-04-08 11:13:16.202378062 +0300
    @@ -33,8 +33,13 @@
    pacman_queue() {
    # from nesl247
    if [[ -f ${P[lockfile]} ]]; then
    - msg $(gettext 'Pacman is currently in use, please wait.')
    - while [[ -f ${P[lockfile]} ]]; do sleep 3; done
    + if [[ -z `pidof pacman` ]]; then
    + msg $(gettext 'Pacman is not running, but a lockfile exists; removing it.')
    + launch_with_su rm ${P[lockfile]}
    + else
    + msg $(gettext 'Pacman is currently in use, please wait.')
    + while [[ -f ${P[lockfile]} ]]; do sleep 3; done
    + fi
    fi

    Durzo wrote:
    tomk wrote:Durzo, I'm sure you're delighted you got yaourt installed, and hopefully you learned something, but IMO you're getting off to a bad start. Others have already said it, but it's worth saying again - fi you're going to use the AUR, learn how it works first before you start using any helper application. Your self-confessed uber-noobiness makes this an even more crucial requirement.
    As meph mentioned, I too intended on having Yaourt only install AUR packages keeping pacman the primary in package installation.
    The point is to know how to use the AUR without relying on a helper, because yaourt is more than a 'helper'. Something like 'cower' is much more of a helper in that you still have to take care of the main steps yourself. Using yaourt instead of pacman for -Syu doesn't change much, its using it as a 'pacman for the AUR' which can cause confusion. Which is as well the only reason to use it....
    Durzo wrote:"learn how it works first" ...do you mean download each tarball PKGBUILD from the AUR separately, and then install with the "makepkg -is" command?
    Yes. The fact that you even know that's what you have to do is already good (perhaps better than those who have right-away gone for yaourt).
    There's no inherent 'negative' to yaourt (if you ignore the fact that it may not work following some pacman/libarchive upgrades) if you know how to live without it.

Maybe you are looking for