"not running as user lfs, you should be" error - linux

Description
Trying to install pilfs (the LFS for raspberry) on my raspberry pi 3. I'm following the guide as posted here: http://www.intestinate.com/pilfs/guide.html
I'm currently following their "chapter 8"
8 Building Chapter 5 [5.4. Binutils - Pass 1]
Alright, this is the moment of truth. Will you make your way through
chapter 5 slow and steady, or just execute the build script and go do
something else for 30 hours? This is for you to decide ... I've done
both :)
Also, here is where you might want to start a tmux or screen session.
Because if you break your ssh connection or your router has a hickup,
your build will just stop.
So you've made up your mind? Okey, script runners, start your engines:
cd $LFS/sources
chmod +x
ch5-build.sh
./ch5-build.sh
The script will report your SBU time after the first binutils build has finished, mine
is usually around 1 hour.
For those brave souls who are working through the chapter by hand,
check out the about page and read the build scripts to figure out
what's going on.
Error
When I do ./ch5-build.sh, it's causing the following mesage:
Not running as user lfs, you should be!
Question:
What step did I miss for this to happen? How do I run myself as a "lfs user"?

You need to enter su - lfs in the command line and then enter your password. This is assuming you have created the lfs user earlier in the book. From there, you can run the shell script.

Related

Is there a way to isolate an application installation from the system?

I'm working on the sources of an application an have the release version of the application installed on the system.
How can i test the modified (and possibly buggy) application without conflicting with the version installed ?
What I want is basically virtual env but for generic applications.
I tried Docker but this has several issues :
I can't get the X11 redirection working. I tried commands like docker run -ti --net=host -e DISPLAY=:0.0 test-docker-geany or docker run -ti -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix test-docker-geany according to some forum threads.
The docker build involves copying the whole codebase to the image as well as installing all the tools and libraries needed to compile which some are not stored in cache and installed each time. So the script takes several minutes each time you want to compile and run.
So my questions are :
Is docker the best solution for such task ? I'm sure this is a problem a lot open source contributors faces but I couldn't find other cases on the net.
If it is not the best solution what are the alternatives ?
Detailed error :
I ran the commands xhost + and the first one I gave in my first issue and I got :
The program 'geany' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
(Details: serial 173 error_code 2 request_code 130 minor_code 3)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
The Dockerfile : https://pastebin.com/p03vaWbU
The warning was finally the cause : i just had to install gtk2-engines-pixbuf according to this thread
EDIT : I misunderstood the success. I get it to work that time because I ran an other GUI program in the docker before. In fact, I finally discovered that trying geany a second time just works although the first try give the error.

Is it possible to run a command from Cygwin, into a Git Bash terminal, with arguments?

