Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then 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 am not sure what I did but I was installing some new packages over the weekend to update my subversion server and after rebooting, I couldn't get a desktop to display. When I logged in using SSH I get the following:
-bash: /usr/bin/grep: Argument list too long
-bash: /bin/ls: Argument list too long
-bash: /usr/bin/manpath: Argument list too long
-bash: /usr/bin/grep: Argument list too long
-bash: /bin/ls: Argument list too long
-bash: /usr/bin/manpath: Argument list too long
-bash: /usr/bin/grep: Argument list too long
....endlessly repeating
CTRL-C stopped the execution of whatever was running but every command I run at the command line (EVERY ONE) returns the "Argument list too long" message. It is possible I changed the path (I can't remember).
Running SUSE 10.2 and I am relatively inexperienced with Linux.
Can you get any shell commands to execute? If so, you don't need to rely on your memory - look at the time stamp on the files to see if they were updated:
Code:
ls -ltr /etc/profile /etc/bash.bashrc ~/.bashrc ~/.bash_profile
Just saw that the vi command didn't work, so I guess ls will not either. Then I thought, "ok, starta shell with a clean environment", but that would mean executing
Code:
/usr/bin/env -i /bin/bash
...and I'm guessing that won't work either.
How are you logging in - at the console, or in a windowed environment?
If the worst comes to the worst, you can always boot from a live CD and get a shell that way and example the files like that.
Those commands didn't work. Same "Argument list too long" error.
When I try to log in at the console or use VNC I get prompted for userid and password and then I get a grey screen instead of a desktop. I am guessing whatever is affecting the command line is also hosing up the GUI.
I am using PuTTY (SSH) to get to the command line.
I could try to boot to "safe" mode but it looks like I fundamentally hosed up the OS and probably it won't boot there either.
Is there another folder/directory that would have properly executable commands? I could change the path to include only the one dir that had functional commands in it (maybe?)
Don't know what is causing the "Argument list" error in the first place. I am not passing any arguments that I know of.
OK. I fixed it, although I am not sure what was broken. When I booted to "failsafe" mode, I saw the actual path of the file that was executing and it was profile.local. Something must have been hosed up in that file.
So, I booted to the CD and chose to Rescue the system. I logged in, manually mounted the drive and then went to the etc folder and deleted the profile.local file and rebooted. The system came up and I no longer have the problem.
I guess I could have renamed the file so I could go back to see what it looked like but I am just glad to have the server back up. It is my Asterisk server and I wasn't getting any phone calls!
So I learned something: Don't mess with profiles.....
No. No update to the kernel. It all started with a subversion installation. It seemed simple enough. The one thing that is irritating about Linux is that in many cases the installation of applications and components can be a nightmare. Anyway, turns out I already had subversion installed because the latest version wouldn't install indicating that binary files already existed (it would have been nice to have the installer automatically run an "upgrade") Next I needed to find a GUI for the subversion I had installed and that lead me to rapidsvn that needed a handful of other dependent programs. Here is where I get a little "fuzzy" on Linux installs. When I have a dependency, I go to Yast and see what packages I have installed and if they meet the minimums I go ahead and install. In this case Rapidsvn complained about not having apr, apr-util, glib, gtk+, neon, pango and then some of those had dependencies as well. Yast showed those packages were installed showing that they were installed in /usr/lib and one other folder I can't recall. Anyway, I got frustrated that the compiler would tell me that it needed certain packages installed that seemed to be already installed (according to Yast) so I started to play around with the PATH variable to see if I could get the compiler to start finding the stuff that was already installed and I eventually broke the installation.
So I started down the slippery slope because I really don't understand all the nuances of having to compile stuff in Linux (SUSE 10.2 in this case). Someday, there will be an installer that will be smart enough to find everything it needs, and download the missing stuff, so that installing an application won't be such a pain. If you have ever worked with Ruby on Rails and experienced the joy of using the gem command with the --install-dependencies switch, you will know what I am looking for.
All your installation woes go away if you stick to installing things from the distribution's repositories. SuSE must have subversion in it's repositories.
Building from source should really only be necessary in very rare cases, and certainly not for common things like subversion, which surely exists in the repos.
Anyhow, what exactly did it do to the /etc/profile?
There are lots of mischievous things which can be done in there, since it is executed for all login shells. You should be cautious when editing it, but don't rule it out entirely. Having said that, it really shouldn't necessary for a simple software installation.
No. No update to the kernel. It all started with a subversion installation. It seemed simple enough. The one thing that is irritating about Linux is that in many cases the installation of applications and components can be a nightmare. Anyway, turns out I already had subversion installed because the latest version wouldn't install indicating that binary files already existed (it would have been nice to have the installer automatically run an "upgrade") Next I needed to find a GUI for the subversion I had installed and that lead me to rapidsvn that needed a handful of other dependent programs. Here is where I get a little "fuzzy" on Linux installs. When I have a dependency, I go to Yast and see what packages I have installed and if they meet the minimums I go ahead and install. In this case Rapidsvn complained about not having apr, apr-util, glib, gtk+, neon, pango and then some of those had dependencies as well. Yast showed those packages were installed showing that they were installed in /usr/lib and one other folder I can't recall. Anyway, I got frustrated that the compiler would tell me that it needed certain packages installed that seemed to be already installed (according to Yast) so I started to play around with the PATH variable to see if I could get the compiler to start finding the stuff that was already installed and I eventually broke the installation.
So I started down the slippery slope because I really don't understand all the nuances of having to compile stuff in Linux (SUSE 10.2 in this case). Someday, there will be an installer that will be smart enough to find everything it needs, and download the missing stuff, so that installing an application won't be such a pain. If you have ever worked with Ruby on Rails and experienced the joy of using the gem command with the --install-dependencies switch, you will know what I am looking for.
Thanks for the pointers.
just about all package managers install dependencies for you, yast should be able to do that as well
Well, I'd think so but this is what is causing me grief:
Right now I am trying to install cairo because the cairo version that I have in SUSE 10.2 is downlevel. The ./configure in cairo is complaining because libpng isn't installed, or so it thinks. So I went to Yast, checked for the package and it IS installed, in /usr/lib.
So I go back to the command line and make sure that /usr/lib is in the path (which is what I assume has to be done). No joy. Still can't find libpng.
So the Yast package manager says it is installed, cairo says no. So, how do I tell ./configure in cairo how to find the packages that Yast says are installed?
You won't see anything if the package validates OK. I also listed the packages on my SuSE10.3 version.
Try "rpm -q --depends cairo"
For me it shows these libraries from the libpng package:
libpng12.so.0()(64bit)
libpng12.so.0(PNG12_0)(64bit)
Check that the files actually exist. Check that the symbolic links are present.
For some reason, kdar wasn't available in SuSE 10.3. I installed it with "rpm -Uhv --nodeps kdar-..." and then copied the libdar.so.3 version file from a backup.
If you add a library manually like that, you need to rerun ldconfig as root:
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.