bash 3.01

Peter L. Peres plp-ysDPMY98cNQDDBjDh4tngg at public.gmane.org
Tue Aug 24 00:09:45 UTC 2004


On Sun, 22 Aug 2004, John Wildberger wrote:

> On Sunday 22 August 2004 06:22 pm, Chris F.A. Johnson wrote:
>>
>>     You can copy /usr/local/bash-3.1/bash to /bin.
>>
>>     You can make /bin/bash a link to /usr/local/bash-3.1/bash.
>
> I assume you renamed the original bash to bash2.05b.
> Suppose I do this, and then copy my /usr/local/bash-3.01/bash to /bin/bash.
> Is this all I have to do, or do I still have to edit the passwd file??

It is better if you keep the old bash as is and where it is. You can edit 
the passwd file (using vipw). You then change the login shell (appears as 
/bin/bash in the line in passwd where your login name appears). You change 
that entry from /bin/bash to /usr/local/bash-3.1/bash. You need to be root 
to do this. Save changes (ZZ save or :q! so lose changes). There is 
another way to do this (depending on your machine setup): The user command 
chsh: You would do:

chsh -s /usr/local/bash-3.1/bash your_login_here

as root, and it's done (on some systems you do not have to be root to do 
that - depends on pam setup - it will always work as root however). To see 
the change you must log out and in again. See below. chsh has a manual 
page.

> Presumably I will also have to reboot ??

No, just log out and in again. But normally when doing such dangerous 
changes you do not log out from the terminal you are using and check if 
you can still login from another terminal (Ctrl-Alt-F2 etc). Please see 
below. If you somehow make a typo in the -s argument to chsh or while 
editing with vipw you can lock yourself out of the system (i.e. you won't 
be able to login again). That's why you would use another terminal to 
check whether the change helped, *without* logging out the current 
session. In theory simply running 'su - your_login_here' should test it 
using only one terminal/session but better be safe and use two.

> My problem is that I am afraid to screw things up and then have no bash left
> to get back on track again.

Your chances to break something with your action (as in, moving bash) are 
very good imho. In particular do not move /bin/bash while running in 
multi-user mode. Since most system and cron scripts depend on it the 
potential for a hotplug or cron event (or even automounter event) to 
trigger while the file is not ready is enormous. If that happens, it may 
be the beginning of the end of neatly set up system. The default system 
shell is best moved when in single user mode, with cron stopped, and 
*without* typos. Similar considerations apply to moving system libraries 
(like libc) and the dynamic linker main library. But you do not need to 
move it if you have chsh.

good luck, hope this helps,

Peter
--
The Toronto Linux Users Group.      Meetings: http://tlug.ss.org
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://tlug.ss.org/subscribe.shtml





More information about the Legacy mailing list