CollaborationKwikisHere are some helpful kwikis for collaborating with other Linux users. CVS Best Practices: http://www.magic-cauldron.com/cm/cvs-bestpractices/index.html CFEngine: http://www.cfengine.org/docs/ CVSMAN: http://oss.oracle.com/projects/cvsman/ Q: We have a system that is installed at a client's with a custom application, built from our cvs server here. When when we built it, I used my normal cvs login to checkout and build, but I would now prefer to now use a generic login (e.g. not mine), so I can write procedures for the client to perform some of the updates. Is there a way to change the checked out user for a cvs tree? Or is it best to just blow away the existing tree and checkout a new one? A: You will need to add the new user to your CVS server as the valid user you're connecting as. What user you are "depends" if you're using system users or pserver users. You can change the user by setting your CVSROOT variable, e.g.: export CVSROOT=mike@foobar:/cvsroot cvs co module and doing a recursive checkout. Also, check out this article on Anonymous CVS access via ssh Also, a crib sheet on creating a CVS repository on your local machine Q: How can I broadcast my tty session to more than one user so that other's can see what I am typing at the terminal, yet not have input on my terminal (i.e. read-only mode)? I would like other people to see what I am typing at the terminal. One way to do this is to call people over to my desk and have them watch me. Another is to use VNC but that displays my whole desktop and not just the terminal window, requires a Windows manager, and is dreadfully slow over a phone line. See ScreenSharingWithVNC. I tried modifying my tty: 'chmod go+r /dev/tty1' and then have the remote users type 'tail -f /dev/tty1' but that did not work. I'm looking for something that is character based, is one way (display but no input), and supports mutltiple users. Can 'screen' do this? Something else? What should I be googling for? A: I think 'script' is the command you're looking for. See ManPage : script Pay particular attention to the '-f' option. -f Flush output after each write. This is nice for telecooperation: One person does 'mkfifo foo; script -f foo' and another can supervise real-time what is being done using 'cat foo'. You will want everyone issuing the 'cat foo' command to be using the same terminal type you are, so that cursor-motion commands to your terminal are displayed the same on their terminals. If you want a capture log of your session, issue another script command and send the output to a real file. (screen can do this for a single user. In one terminal run screen. In another, run screen -x. You'll see everything in both terminals. Doing this for multiple users is probably not impossible, but it would require convincing screen to write to a world-accessible socket.) Preserving permissions with CVS: Use cfengine. http://www.cfengine.org/docs/ Start with a very small cfengine script that you distribute via whatever mechanisms you use right now: # store in /var/cfengine/inputs/cfagent.conf control: actionsequence = ( files ) sysadm = ( Your.email@address.here.com ) files: /path/to/file o=root g=root m=440 action=fixall Then run cfexecd manually or schedule it using cron. Another option is CVSMAN. |
||||
|
||||