User:Love4boobies/Cygwin as UNIX

From OSDev Wiki
Jump to: navigation, search

This article is a stub! This page or section is a stub. You can help the wiki by accurately contributing to it.

TODO: Go through libraries as well.

In order to bring your Cygwin environment as close as possible to the UNIX System, you want to install at least the following packages, their dependencies, as well as the Base packages, and to set the POSIXLY_CORRECT environment variable. Note that some of these may be missing from the 64-bit distribution; you can find a full list here. Furthermore, not all of these packages are necessarily useful for the purpose of OS development.

  • base-cygwin
  • base-files
  • bash (utilities: alias<ref name=builtin>This is a Bash built-in command. You can find a link to the full list of the Bash built-in commands at the bottom of the page.</ref>, sh, cd<ref name=builtin />, command<ref name=builtin />, getopts<ref name=builtin />, hash<ref name=builtin />, read<ref name=builtin />, type<ref name=builtin />, ulimit<ref name=builtin />, umask<ref name=builtin />, unalias<ref name=builtin />)
  • bc (utilities: bc)
  • binutils (linker; utilities: ar, nm, strings, strip)
  • bison (utilities: yacc)
  • catgets (utilities: gencat)
  • coreutils (utilities: basename, cat, chgrp, chmod, chown, cksum, comm, cp, csplit, cut, date, dd, df, dirname, du, echo, env, expand, expr, false, fold, head, id, join, link, ln, logname, ls, mkdir, mkfifo, mv, nice, nl, nohup, od, paste, pathchk, pr, printf, pwd, rm, rmdir, sleep, sort, split, stty, tail, tee, test, touch, tr, true, tsort, tty, uname, unexpand, uniq, unlink, wc, who)
  • cron (utilities: cron)
  • ctags (utilities: ctags)
  • cygutils (utilities: lp)
  • cygwin (utilities: getconf, kill, locale, ps)
  • diffutils (utilities: cmp, diff)
  • ed (utilities: ed)
  • file (utilities: file)
  • findutils (utilities: find, xargs)
  • flex (utilities: lex)
  • gawk (utilities: awk)
  • gcc-core (utilities: c99)
  • gcc-fortran (utilities: fort77)
  • grep (utilities: grep)
  • gzip (utilities: zcat)
  • inetutils (utilities: talk)
  • ipc-utils (utilities: ipcrm, ipcs)
  • libiconv (utilities: iconv)
  • m4 (utilities: m4)
  • man-db (utilities: man)
  • make (utilities: make)
  • mintty (terminal)
  • ncompress (utilities: compress, uncompress)
  • ncurses (utilities: tabs, tput)
  • patch (utilities: patch)
  • pax (utilities: pax)
  • psmisc (utilities: fuser)
  • sed (utilities: sed)
  • sharutils (utilities: uudecode, uuencode)
  • sysvinit (utilities: mesg)
  • time (utilities: time)
  • util-linux (utilities: cal, logger, more, renice)
  • vim-minimal (utilities: ex, vi)


The following utilities cannot be found in any of the packages: admin, asa, at, batch, bg, cflow, cxref, delta, fc, fg, get, jobs, localedef, mailx, newgrp, prs, qalter, qdel, qhold, qmove, qmsg, qreturn, qrls, qselect, qsig, qstat, qsub, rmdel, sact, sccs, unget, uucp, uustat, uux, val, wait, what, and write.

Here are some possible starting points for these utilities:

  • SCCS (utilities: admin, delta, get, prs, rmdel, sact, sccs, unget, val, what)
  • Asa (utilities: asa)
  • GNU cflow (utilities: cflow)
  • Cxref (utilities: cxref)
  • GNU Mailutils (utilities: mailx)
  • GNU UUCP (utilities: uucp, uux)

See Also

Personal tools