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!
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.
How do I know if my installation is using the rpm or source code files? I upgraded my ssh using source code, which you manually compile the code (make, make install). I notice one change, the configuration file is now located in /usr/local/etc & sbin & etc. The original ssh is rpm located /etc/ssh.
My question; Is my ssh using the new version or still using the old rpm version? How do I verify?
If you just used the default ./configure without passing --prefix=/usr to it then it defaulted to install in /usr/local instead of /usr. If /usr/local/bin is not in your PATH$ then you're most likely still calling the old version. Try starting it from the command line with --version after it. Most programs recognize this and will output the version and exit. Hope that helps.
I was just looking at mine and I guess it doesn't recognize --version (grumble grumble) so that way won't work. if you rpm -e openssh (in a terminal, as root) it will remove the rpm of the old version, leaving you with the newer version which you installed from source. Since /usr/local is in your PATH$ then it will be found/used.
Generally, if you're upgrading something that was originally an rpm and now you're building it from source the best way to do it is to remove the rpm package first.
Something you may want to look into if you're going to build from source is a program called 'checkinstall.' http://asic-linux.com.mx/~izto/checkinstall/ it will create an .rpm (or a .deb or a .tgz) which can be installed/uninstalled (it's explained on their site) from the source code. Since I've found it I use it all the time. Quite a handy little tool.
As to whether you should put the ssh in /usr or /usr/local, as long as it's in your PATH$ and the lib directory (/usr/local/lib) is in /etc/ld.so.conf you're fine just using /usr/local. (if /usr/local/lib is not in /etc/ld.so.conf, add it (open it in a text editor as root), save it, then run (as root) ldconfig.)
tar zxvf openssl-0.9.6l.tar.gz
then it will ask a few things... it needs a description (you can just say openssl and hit enter twice or if you want to be more descriptive you can), you'll want to choose "R" for an RPM package. It will then give you a summary and you just hit Enter to continue.
Try to find out:
Binary linkage: running "ldd /usr/sbin/sshd |grep crypt" should show "libcrypt.so.1 => /lib/libcrypt.so.1". Linker cache: running "ldconfig -p|grep crypt" should show "libcrypt.so.1 => /lib/libcrypt.so.1". Stat or "file /lib/libcrypt.so.1" should show "/lib/libcrypt.so.1: symbolic link to libcrypt-(version).so"
If running "file" doesn't show the file, then you need to install it (part of Glibc AFAIK). If "ldconfig" doesnt show it but you have the file, then you need to run "ldconfig" to update the linker cache.
First, run updatedb as root then do
It should have been installed as part of openssl. If it is found, make note of the location then:
1) as root, edit /etc/ld.so.conf
2) add the path to the directory containing lybcrypto.so.1
(for example, if locate tells you it's in /usr/local/lib/libcrypto.so.1 you would add /usr/local/lib)
3) save and exit
4) as root, run ldconfig
Last edited by dingding66; 12-19-2003 at 10:17 AM.