Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I have a package that's installed on my PC as an dependency to another package.

I would like to have the package explicitly installed, but without actually re-installing it, or downloading any files.

Is this possible?

update:

I do not have any packages cached in /var/cache/pacman/pkg, which is one of the reasons I want to change the package detail without a re-install.

Even If I had the packages cached, running pacman -S would mean the whole install proccess is run, which I also want to avoid.

share|improve this question

2 Answers 2

up vote 11 down vote accepted

I found the answer on Arch Linux Forums

Since pacman 3.4 you can use

# pacman -D

to modify only the database. So:

# pacman -D --asexplicit <pkgs>

will make <pkgs> explicitly installed.

share|improve this answer

pacman -S has a --asexplicit flag that should do what you want.

For example:

> pacman -Qi mutagen            
...
Install Reason : Installed as a dependency for another package

> pacman -S --asexplicit mutagen
warning: mutagen-1.20-1 is up to date -- reinstalling
resolving dependencies...
looking for inter-conflicts...

Targets (1): mutagen-1.20-1

Total Download Size:    0.00 MB
Total Installed Size:   0.82 MB
...

> pacman -Qi mutagen
...
Install Reason : Explicitly installed

You can see that nothing was downloaded since it is already installed locally. It just flipped the "Install Reason" field.

Pacman has different --help operations depending on the operation (-S, -R, etc.). So pacman -S --help lists the --asexplicit flag as one of the available flags. --asdeps is available as well.

share|improve this answer
    
please see the edits I made to the question –  Stefan Sep 14 '10 at 11:52

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.