what is the best way to remove a program?
Manolis Kiagias
sonicy at otenet.gr
Sun Jun 14 15:08:49 UTC 2009
Pieter de Goeje wrote:
> On Sunday 14 June 2009 14:58:46 Mark Hartkemeyer wrote:
>
>> I was installing the mysql51-server port and I had a message that the
>> install could not proceed, because mysql50-client was already
>> installed. I simply ran a "cd" and then a "make deinstall" in the
>> mysql50-client directory. Is this is the best way to remove a
>> program? Does it depend on how the program was added (compiled versus
>> prebuilt binary added with pkg_add -r)? I've tried pkg_delete in the
>> past, but it seems to always complain about dependencies and not
>> actually remove the program.
>>
>> Thanks,
>> Mark Hartkemeyer
>>
>
> "make deinstall" is a good way to remove a program, but it ignores
> dependencies as you discovered. Some other program on your system requires
> mysql50-client to function and might now be broken.
> pkg_delete -f does basically the same. pkg_deinstall (which comes with
> portupgrade) also does the trick.
>
> Before doing a "make deinstall" you can check which installed packages require
> it by:
> pkg_info -Rx mysql-client
>
> If you want to upgrade mysql-client from 5.0 to 5.1, use portupgrade:
> portupgrade -rf -o databases/mysql51-client mysql-client
>
> This will replace mysql50-client with mysql51-client and reinstall all ports
> depending on mysql50-client ("-rf"), so they will use the new version. In this
> case the last step probably isn't necessary because the libraries are (mostly
> I think) compatible, but in general it is recommended.
>
> For more information, see "man ports" and "man portupgrade".
>
>
For an easy interactive program that takes care of dependencies, I would
suggest ports-mgmt/pkg_rmleaves
More information about the freebsd-questions
mailing list