I haven't been able to find a similar question, but I can't imagine this is an issue that comes up too much.
At my workplace I've decided to switch over to a full Linux experience by using Cygwin, over what I was previously using, Git Bash.
The only slight drawback is that we have a script written in Ruby that deploys changes to our site. I can run this from my Git Bash terminal no problem, but not Cygwin as there doesn't seem to be a Ruby installation on here. I've learned about sending standard output to other terminal windows, but I've only been successful when both terminals have been the same shell.
What I'd like to do is the following:
1. Type a command into Cygwin that opens a Git Bash terminal and automatically runs ./deploy.sh on that Git Bash terminal upon opening.
2. If possible, also pass in an argument in the same command, that the script expects upon running. (In this case it's whether we want to deploy to our staging or production server).
Is this possible? So far I can get what looks to be a Git Bash terminal to open and prompt me for the server, but when I enter it, it does not work. I get an error with regards to a command within the script not being found. Thing is, running this same ./deploy.sh script in a Git Bash terminal that I open myself works perfectly as it always has. The Git Bash terminal that is being opened by Cygwin does not appear to have all of the capabilities of a Git Bash terminal I open 'the normal way'.
The command I am running so far from Cygwin is as follows:
/cygdrive/c/'Program Files'/Git/git-bash.exe "./deploy.sh"
I understand there is probably a way of getting this to work by installing Ruby via Cygwin but I'd like to mess around with my work environment as little as possible in case I somehow affect my ability to deploy my work... and besides, Git Bash definitely runs this script without an issue so I can't see why I would need a duplicate installation.
Many thanks!

Building software from github on command line linux?

Apologies if the following isn't very clear and is very item specific, but I'm just very confused with what to do next and can't find any answers on google.
I am trying to install beschulz's WAV2PNG software on a Ubuntu server.
I've followed the directions on the page to get the required software :
apt-get install make g++ libsndfile1-dev libpng++-dev libpng12-dev libboost-program-options-dev
Which seems to have installed correctly, but next it's saying that I need to build it and I can't work out how to do this.
The docs say :
cd build
make all
Which i've tried but I just get :
-bash: cd: build: No such file or directory
This is the first time i've had to "build" anything after downloading it so any help would be greatly appreciated.
You are supposed to have performed a git clone on the Github repository.
you#vnix$ git clone https://github.com/beschulz/wav2png.git
.... stuff happens ...
you#vnix$ cd wav2png/build
you#vnix$ make all
... lots and lots of stuff happens ...
If this is your first time, things are likely to fail in interesting and/or intriguing ways. You probably want to make sure you are in an environment where you can scroll back and look at error messages and copy/paste them into Google or a new question (tmux, screen, and Emacs ansi-term are all popular alternatives, although a terminal with a big enough scrollback buffer and reasonable keyboard bindings to navigate it would be a good start already).

aireplay-ng command not found

I just downloaded and installed Kali Linux on my MacBook Pro (dual boot) to mess around with penetration testing - I have experience with aircrack-ng, but it was a while ago (and I was at least unaware of the distributions geared towards penetration testing). Finally got everything up and running, and customized the way I want - I tried to run the basic injection test aireplay-ng -9 wlan0 in the terminal and I get command not found when I try it as admin. The weird thing is it seems to work as root (I didn't try running the test - I just typed in aireplay-ng to see if it recognized the command, and it does). I don't think it is a PATH problem, but I added /usr/sbin/aireplay-ng to /root/.bashrc like this (just incase):
PATH=~/usr/sbin/aireplay-ng:$PATH
I don't think it is the path, because - as you can see, aireplay-ng is located in /usr/sbin/ which is already part of my PATH variable (noticeable when I execute echo $PATH).
The odd part is - when I log in as root, it seems to work - I didn't actually run the test as root (probably not the best idea), but I did type in aireplay-ng to see if the command was recognized, and it was. Not sure if a symlink would help - but I'm not going to try anything until I get a response.
Just trying to get the aireplay-ng command recognized. Thanks in advance. (I posted this on superuser too - but it seems like people are more active on stack).
Turns out I think you need root access for aireplay-ng (probably for the whole aircrack-ng suite too).

Having trouble with post-commit hook

I am following this tutorial that is like the hello world for post-commit
I am using Ubuntu 10.04. I installed svnnotify and ran $ which svnnotify which output:
/usr/bin/svnnotify
so I changed the path in the turorial from /usr/local/bin/svnnotify to /usr/bin/svnnotify
I also tried changing the line: #!/bin/sh to #!/bin/bash since bash is the login shell in ubuntu 10.04.
I tried to run it the way the tutorial originally had it, with my changes, and combinations of the two.
Every time the commit is successful but I get
Warning: post-commit hook failed (exit code 1) with no output.
The original way had output not found
I am very new to linux and shell scripting and have exhausted everything I can think of. What am I doing wrong?
Get the script working and tested before trying to run as a commit hook. I expect that your problem is something to do with the script, maybe not being marked as executable, environment wrong, etc.. i.e. if you can't get it to run successfully from the command line, this is more of a unix/shell question and doesn't really have anything to do with SVN (yet).
I'm not sure whether this applies in the Linux world, but in the Windows versions of SVN I've used, the code which runs the hook scripts only captures STDERR. If your hook script is only writing messages to STDOUT, that would likely explain the "No Output" warning.

Resources