Make pacman more verbose?

Is there a way to make pacman more verbose in showing what packages are being installed or updated?
For example, when doing a system update, you get a long list of packages that will be downloaded and installed. Most of them are packages you already have, but some may be new packages, pulled in as a new dependency of something else. I would like to more easily see if a package is a new install or an update, and what is causing the new packages to be installed.
I used to use FreeBSD, and it's ports system did this. You do a system update, and it would list all of the packages to be installed, one per line. Each line indicated whether it was an update or a new install, if it was an update it showed the old -> new version numbers, and if it was a new install it showed what package depended on it.
I haven't been able to find a way to make pacman do this, though I would be happy to be proven wrong. I've toyed with the idea of getting my hands dirty and writing some pacman patches to add this as an option, but I'd like to see if there are other solutions other people know about.

Using yaourt -Syua:
==> Package upgrade only (new release):
extra/libgnome-keyring 3.6.0-1 1 -> 2
extra/mesa 9.1-2 2 -> 3
==> Software upgrade (new version) :
core/filesystem 2013.01-3 -> 2013.03-2
core/iptables 1.4.16.3-1 -> 1.4.18-1
core/iproute2 3.7.0-1 -> 3.8.0-1
core/libffi 3.0.11-1 -> 3.0.12-1
core/systemd 197-4 -> 198-1
core/systemd-sysvcompat 197-4 -> 198-1
core/tzdata 2013a-1 -> 2013b-1
extra/dbus-glib 0.100-1 -> 0.100.2-1
extra/gconf 3.2.5-3 -> 3.2.6-1
extra/git 1.8.1.5-1 -> 1.8.2-1
aur/google-chrome 25.0.1364.160-1 -> 25.0.1364.172-1
==> Continue upgrade ? [Y/n]
==> [V]iew package detail [M]anually select packages
==> --------------------------------------------------
Also if there's any new package installed as a dependency to some other package, you are also acknowledged about it.

