Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
Hang in there!! You solved your other problem, and you will solve this one.
Installing SW in Linux is a 2-edged sword: If it is in your repositories (and therefore available with the package manager), then installing Linux SW is as easy--or even easier--than on Windows. If, on the other hand, you have to install something by hand, then you are responsible for what we call the "dependencies"--AKA libraries. (Windows calls these DLLs).
In the course of this exercise, you have been exposed to a few basics which will serve you well later
1. Running executable files:
a. the permissions have to be set.
b. the path to the file has to be in your $PATH variable--OR you have to give the complete path. ("./" means "run here"--ie in the current directory)
2. Libraries: When it complains about a missing library, first do a search. If you have the library, but with a different version number, you can often set up a link with the name that the program is looking for. If you do need to install a library, you can almost alwasy find it by just plugging the name into a Google search.
I would advise that you get comfortable with the basic shell commands,directory structure, etc. before tackling custom SW installation. My favorite starting place is the Bash Guide for Beginners---free at http://tlpd.org
I assume by now that you have gotten familiar with the package manager and the content of the repositories. ALWAYS try to find SW there before tackling a custom install.
Was there an easier way to do this than the way I have used?
No. As far as I know the Generic Mapping Tools has never been packaged and building the source code is a mandatory step. However, the automated way has done the configure, make and make install steps for you. Time to read the GMT reference guide, now!
Distribution: PCLinuxOS2020 CentOS6.10 CentOS7.7 + 50+ other Linux OS, for test only.
Posts: 17,397
Rep:
Quote:
Was there an easier way to do this ...
No, but "Desktop" is not a place, I would use for applications.
/home/<user>/GMT/ may be a better place.
Documentation : if you said yes to "docs", please look into :
1) GMT4.5.2/share/html/GMT_Tutorial/GMT_Tutorial.html
2) GMT4.5.2/share/html/GMT_Docs/GMT_Docs.html
.....
Sorry to bring this up again but I still haven't solved all my problems
My problem is that when I enter a command that can be used in the program it says:
Code:
alex@ubuntu:~$ grdinfo
grdinfo: command not found
I assume that GMT is installed properly because the command:
Code:
alex@ubuntu:~$ GMT
produces information about the program and when it installed directories were created. How do you actually check if a program is installed?
I'm guessing its because some directory for a necessary file is in the wrong place? I have read the readme files and I don't really understand a lot of it
The PATH variable tells you shell (the program that you interact with when using a terminal) where to look for programs. You need to set the PATH variable so that your shell can find the grdinfo program. You posted instructions saying that you need to set the following two variables:
Where, I discussed PATH above, and where NETCDFHOME is another variable that the program you installed seems to need so that it knows where to find a library.
You can have these variables set automatically by putting those exact to lines into the file .bashrc in your home directory. So please open that file in a text editor and put those lines in there. Then open a new terminal and try to run the grdinfo program again.
I think I have found the file but it seems to be read only? Where is the .bashrc file usually located? Sorry to keep asking questions but where abouts in this file do I put the 2 lines?
I have added to the file, but it still will not recognise my commands
I placed the 2 files at the bottom. This is the .bashrc file:
Code:
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# don't put duplicate lines in the history. See bash(1) for more options
# don't overwrite GNU Midnight Commander's setting of `ignorespace'.
HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
# ... or force ignoredups and ignorespace
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
export NETCDFHOME=/home/alex/Documents/Earth_Vis/GMT/netcdf-3.6.3
export PATH=/home/alex/Documents/Earth_Vis/GMTGMT4.5.2/bin:$PATH
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.