On Sat, Dec 5, 2009 at 7:50 PM, Maciej (Matchek) Blizinski <[email protected]> wrote: > Let's suppose functionality baz provided by either foo > or bar. We want to type "baz" and have the job done. However, in > some cases we want to use foo or bar specifically. How do we handle > that?
Here's an idea: reuse somebody else's work! We start with no symlink. netra ~ # ls -l /opt/csw/bin/sudo* -rwsr-xr-x 1 root bin 221736 Oct 5 19:26 /opt/csw/bin/sudoedit -rwxr-xr-x 1 root bin 245232 Oct 5 19:30 /opt/csw/bin/sudo.ldap -rwsr-xr-x 1 root bin 221736 Oct 5 19:26 /opt/csw/bin/sudo.minimal Let's tell the alternatives system that we've got something called 'sudo' which is provided by sudo.minimal. netra ~ # update-alternatives --install /opt/csw/bin/sudo sudo /opt/csw/bin/sudo.minimal 40 update-alternatives: using /opt/csw/bin/sudo.minimal to provide /opt/csw/bin/sudo (sudo) in auto mode. netra ~ # ls -l /opt/csw/bin/sudo* lrwxrwxrwx 1 root root 30 Dec 6 14:41 /opt/csw/bin/sudo -> /etc/opt/csw/alternatives/sudo -rwsr-xr-x 1 root bin 221736 Oct 5 19:26 /opt/csw/bin/sudoedit -rwxr-xr-x 1 root bin 245232 Oct 5 19:30 /opt/csw/bin/sudo.ldap -rwsr-xr-x 1 root bin 221736 Oct 5 19:26 /opt/csw/bin/sudo.minimal The alternatives system has chosen the best alternative, the highest priority number. (A bit counterintuitive direction.) Let's see what /etc/opt/csw/alternatives/sudo points at. netra ~ # ls -l /etc/opt/csw/alternatives/sudo lrwxrwxrwx 1 root root 25 Dec 6 14:41 /etc/opt/csw/alternatives/sudo -> /opt/csw/bin/sudo.minimal We can now add the ldap-enabled version of sudo: netra ~ # update-alternatives --install /opt/csw/bin/sudo sudo /opt/csw/bin/sudo.ldap 20 Let's see what the alternatives system says about sudo now. netra ~ # update-alternatives --display sudo sudo - auto mode link currently points to /opt/csw/bin/sudo.minimal /opt/csw/bin/sudo.ldap - priority 20 /opt/csw/bin/sudo.minimal - priority 40 Current `best' version is /opt/csw/bin/sudo.minimal. It has chosen the implementation based on priority. Let's try to modify it by hand. netra ~ # update-alternatives --config sudo There are 2 choices for the alternative sudo (providing /opt/csw/bin/sudo). Selection Path Priority Status ------------------------------------------------------------ * 0 /opt/csw/bin/sudo.minimal 40 auto mode 1 /opt/csw/bin/sudo.ldap 20 manual mode 2 /opt/csw/bin/sudo.minimal 40 manual mode Press enter to keep the current choice[*], or type selection number: 1 update-alternatives: using /opt/csw/bin/sudo.ldap to provide /opt/csw/bin/sudo (sudo) in manual mode. ...and see where the symlink points to now. netra ~ # ls -l /opt/csw/bin/sudo* lrwxrwxrwx 1 root root 30 Dec 6 14:44 /opt/csw/bin/sudo -> /etc/opt/csw/alternatives/sudo -rwsr-xr-x 1 root bin 221736 Oct 5 19:26 /opt/csw/bin/sudoedit -rwxr-xr-x 1 root bin 245232 Oct 5 19:30 /opt/csw/bin/sudo.ldap -rwsr-xr-x 1 root bin 221736 Oct 5 19:26 /opt/csw/bin/sudo.minimal This symlink hasn't changed, but... netra ~ # ls -l /etc/opt/csw/alternatives/sudo lrwxrwxrwx 1 root root 22 Dec 6 14:44 /etc/opt/csw/alternatives/sudo -> /opt/csw/bin/sudo.ldap This one now points at sudo. Thoughts? Maciej _______________________________________________ maintainers mailing list [email protected] https://lists.opencsw.org/mailman/listinfo/maintainers