Similar Messages

  • Possible to make pacman less verbose?

    Hi,
    During updates your sometimes see pacman print a whole list of signed keys that it has been updated, even those that have not changed. Would it be possible to remove this output?
    I do like package signing but I prefer not to be bothered with it at all as long as the keys seem to match. I feel it is something that should be handled behind the scenes and not confuse the user. Let's not forget that most UNIX programs only print things to the screen when something has gone wrong.
    This was just a friendly suggestion. Thank you for all the hard work

    @karol: Ah great. I will write my requests on the bugtracker in the future.
    @ngoonee: To explain this "most UNIX programs" thing I wrote. It is a fairly well known philosophy that a program should not print to stdout if everything works as it should. Look at the how rm, cp, mv, mount, ln et.c. works, they don't tell you that what you just did worked, they only print stuff when something doesn't and they do that on stderr. These are the programs I refer to when I talk about "most UNIX programs". I thought this concept was actually well known among Linux enthusiasts.
    There are good reasons behind this philosophy. Firstly printing something like writing an OK does not give you any more information compared to giving you nothing at all when you know beforehand a message not seen is a program that works. Imagine cp wrote "I copied file x to y" every time it worked and you have a script that does 50 cps in a row and all of them worked you would end up with a log with 100% useless information. Now this is not exactly true because usually programs print to stdout vs stderr and you could only redirect stderr but there are instances where you need to log non-error messages as well, probably because someone didn't care about sending errors to the correct file descriptor which is not very uncommon.
    It doesn't add anything for scripting purposes either. It is much easier to check the exit status and check that it is zero than having to grep for some particular text. Often people in general write to much data to stdout, it is convenient but what they actually are doing is writing what is essentially log/debug messages to stdout. This is not what stdout is for.
    I hope this explained it better.
    @2ManyDogs: I don't mean pacman should remove ALL output, only the key-related stuff. The comparison was made as a reminder.

  • Is it possible to make db_recover more verbose?

    If you use db_recover there seems to be never anything on the standard output. I'd like to get an info from db_recover what it has done (if anything).
    db_recover -v results in nothing, if done again results in
    Finding last valid log LSN: file: 1 offset 28
    But I have no idea what this means.

    Thanks for the additional explanation,
    Normal recovery examines the contents of your environment's
    log files, and uses this information to ensure that your
    database files are consistent relative to the information
    contained in the log files. This ensures that the changes
    from each committed transaction appear in the database, and
    that no changes from an unfinished (or aborted) transaction do.
    Therefore if you are not using transactions/logging there is
    no recovery. Hence, db_recover is not the right choice
    in this case. The verbose flag is not showing anything, as
    there is nothing to do. The recovery process will create a new log,
    and that is what is being read on your 2nd pass.
    The documentation in the Reference Guide on Berkeley DB recovery at:
    http://www.oracle.com/technology/documentation/berkeley-db/db/ref/transapp/reclimit.html
    details how Berkeley DB recovery is based on write-ahead logging.
    From that documentation:
    This means that when a change is made to a database page, a
    description of the change is written into a log file. This
    description in the log file is guaranteed to be written to
    stable storage before the database pages that were changed
    are written to stable storage. This is the fundamental feature
    of the logging system that makes durability and rollback work.
    If the application or system crashes, the log is reviewed during
    recovery. Any database changes described in the log that were
    part of committed transactions and that were never written to
    the actual database itself are written to the database as part of recovery.
    Any database changes described in the log that were never committed
    and that were written to the actual database itself
    are backed-out of the database as part of recovery. This design
    allows the database to be written lazily, and only blocks from
    the log file have to be forced to disk as part of transaction commit.
    Thanks again,
    Sandra

  • Is it possible to make db_verify more verbose?

    db_verify has no verbose flag -v yet.
    If there are errors these are printed.
    I'd like db_verify to output something like "DB xy verified without errors" if all was fine.
    Thanks,
    gbkka

    Hi gbkka,
    Why would you add an unnecessary option/success message in the main product? DB->verify returns 0 on success and db_verify utility exits 0 on success.
    This is the beauty of open source software, you can hack Berkeley DB (for 4.7.25 release I would look in db_verify/db_verify.c - line 242) and return whatever success message you want to have for the db_verify utility.
    Bogdan

  • How make pacman ignore a package?

    alsa-lib is required for gcc-gcj.  Pacman wants to install alsa-lib-1.0.14-5.  But, I have already installed alsa-lib-1.0.15rc1 outside of pacman.  So, pacman doesn't think it's installed.  Is there a way to make pacman think it's installed?  Also, it would be good if it's ignored in future system updates too.
    Note: I looked at the pacman and pacman.conf man pages.  And tried IgnorePkg, which didn't do the job.
    Last edited by ristretto (2007-09-17 21:53:28)

    ristretto wrote:
    fwojciec wrote:Also, let me know when you are done with it or if you're not going to use it so I can remove that link.  Thanks.
    Thanks, I got it.  Was hoping for something a bit simpler, so will have to put this aside until I can spend more time on it.  I'm sure it's not complicate, once you understand it.    So, anyway, go ahead and remove it.
    Like I said - the easy workaround, for now at least, would be to try and install whatever package you're installing, see what dependencies it requires and wants to install, cancel and install the dependencies by hand (minus alsa-lib) and finally install the package with ignore dependencies option.
    As far as ABS/PKGBUILDs are concerned - they are one of the best, if not the best feature of Arch.  Indeed, they are not complicated, but you need to read the wiki and experiment a bit first before you'll get how they work...  It's definitely worth learning though, IMO, they are a very powerful tool (you can use them to customize packages, like this one, or a kernel for example, build your own packages and so forth).  Anyways, good luck.

  • [SOLVED]Make Pacman think that I have libgl (NVIDIA driver)

    Hi,
    I've installed my Nvidia driver manualy because my card (NVS 310) do not work with the packages provides by pacman (even in AUR).
    Now I have a problem because pacman think I do not have
    libgl
    and do not allows me to install any graphical tools like libreoffice even if I ignore libgl:
    pacman -S libreoffice-fresh --ignore libgl
    resolving dependencies...
    :: There are 4 providers available for libgl:
    :: Repository extra
    1) mesa-libgl 2) nvidia-304xx-libgl 3) nvidia-340xx-libgl 4) nvidia-libgl
    Enter a number (default=1):
    I cannot install one of these package because then conflict with my manual install:
    pacman -S libgl
    :: There are 4 providers available for libgl:
    :: Repository extra
    1) mesa-libgl 2) nvidia-304xx-libgl 3) nvidia-340xx-libgl 4) nvidia-libgl
    Enter a number (default=1): 4
    resolving dependencies...
    looking for conflicting packages...
    warning: dependency cycle detected:
    warning: nvidia-utils will be installed before its nvidia-libgl dependency
    Packages (2) nvidia-utils-352.09-1 nvidia-libgl-352.09-1
    Total Installed Size: 125.31 MiB
    :: Proceed with installation? [Y/n]
    (2/2) checking keys in keyring [######################################] 100%
    (2/2) checking package integrity [######################################] 100%
    (2/2) loading package files [######################################] 100%
    (2/2) checking for file conflicts [######################################] 100%
    error: failed to commit transaction (conflicting files)
    nvidia-utils: /usr/bin/nvidia-bug-report.sh exists in filesystem
    nvidia-utils: /usr/bin/nvidia-cuda-mps-control exists in filesystem
    Errors occurred, no packages were upgraded.
    So my question is: Is there a way to make pacman understand that I have installed libgl manualy so it do not ask me to install it?
    Thanks
    The possible workaround is to remove my driver manually install any libgl than re-install manualy the driver and ignore libgl in the pacman configuration. But this is REALLY ugly...
    Last edited by mickours (2015-06-13 19:09:41)

    Thanks for your reply, that was fast!
    Make my own package is definitly the right way to do this and I will when I have some time.
    For now I tried the workaround I mentioned before:
    mickours wrote:The possible workaround is to remove my driver manually install any libgl than re-install manualy the driver and ignore libgl in the pacman configuration. But this is REALLY ugly...
    And it works!
    Thanks again

  • Make Pacman default y/N after update

    This is probably a newbie question but this looks like the place to ask it.  I couldn't find an answer in the manual or a wiki.
    Is it possible to make pacman default to No?
    :: Starting full system upgrade...
    resolving dependencies...
    looking for inter-conflicts...
    Targets (10): xf86-input-evdev-2.6.0-4 xf86-input-keyboard-1.6.0-3
    xf86-input-mouse-1.7.1-2 xf86-input-vmmouse-12.7.0-3
    xf86-video-fbdev-0.4.2-5 xf86-video-nv-2.1.18-4
    xf86-video-vesa-2.3.0-6 xorg-server-common-1.11.0-1
    xorg-server-1.11.0-1 xorg-server-xephyr-1.11.0-1
    Total Download Size: 2.12 MB
    Total Installed Size: 6.23 MB
    Proceed with installation? [Y/n]

    You can run
    echo n | sudo pacman -Syu
    which will "respond" 'No' to
    looking for inter-conflicts...
    Targets (4): run-parts-4.0.2-1 [0,02 MB] ca-certificates-20110502-1 [0,13 MB]
    imagemagick-6.7.2.1-1 [1,80 MB] lzo2-2.06-1 [0,10 MB]
    Total Download Size: 2,05 MB
    Total Installed Size: 10,84 MB
    Proceed with installation? [Y/n]
    and return to the prompt, so you can have a good look at what you're about to do. If you're sure about it, run 'pacman -Su'.

  • Hello, I have Windows 7, and I have now to install Windows 8 on my Computer, and since, I cannot make any more of update of Apple of itune in Windows 8. Nor to download  the software recent of itune... That have to I make???

    Hello, I have Windows 7, and I have now to install Windows 8 on my Computer, and since, I cannot make any more of update of Apple of itune in Windows 8. Nor to download  the software recent of itune... That have to I make???

    Hello,
    The Reset Firefox feature can fix many issues by restoring Firefox to its factory default state while saving your essential information. <br>
    '''Note''': ''This will cause you to lose any Extensions and some Preferences.''
    *Open websites will not be saved in Firefox versions lower than 25.
    To Reset Firefox do the following:
    #Go to Firefox > Help > Troubleshooting Information.
    #Click the "Reset Firefox" button.
    #Firefox will close and reset. After Firefox is done, it will show a window with the information that is imported. Click Finish.
    #Firefox will open with all factory defaults applied.
    Further information can be found in the [[Reset Firefox – easily fix most problems]] article.
    Did this fix your problems? Please report back to us!
    Thank you.

  • How to increase the size of orders in photoshop to make it more enjoyable to use the software

    how to increase the size of orders in photoshop to make it more enjoyable to use the software

    EDIT:  I noticed that you already posted the question in the appropriate forum..
    Message Edited by JoeLabView on 10-22-2007 07:56 AM

  • [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.

  • I downloaded a handwritten doc that is illegible, can I make it more clear to read?

    The document is an old birth certificate. I can't read the names of the mother and father. I wonder if thebirth certificate department will help me?
    In the meantime, does any one know of a tool that makes writing more legible? (I've seen such a thing on television crime movies.

    What kind of document is that and how bad does it look?
    Is it a PDF file or an image file (JPG, PNG, TIFF) or something else?
    If you can extract it as an image then you can try to improve the contrast or gamma with an image editor or use other filters in such a program. It may not be possible to do much about this if the quality is really bad.

  • Make Code More Efficient

    I got this code to play some audio clips and it works alright. The only issue is that when I call the play method it lags the rest of my game pretty badly. Is there anything in the play method you guys think could be moved to the constructor to make it more efficient?
    package main;
    import java.io.*;
    import javax.sound.sampled.*;
    public class Sound
         private AudioFormat format;
        private byte[] samples;
        private String name;
         public Sound(String filename)
              name=filename;
              try
                AudioInputStream stream =AudioSystem.getAudioInputStream(new File("sounds/"+filename));
                format = stream.getFormat();
                samples = getSamples(stream);
            }catch (Exception e){System.out.println(e);}
         public byte[] getSamples()
            return samples;
        private byte[] getSamples(AudioInputStream audioStream)
            int length=(int)(audioStream.getFrameLength()*format.getFrameSize());
            byte[] samples = new byte[length];
            DataInputStream is = new DataInputStream(audioStream);
            try
                is.readFully(samples);
            }catch (Exception e){System.out.println(e);}
            return samples;
        public void play()
             InputStream stream =new ByteArrayInputStream(getSamples());
            int bufferSize = format.getFrameSize()*Math.round(format.getSampleRate() / 10);
            byte[] buffer = new byte[bufferSize];
            SourceDataLine line;
            try
                DataLine.Info info=new DataLine.Info(SourceDataLine.class, format);
                line=(SourceDataLine)AudioSystem.getLine(info);
                line.open(format, bufferSize);
            }catch (Exception e){System.out.println(e);return;}
            line.start();
            try
                int numBytesRead = 0;
                while (numBytesRead != -1)
                    numBytesRead =
                        stream.read(buffer, 0, buffer.length);
                    if (numBytesRead != -1)
                       line.write(buffer, 0, numBytesRead);
            }catch (Exception e){System.out.println(e);}
            line.drain();
            line.close();
        public String getName()
             return name;
    }

    I don't know much about the guts of flex, but I assume it's
    based on Java's design etc.
    Storing event.target.selectedItem in an objet should not be
    anymore efficient than calling event.target.selectedItem. The objet
    will simply be a pointer of sorts to event.target.selectedItem. At
    no point in the event.target.selectedItem call are you doing a
    search or something, so storing the result will not result in any
    big savings.
    Now, if you were doing something like
    array.findItem(something) 4 times, then yes, it would be to your
    advantage to store the data.
    Keep in mind that storing event.target.selectedItem in an
    object will probably break bindings....that may or may not be a
    problem. Objet doesn't support binding. There is a subclass of
    Object that does, but I forget which.
    Just a suggestion based on my knowledge of how data is stored
    in an object oriented language...this may not be the case in
    flex.

  • Make sizes more accurate?

    This script should make a rectangle the same size as the artboard.
    However if the artboard is 210mm wide the rectangle ends up being 210.002mm, is there any way to make this more precise?
    #target illustrator
    var docRef = app.activeDocument;
    var artboardRef = docRef.artboards;
    var activeAB = docRef.artboards[docRef.artboards.getActiveArtboardIndex()]; // get active AB
    //get artboard size
    var left = activeAB.artboardRect[0];
    var top = activeAB.artboardRect[1] ;
    var width = activeAB.artboardRect[2]-activeAB.artboardRect[0];
    var height = activeAB.artboardRect[1]-activeAB.artboardRect[3];
    //create box
    var box = docRef.pathItems.rectangle (top, left, width, height);
    box.fillColor = box.strokeColor = new NoColor();

    In regards to the artboard size, if I create a new docment with with the width of 595.276pt (displays as 595.28pt) the artboardRect gives: 595.2802734375
    If I then go to the artboard options and re-enter the 595.276pt the artboardRect gives the same as above.
    But then...
    If I use the artboard options to make the width 100pt  (The artboardRect gives 100.00048828125) and then go back again to 595.276pt the artboardRect gives the almost accurate result 595.27587890625
    Theres something weird going on there
    1) Why is the artboardRect not accurate to the Art Board size?
    2) Why does going to 100pt then 595.276pt give a more accurate rect than entering 595.276 on its own?

  • How to make it more efficient

    Hi,
    I am working on AQ where I am just sending and receiving simple messages. But the performance is very poor. It takes around 35 seconds to send (enqueue) just 100 messages which is not acceptable for our project. Can someone help me how to make it more efficient. I am using JMS for sending and receiving messages.
    Thanks,
    Sateesh

    Bhagath,
    Thanks for your help.
    Oracle server we are using is 8.1.7. We are using JDBC client that ships with Oracle client (classes12.zip).
    Right now we are working on point to point messages.
    I am just wondering whether I need to do any tuning on server.
    Your help is greately appreciated.
    Here I am pasting sample code that I wrote which may help in finding the problem.
    Thank you so much once again for your help.
    -Sateesh
    import java.sql.*;
    import javax.jms.*;
    import java.io.*;
    import java.util.Properties;
    import oracle.AQ.*;
    import oracle.jms.*;
    public class CDRQueueSender {
    private final String DB_CONNECTION = "jdbc:oracle:thin:@dev1:1521:dev";
    protected final String DB_AQ_ADMIN_NAME = "dev78";
    private final String DB_AQ_ADMIN_PASSWORD = "dev78";
    /** DB AQ user agent name and password */
    private final String DB_AQ_USER_NAME = "dev78";
    private final String DB_AQ_USER_PASSWORD = "dev78";
    private QueueConnectionFactory queueConnectionFactory = null;
    private QueueConnection connection = null;
    private QueueSession session = null;
    private Queue sendQueue;
    private QueueSender qSender;
    public CDRQueueSender() {
    try {
    Properties info = new Properties();
    info.put(DB_AQ_USER_NAME, DB_AQ_USER_PASSWORD);
    queueConnectionFactory = AQjmsFactory
    .getQueueConnectionFactory(DB_CONNECTION, info);
    connection = queueConnectionFactory.
    createQueueConnection(DB_AQ_USER_NAME,
    DB_AQ_USER_PASSWORD);
    session = connection.createQueueSession(
    true, Session.AUTO_ACKNOWLEDGE);
    connection.start();
    sendQueue = ((AQjmsSession) session).getQueue (DB_AQ_ADMIN_NAME,"CDR_QUEUE");
    qSender = session.createSender(sendQueue);
    catch (Exception ex) {
    ex.printStackTrace();
    public boolean sendCDRMessage(CDRMessage messageData)
    throws JMSException, SQLException {
    ObjectMessage objectMessage = session.createObjectMessage(messageData);
    try {
    qSender.send(objectMessage);
    session.commit();
    catch (Exception e) {
    System.out.println(e.getMessage());
    e.printStackTrace();
    return true;
    public void close() throws JMSException {
    session.close();
    connection.close();
    public static void main(String[] args) throws SQLException, JMSException {
    int count = 0;
    CDRQueueSender qSender = new CDRQueueSender();
    long startTime = System.currentTimeMillis();
    long endTime;
    CDRMessage message;
    while(count < 100) {
    message = new CDRMessage("filename", 20, "This is testing", count);
    qSender.sendCDRMessage(message);
    count++;
    //qSender.sessionCommit();
    endTime = System.currentTimeMillis();
    System.out.println("time taken to process 100 records is " +
    ((endTime - startTime)/1000) + " seconds");
    qSender.close();

  • Make Website More Visible To Search Engines

    A friend of mine has provided the following feedback on my homepage;
    'The Blog page I visited was presented as graphical images, rather than as text. That means you have exact control over the appearance, but has several disadvantages. Among them are that people can't copy & paste what you've written, and search engines may not find it. (I say may not, because there seems to be some kind of text-based version that loads momentarily and then gets overwritten by the graphical image. Very strange! Search engines may be able to find the text-based version.)
    I have tried to find my website on Google without success. How do I make it more visible to search engines? Is there some preference in iWeb that would help?

    I wouldn't worry too much about the whole text-to-graphic conversion issue. iWeb does this for your benefit so that what is rendered is exactly what you expected. It is my belief that the negative effect of this on search engine results is also overblown.
    Anyhow, the least that you can do to get your site indexed by Google eventually is to go to Google directly and register, verify, and provide a sitemap for your site. I have put down a set of directions here for everyone's benefit...
    http://discussions.apple.com/thread.jspa?threadID=679200&tstart=0

Maybe you are looking for

  • My nano SIM works in my Nokia mobile phone but "No SIM" when in my iPad mini

    I've been around the support loop a few times with varying levels of success, here is my story. Basically I expect to only occasionally require mobile data services so would like to move my nano SIM from my Nokia mobile phone to the iPad mini as and

  • Report requirement

    Hi MM Gurus,     Is there any report available in SAP which gives information on vendor payment details for Purchase orders? Regards Yoga

  • How can I disable IPv6 EUI randomization with group policy?

    I need to turn off IPv6 EUI address randomization. It can be done in netsh (a few commands) or powershell (Set-NetIPv6Protocol -RandomizeIdentifiers Disabled).  How can I do this in group policy without scripting?

  • Updating values dynamically in an user attribute which is lookup field

    Hi All, Can I have a pre process event handler to update the values in the lookup field on my create user page? I have two user attributes - one is the default organization and the other is a user created Country attribute. Both of these are Lookup f

  • Call function within select statement

    Hi I would appreciate if someone help me with the below package. I need to call the function in my select statement and have to insert the results into the table Thanks in advance Regards Sriram create or replace package my_tables AS procedure pop_st