Read First Before Installing

November 2011

This document describes the features and functionality provided with the OpenVMS GNV software. It explains how to install, setup, and use the software on your OpenVMS system.

Revision/Update Information: This is an updated document.

Operating System: OpenVMS Alpha Version 8.3 or later
OpenVMS Integrity servers Version 8.3-1H1 or later

Software Version: OpenVMS Alpha GNV Version 3.0-1,
OpenVMS Integrity servers GNV Version 3.0-1

Hewlett-Packard Development Company, L.P.
Palo Alto, California

© Copyright 2011 Hewlett-Packard Development Company, L.P.

The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.

Linux is a U.S. registered trademark of Linus Torvalds.

UNIX is a registered trademark of The Open Group.

© Copyright 1989, 1991 Free Software Foundation, Inc.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA



This document includes information about the GNU's Not VMS (GNV) software, including:

Conventions Used in This Document

OpenVMS utilities, commands, file names, and directory names are shown in uppercase text, while UNIX utilities, commands, file names, and directory names are shown in lowercase text. If you are reading this documentation in an output format other than text (.TXT) --- such as in PostScript or HTML output --- UNIX utilities, commands, file names, and directory names are shown in monospace text.

The following additional conventions are used in this document.
Convention Meaning
Italic 1 Italic typeface indicates a place holder for information or parameters that you must provide. For example, if the procedure asks you to type file name, you must type the actual name of a file.

Italic type also indicates titles of other documentation referenced.

monospace 1 Monospace typeface indicates code examples, command examples, and interactive or system screen displays. In text, this type face indicates UNIX commands that you enter.
Ctrl/ x While you hold down the Ctrl key, press another key or a pointing device button.

1Applies only to documentation formats other than text, such as PostScript and HTML.

Reader's Comments

HP welcomes your comments on this manual. Please send comments to: 

1 GNV Version 3.0-1 Requirements

1.1 Software Requirements

The software requirements for GNV are:

1.2 Disk Space Requirements

GNV must be installed only on ODS-5 disks. It requires approximately 400 MB disk space for installation on both OpenVMS Alpha and OpenVMS Integrity servers.

2 New Features in GNV Version 3.0-1

3 New Features in GNV Version 2.1-3

No new features have been added to GNV for Version 2.1-3.

4 New Features in GNV Version 2.1-2

The main change in Version 2.1-2 is removal of several installation problems.

5 New Features in GNV Version 2.1

The main change in Version 2.1 is support of the symlink capability that has been added to RMS in OpenVMS. Other minor bugs have been fixed as well.

6 New Features in GNV Version 1.6

Several new UNIX utilities have been added in GNV Version 1.6.

7 Overview of GNV Features and Functionality

The GNV software provides an open source, GNU-based, UNIX environment for OpenVMS. It provides UNIX application developers, system managers, and users a UNIX-style environment so that they can easily develop and port UNIX software to OpenVMS. (GNU is a UNIX-like operating system that is free software. Linux is basically a GNU system: the system is GNU, while the kernel is Linux.)

GNV provides a UNIX-like shell (command-line interpreter) environment and a C Run-Time Library (CRTL) supplemental library to provide utilities typically found on UNIX systems. The shell used by GNV is bash (Bourne-Again SHell, from GNU, using the POSIX.2 specification).


To the normal user, bash performs like a command-line interpreter; however, it is not a replacement for the OpenVMS DCL (DIGITAL command language) command-line interpreter.

GNV for OpenVMS is a port of a series of GNU software intended for UNIX-like systems to OpenVMS. It is offered for your use under the terms and conditions of a GNU General Public License (GPL). You can see the latest GPL at the following location: 

Several copies of the GPL are also included with the GNV kit. After you install the kit, you can find these copies in any of several directories, in a file named COPYING.; as in the following example, in OpenVMS terminology:


Or, in UNIX terminology:


OpenVMS engineering is very interested in your experiences using the port of the GNU software to OpenVMS and encourages all customers to report problems and issues. Your feedback can help us enhance future versions of the GNV software for OpenVMS. For information on reporting problems, see Section 15.

7.1 Using GNV Utilities from DCL

It has come to our attention that some users like to run GNV utilities from the DCL prompt rather than from within bash . While this may work in many cases, HP does not support this method and does not guarantee that the utilities will work as expected. Most noticeably effected will be use of wildcards, which must be processed by bash . They will not work when a GNV utility is run from DCL. The following example illustrates the inconsistency of results obtained when running ls from the DCL prompt:

