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.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I suspect you need to be root to use the rpm command itself, so it does not matter where you want to install it, you will still need to be root to perform the action.
You don't - that's not how rpm's work. man rpm to see why.
The package will be set up to install to the standard locations for the program.
If you want to install to a non-standard location for some reason, you'll need to use the source code or find a stand-alone binary. Unless... you have some reason to believe that this rpm is supposed to install to your home directory???
You'll have to compile the source code:
1. Download the source code e.g. gulp-3.0.tar.gz
2. Extract the source: tar zxf gulp-3.0.tar.gz
3. This should create a directory with the source in it: e.g. gulp-3.0
4. cd gulp-3.0
5. Usually files like "READEME" or "INSTALL" are provided with source which instruct how to compile.
6. Typically there should be a "configure" file. Execute it like this: ./configure
7. This will do all the checks and then should create a Makefile. If it fails, you'll have to troubleshoot depending on the error message / missing library etc.
8. If ./configure works fine, then just run this:
make
Assuming the compilation goes through, it should create a binary file (e.g. "gulp" in this case) in some subdirectory - if this is all you need, just locate the "gulp" binary (use 'find' command) and then copy it to your home directory.
So you see, its not that you CANNOT do it, its just easier installing using apt-get as root (since you are using Ubuntu). It could be as simple as (depending upon whether its in the repositories configured in your /etc/apt):
sudo apt-get install gulp
Frankly, I fail to see the point of going through these hoops when all you care is to install and use this program.
Which leads to the question - why install to the home directory?
There are two main reasons -
1. you do not want other users to access the program
2. you do not have admin access
The first one may be antisocial - but a sysadmin may want to quickly check out a program before making it available system wide (which is what test machines are for but ho hum) The second seems more likely - in which case, you should ask the admin for the install and respect the decision. This is tough if the admin insists on being an icehole.
Note - I've been trying to find this program. I have found General Utility Lattice Program for chemistry - is this it?
But anyhow, even to install a program from source you need to be root to run make install.
And thats for the security purposes. Even windows will not allow non admins to install programs system wide.
But anyhow, even to install a program from source you need to be root to run make install.
And thats for the security purposes. Even windows will not allow non admins to install programs system wide.
This is not correct - you do not need to be root to install from source to a directory for which you have permission to do this. Like your home directory.
"make install" usually installs to /bin or /sbin or similar, which does require root access. However, the configure files may include the option to install to a non-standard location. running ./configure with these options creates a makefile with a different distination for the install step.
It is not uncommon.
It is also possible to edit the top level makefile to install to a different place.
(Editing the makefile used to be routine.)
The ability to modify the build process is part of what free software is all about.
Naturally, there is nothing stopping the sysadmin from adding security requirements which restrict source installs.
Ok I should have been more specific on that I compared for system wide installation. And compeletly migrated from the original subject as well in doing that.
I should not have worked till 2. Low on sleep today.
Indeed the best solution is that one suggested by Simon_Bridge, that is asking to your system administrator to install the package, especially if it is a scientific software that can be useful to other users, too. That said, there is a chance you can run a program provided by a rpm if you create the proper environment.
First you have to extract the RPM content (for example in $HOME/gulp) then you have to update your PATH and LD_LIBRARY_PATH and eventually MANPATH (if the package comes with some manual pages). Then check if the executables are properly linked to the necessary shared objects using the ldd command. Also check if there is some shell script in the package that you can edit to change paths. Be sure you install all the dependencies of the package in the same way and most likely you can run your locally installed RPM.
thanx for giving step by step procedure for installation of gulp .
but i m gettin an error like wen i try to install a tar.gz pkg :
"Perhaps you should add the directory containing `gtkglext-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtkglext-1.0' found"
i m really newbie , thnx again
Quote:
Originally Posted by rikxik
You'll have to compile the source code:
1. Download the source code e.g. gulp-3.0.tar.gz
2. Extract the source: tar zxf gulp-3.0.tar.gz
3. This should create a directory with the source in it: e.g. gulp-3.0
4. cd gulp-3.0
5. Usually files like "READEME" or "INSTALL" are provided with source which instruct how to compile.
6. Typically there should be a "configure" file. Execute it like this: ./configure
7. This will do all the checks and then should create a Makefile. If it fails, you'll have to troubleshoot depending on the error message / missing library etc.
8. If ./configure works fine, then just run this:
make
Assuming the compilation goes through, it should create a binary file (e.g. "gulp" in this case) in some subdirectory - if this is all you need, just locate the "gulp" binary (use 'find' command) and then copy it to your home directory.
So you see, its not that you CANNOT do it, its just easier installing using apt-get as root (since you are using Ubuntu). It could be as simple as (depending upon whether its in the repositories configured in your /etc/apt):
sudo apt-get install gulp
Frankly, I fail to see the point of going through these hoops when all you care is to install and use this program.
--rootdirectory uses the directory as the new root. Needs to be absolute path
rpm might complain about not able to create a directory. Just creat the directory.
Same might happen when installing the rpm.
you might also need to append --nosignature --nodeps to the second line (rpm --root /home/username -i the_name_of_the.rpm).
thanx for giving step by step procedure for installation of gulp .
but i m gettin an error like wen i try to install a tar.gz pkg :
"Perhaps you should add the directory containing `gtkglext-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtkglext-1.0' found"
i m really newbie , thnx again
Try locating the gtkglext-1.0.pc and add to the variable as it says and retry - even if fix this, you may get further compile time errors. As I said, compiling from source is not for newbies so maybe getting your admin to help you out is not such a bad idea considering the s/w in question doesn't seem to warrant any secrecy.
Well, there have been many suggestions in this thread so try others too. In particular if the suggestion by zhjim works, it will be the best for you.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.