1 / 19

Cygwin Training Seminar

Cygwin Training Seminar. January 27, 2005 MDL AWIPS (Room 10246). Presenters. Steve Olson Jon Shum. Agenda. Installation Guidelines Highlights of Cygwin features (Basic and Advanced) Reference Guide. 1. Installation Guidelines.

chakra
Télécharger la présentation

Cygwin Training Seminar

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cygwin Training Seminar January 27, 2005 MDL AWIPS (Room 10246)

  2. Presenters • Steve Olson • Jon Shum

  3. Agenda • Installation Guidelines • Highlights of Cygwin features (Basic and Advanced) • Reference Guide

  4. 1. Installation Guidelines • MDL has standardized it's X11 and ssh (replacing telnet and ftp), interface software for PC's. The major goal is to allow secure access from desktops PC's to the various Unix servers that MDL and other divisions support. • Three software packages have been chosen. Cygwin, WINscp, and Putty terminal software. • There are different situations under which each package will serve a user best. Consequently, the following recommendations have been made:

  5. Use case recommendations • Cygwin allows X11 servers to be displayed on your windows desktop. • Use Putty terminal in secure mode when terminal access is needed but X11 display functions are not. • Use WINscp for secure, ftp-like, file transfers between PC's and Unix hosts. • See page 9 for a graphic depiction of all available options.

  6. Download areas • The Cygwin software and localized installation directions can be found at: http://www.mdl.nws.noaa.gov/pub/Cygwin • Putty terminal software can be found at http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html • WINscp software can be found at: http://winscp.vse.cz/eng/ • Please address any questions to <nws.hq.mdl.admins@noaa.gov>

  7. 2. “Advanced” unsupported cygwin features

  8. Advanced Cygwin Overview • Cygwin offers a UNIX like environment on top of MS-Windows. • Gives the ability to use familiar UNIX tools without losing access to “typical” MS-Windows programs • Does not require a UNIX administrator’s level of expertise to setup and maintain. • As with anything in MS-Windows, you are responsible for your system. There are no “automatic” backups (except on the shared drives) and you need to “think about what you are doing”. • Most security issues can be left to MS-Windows administrators, since it is not a new operating system, but rather a set of programs in the MS-Windows operating system

  9. Cygwin, not necessarily a “catch all”

  10. Command line tools: Compiler (gcc, g77, g++, make) Network tools (ssh, scp, rsync) Programming tools (splint, indent) Version control system (cvs, rcs) File tools (diff / patch, head / tail / cut, od) Shell scripting (bash, tcsh, zsh) Archive (tar, gzip, bzip) Man Pages Interpreters (expect, Tcl/Tk, perl, python) Editors (vi, pico (see pine), emacs) Easy copy / paste between cygwin and MS-Windows programs (rxvt) Scheduled task capability (cron) ImageMagick (convert) {Extension: CD Images (mkisofs)} GUI based tools: Xemacs “xv” Ghostscript {Extension: GrADS} Cygwin: Features beyond the basic

  11. Example hello.c: #include <stdio.h> int main (int argc, char **argv) { printf (“Hello world\n”); return 0; } > gcc hello.c –mno-cygwin –o hello > ./hello Hello World > ls hello.exe Example hello.f PROGRAM HELLO WRITE (*,*) “Hello World” END > g77 hello.f –mno-cygwin -o hello > ./hello Hello World > ls hello.exe Command line tools: compilers Note: -mno-cygwin flag compiles the code so that it is not dependent on /bin/cygwin1.dll. This means hello.exe can be run on any MS-Windows operating system.

  12. Command line tools: Network • Network tools • “ssh”: Secure connection • “scp”: Secure file transfer • “ftp”: File transfer protocol (Primarily for anonymous ftp connections) • “rsync”: Syncronize file trees (Doesn’t always work for large file trees).

  13. Command line: Programming tools / Utils • Programming tools: • Indent: Useful for making C code indent properly. • Splint: Similar to “lint”, is available in cygwin, but has not (yet) been used by MDL. • Version control systems: • “cvs/rcs”, are available but have not (yet) been used by MDL. • File utils: • “diff / patch”, “head / tail / cut” behave as they normally do. • “od” does an octal dump as usual, but has some minor endian issues in its output.

  14. Command line: Shells / Archives / Man Page • Cygwin comes with bash and tcsh. • Evaluation branch has done several cygwin bash scripts, primarily for NDFD verification. • Note: It is useful to know that in order to mimic UNIX, cygwin mounts the MS-Windows drives “c:\”, “a:\”... to “/cygdrive/c/”, “/cygdrive/a/”... Thus “c:/windows” = “c:\windows” = “/cygdrive/c/windows”. • Archive tools • tar / gzip / bzip all behave similarly to the standard UNIX tools (no need for winzip) • Man Pages

  15. Command line tools: Interpreters • “expect”: This is an extension to Tcl/Tk that assists with automating tasks that require user input. • Evaluation branch uses it primarily for automating anonymous ftp sessions. • Also used for multiple scp sessions where the password is the same and we want to enter it once. • “tclsh”: Used when dealing with a complicated script that can not be done easily in “bash”. Examples: • Need to manipulate time. • Need to use a C extension to Tcl. • Testing CGI scripts • “perl”: • Testing CGI scripts • “python”

  16. Command line tools: Editors / Copy / Cron • Editors: • “vim” • “pico” (if you install pine) • “emacs” • Easy copy / paste (rxvt): • The standard cygwin interface uses “cygwin.bat” which uses an MS-DOS command prompt. That command prompt causes difficulties with copy / paste. • The “rxvt” terminal uses its own MS-Windows interface, which allows it to enable highlight copying, and middle button pasting using the MS-Windows clipboard. • Cron jobs • Evaluation branch uses this for updating the extra-tropical storm surge web site (www.nws.noaa.gov/mdl/etsurge) every 2 hours. Advantage over scheduled tasks is that uses a crontab, so it is easier to control.

  17. GUI tools • Cygwin comes with fvwm / twm • I tend to avoid the GUI aspects of Cygwin as it takes time to bring up. However I have found both “xv” and “ghostscript” useful from time to time. • Xemacs is available, but I have not used it • ImageMagick

  18. Extending Cygwin • KDE • A very good desktop environment that works with cygwin • GrADS • Cygwin does not come with GrADS, but I have managed to install GrADS, and use it in Cygwin. • Mkisofs • Creates CD images without reliance on “Joliet” (MS-Windows) standard (so it can be read by HP systems) • NetCDF viewers

  19. 3. Reference Guide • The Cygwin software and localized installation directions can be found at: http://www.mdl.nws.noaa.gov/pub/Cygwin • Putty terminal software can be found at http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html • WINscp software can be found at: http://winscp.vse.cz/eng/ This presentation will be available on the following website: http://www.mdl.nws.noaa.gov

More Related