$ ls 
A        PRINT_ENV.C  T.C     TEST.H     TEST_FWRITE.C  test 
HELLO.C  SLEEP.C      TEST.C  TEST.H-GZ  t.t.t.t.t 
$ ls *.c 
/VMS$COMMON/GNV/bin/LS.EXE: *.c: no such file or directory 
$ ls *.C 
/VMS$COMMON/GNV/bin/LS.EXE: *.c: no such file or directory 

7.2 ODS-5 Requirement

ODS-5 disks allow use of files with extended file names, including most UNIX style filenames. Such file names are common in Open Source software. GNV includes mostly ported Open Source (or free software) code, and as such contains numerous files with UNIX style file names.

While it may be possible to install GNV (or at least portions of GNV) on ODS-2 disks, HP recommends that you install GNV on an ODS-5 disk. Installing GNV on an ODS-2 disk is likely to result in numerous installation warning and error messages. GNV has been tested primarily on an ODS-5 disk. HP does not guarantee the functionality of GNV on an ODS-2 disk.

Likewise, you can operate GNV on an ODS-2 disk, but some file naming features will not be usable on such a disk. You will not be able to make use of case-senstive file names or file names with special characters, such as multiple dots, which are so common in UNIX environments.

8 Utilities Provided with GNV

This section lists the UNIX utilities provided with GNV and describes any differences observed between the utilities as used on OpenVMS systems and the counterparts as used on UNIX systems.

8.1 UNIX Utilities Provided for OpenVMS

Table 1 lists the utilities provided with GNV on OpenVMS. Included for some of the listed utilities are OpenVMS command equivalents as well as behaviors that vary from expected behavior on a UNIX system. HP does not guarantee that all variances have been observed and documented.

Table 1 GNV Utilities
Utility Description Comments/Exceptions
General Purpose Utilities
basename Returns actual base file name when given a path.  
bash Invokes bash shell.  
bind Equates a key sequence to a function.  
cd Changes the current working directory. OpenVMS DCL SET DEFAULT
date Displays current date and time. OpenVMS DCL SHOW TIME
dirs Displays a list of currently remembered directories.  
env Run program with modified environment.  
exit Terminates the shell.  
help Provides explanatory text about bash internal commands and features.  
history Displays the list of previously executed commands. OpenVMS DCL RECALL
hostname Sets or displays name of current host system.  
id Displays the current user and group IDs and names.  
logout Logs out of the shell.  
popd Modifies the current directory stack.  
printenv Displays environment variables OpenVMS DCL SHOW SYMBOL or SHOW LOGICAL
ps Displays status of system processes. OpenVMS DCL SHOW SYSTEM or SHOW PROCESS/SUBPROCESS
pushd Modifies the current directory stack.  
pwd Displays the current working directory. OpenVMS DCL SHOW DEFAULT
sh Invokes a shell.  
sleep Pauses for a specified time. OpenVMS WAIT
tee Sends output to multiple destinations.  
times Displays user and system times.  
uname Displays the name of the system.  
wait Waits for background processes to complete.  
which Displays path of a command executable or utility.  
Command Manipulation
alias Provides command name translation. Similar to the OpenVMS DCL line:
$ symbol =[=] "string"
see unalias
break Terminates a loop in the shell.  
builtin Runs a shell built-in.  
case Executes commands selectively.  
command Executes a simple command.  
continue Resumes execution at the top of a loop.  
declare Declares variables and their attributes.  
echo Echoes input to standard output. Similar to OpenVMS DCL line: $ WRITE SYS$OUTPUT
enable Enables or disables built-in shell commands.  
eval Constructs a command.  
exec Executes commands outside of the current shell.  
export Sets the export attributes.  
expr Reads an expression, evaluates it, and writes the result to standard output.  
false Returns a nonzero exit value. See true
for Executes a command in a loop.  
function Creates a simple command.  
getopts Gets input options.  
hash Provides direct access to utilities.  
if Executes commands selectively.  
let Evaluates arithmetic expressions.  
local Creates a local variable.  
read Reads a line from standard input. OpenVMS DCL READ
readonly Sets the readonly attribute on shell variables or functions.  
return Returns from the current shell function.  
select Processes commands selectively.  
set Sets shell flags and positional parameters.  
shift Shifts positional parameters.  
source Executes commands from a file.  
test Evaluates an expression.  
trap Intercepts exception conditions.  
true Returns a zero exit value.  
type Displays command information.  
typeset Assigns attributes and values to variable.  
unalias Removes command name translation. OpenVMS DCL DELETE/SYMBOL; see alias
unset Unsets values and attributes of variables and functions.  
until Executes commands in a loop until a condition is reached.  
while Executes commands in a loop until a condition is reached.  
Program Creation
cc Compile links; invokes C compiler. DECC must be installed
cxx Compiles links; invokes C++ compiler. CXX must be installed
gcc Compiles links; invokes C/C++ compiler. DECC must be installed
g++ Compiles links; invokes C++ compiler. CXX must be installed
as Assembler.  
ld Invokes the linker.  
make Builds programs. Maintains up-to-date versions of target files and performs shell commands. Similar to MMS (Module Management System).
User-Level Administration
chmod Changes file permissions. OpenVMS DCL SET SECURITY or SET PROTECTION
chown Changes owner of a file. OpenVMS DCL SET FILE/OWNER
df Displays amount of free disk space in a system. OpenVMS DCL
share Displays list of NFS shares.  
touch Updates the access and modification dates of a file.  
ulimit Displays and sets file size limit.  
umask Displays and sets the file creation mask.  
System-Level Administration
chgrp Changes group ownership. OpenVMS DCL SET ACL
File Manipulation
ar Archives files. OpenVMS LIBRARY
bzip2 Compress/Decompress a file.  
cat Concatenates files; displays or prints files. OpenVMS DCL TYPE; see head , more
cksum Displays checksum and byte count of a file. See sum
cmp Compares two files, showing first difference only (for a quick check). OpenVMS DCL DIFFERENCE; see comm , diff
comm Compares two sorted text files; output is three columns showing (1) lines in file1 only, (2) lines in file2 only, (3) lines common to both files. See cmp , diff
cp Copies files to a new destination. OpenVMS DCL COPY
csplit Splits a file into new files containing segments of the original file.  
diff Compares two files, showing all differences. OpenVMS DCL DIFFERENCE; see cmp , comm
du Displays disk space usage.  
egrep Searches for text in a file. OpenVMS DCL SEARCH; UNIX: grep -e
fgrep Searches for text in a file. OpenVMS DCL SEARCH; UNIX: grep -f
find Searches down directory trees for a file (no need to know device!). OpenVMS DIR [...] filename; see ls
grep Searches for text in a file. OpenVMS DCL SEARCH; see egrep and fgrep
gnutar GNU tar utility to archive files. Reads OpenSource software distribution tarballs and archives and restores UNIX-style files.  
gunzip Decompress a file. See gzip
gzip Compress/Decompress a file. See gunzip
head Displays the beginning of files. See cat , lpr
join Joins lines of two files (fields) in output. See paste
less Displays a file one screen at a time. OpenVMS DCL TYPE/PAGE; see more
ln Link (creates an alias filename). OpenVMS DCL SET FILE/ENTRY
ls Displays contents of a directory. OpenVMS DCL DIRECTORY; see find
mkdir Creates a directory. OpenVMS DCL CREATE/DIRECTORY
mkfile Creates a file. OpenVMS DCL CREATE
more Displays a file one screen at a time OpenVMS DCL TYPE/PAGE; see less
mv Moves files to a new location or renames files. OpenVMS DCL RENAME
paste Joins corresponding lines of several files, or subsequent lines in one file. See join
rm Deletes files. OpenVMS DCL DELETE
rmdir Deletes a directory.  
split Splits a file into multiple files.  
sum Displays a checksum for a file.  
tar Archives files. This runs VMSTAR, a tool similar to tar . It is not a genuine UNIX tar utility. Similar to OpenVMS BACKUP. For more information, see Section 8.2. See gnutar .
unzip Retrieves archived files.  
zcat Expands compressed files.  
zip Archives files.  
Text Processing
cut Locates specified fields of each line of a file and writes the characters in those fields to standard output. Displays columns of a file.  
expand Replaces tab characters with spaces in the named files or in the standard input, and writes the result to the standard output. See unexpand
fmt Formats text of a file to a specified width. See fold
fold Formats file by wrapping lines at the specified width. See fmt
gawk ( awk ) Text processing language.  
nl Numbers lines in a file.  
od Writes the contents of a file to standard output, in a specified format.  
sed Invokes a stream editor.  
sort Sorts the lines of a file.  
tr Finds and replaces characters in a file.  
unexpand Replaces spaces with tab characters in the data from the standard input, or in the named files, and writes the result to the standard output. See expand
uniq Removes duplicate lines from a file.  
vi Invokes a text editor similating the standard UNIX vi text editor. OpenVMS EDIT; for more information, see Section 8.2
wc Displays the number of lines, words, and characters in a text file.  
lp Prints a file.  

Next Contents