Raspberry Pi 2, root access denied - raspberry-pi

I have been playing with my raspberry pi 2 for about a week now. I am a beginner at it so I am learning as i go. I have been watching youtube videos of people doing projects and following there step by step guides but I keep running into the same problems.
I have been using rasbian as the OS, and I am having several problems with root access being denied. I am logged in as the basic user= pi , password = raspberry. So from my reading I have done I should be able to (using sudo), make root commands or accessing the root folder.
I have been trying to edit files using commands like
sudo vim /root/.asoundrc
Whenever i do this i get a page that looks like this-
~
~
~
~
~
~
~
~
"~/.asoundrc" [New File] 0,0-1 All
and nothing will come up for me to edit
My other problem is using the command yaourt
Example:
yaourt -S jasper-tts-google
i get back
-bash: yaourt: command not found

You can't use yaourt unless you install it first. And it cannot be found in the standard repository. You have to install it manually.
As for the editing files. Try using a simpler editor like nano.
To be honest you seem way to newbish to be here. You need to have at least some basic understanding of how a Linux distro works. Vi is an commandline editor and very convenient when you don't have a Desktop Environment.
We can't help you much on this forum since you simply know too little and we can't hold your hand every step of the way if you can't do simple commands/things such as:
Changing directory
Editing files
Change ownerships of files
Sudo
SSH
(un)Installing software using the commandline(aptitude)
Install software without using aptitude.
At least read about what you're trying to do. You should know what yaourt i before installing it. And with every installation of some software from yaourt - you need to have some kind of basic knowledge of PKGBUILD.

So, as far as the first problem, you are opening a file that doesn't exist, so naturally it is an empty file.
yaourt is not installed by default, so naturally you must install it.

Related

Snap applications not showing in "show applications", Ubuntu 20.04

Yesterday, after Ubuntu (or maybe Dell) installed some updates and I restarted, my snap applications were not showing on my sidebar, nor are they present in "show applications" or a normal search.
They are still installed and snap list still shows them, and they will still run via snap run <application>.
I've tried uninstalling them all (although I did not use --purge when I ran snap remove <application>), followed by uninstalling snap itself, then re-installing everything. They are still present but not showing up.
More searching has brought me to sites referencing the XDG_DATA_DIRS environment variable (explained HERE). If I understand correctly this should link all the folders where applications are stored, and the paths within should be separated by colons, not spaces. Thus I ran echo $XDG_DATA_DIRS and was rewarded with:
/usr/local/share/:/usr/share/:/var/lib/snapd/desktop /var/lib/snapd/desktop /var/lib/snapd/desktop
So I suspect my issue is the facts that the snapd directory is listed three times, and it is separated by spaces.
Does anyone have any ideas how I could fix this? I suspect, but am not certain that this is the issue.
I'm on Ubuntu 20.04, using fish shell.
I've found THIS post showing a possible solution, and upon running sudo ag "XDG_DATA_DIRS=" / 2>/dev/null | grep -v snap (and waiting a while) I got the following output (minus a few auth.log references which I've removed) Apologies for the big, possibly irreverent, "data dump"
/etc/profile.d/xdg_dirs_desktop_session.sh:4:DEFAULT_XDG_DATA_DIRS='/usr/local/share/:/usr/share/'
/etc/profile.d/xdg_dirs_desktop_session.sh:18: XDG_DATA_DIRS="$DEFAULT_XDG_DATA_DIRS"
/etc/profile.d/xdg_dirs_desktop_session.sh:21: XDG_DATA_DIRS=/usr/share/"$DESKTOP_SESSION":"$XDG_DATA_DIRS"
/etc/profile.d/apps-bin-path.sh:12: export XDG_DATA_DIRS="/usr/local/share:/usr/share"
/etc/X11/Xsession.d/55gnome-session_gnomerc:17: XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
/etc/X11/Xsession.d/55gnome-session_gnomerc:19: XDG_DATA_DIRS=/usr/share/gnome:"$XDG_DATA_DIRS"
/etc/X11/Xsession.d/60x11-common_xdg_path:5:DEFAULT_XDG_DATA_DIRS='/usr/local/share/:/usr/share/'
/etc/X11/Xsession.d/60x11-common_xdg_path:17: XDG_DATA_DIRS="$DEFAULT_XDG_DATA_DIRS"
/etc/X11/Xsession.d/60x11-common_xdg_path:20: XDG_DATA_DIRS=/usr/share/"$DESKTOP_SESSION":"$XDG_DATA_DIRS"
/usr/share/doc/gnome-software/README.md:24:$ XDG_DATA_DIRS=install/share:$XDG_DATA_DIRS ./install/bin/gnome-software
I'm not certain I have found the correct places to think about updating the environment variable, as none of these referenced /var/lib/snaped/desktop...And this might not be the issue causing the problem at all! Any help would be welcome!
You are running into https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1957948 which will require a fix in snapd.
Using a different shell as your login shell, and then executing fish once it has started, is the right workaround.
I am also having the same problem (suddenly Firefox disappeared in Gnome Shell) and I'm using Ubuntu 21.10 with fish shell. And just like you I could not figure out what caused this XDG_DATA_DIRS modification with the separation by spaces. Because you apparently also use fish I tried switching back to bash as login shell (chsh -s /bin/bash), rebooted and voila, the desktop files are loaded again. After that I set fish as the command to start with in gnome-terminal.
TLDR: My quickfix/workaround was chsh -s /bin/bash to switch to bash as login shell (instead of fish) and reboot.
After following Zanchy's links and reading around the issue I found the solution here!!!
I needed to replace
set XDG_DATA_DIRS $XDG_DATA_DIRS $snap_xdg_path
with
set XDG_DATA_DIRS $XDG_DATA_DIRS:$snap_xdg_path
in /usr/share/fish/vendor_conf.d/snapd.fish
Update: After another update I found my snaped.fish file had reverted, and I needed to edit it again - so this solution may need to be re-applied until fish updates it's snap?
I had the same problem on Linux Lite 6.0 (basically same as Ubuntu 22.04). Snap applications (Spotify, Prospect Mail) would not show up our could not even be found when searching for them. Just logging out and back in again put the application shortcuts in the Menu and all worked fine.

How can i install two different version perl on my linux?

I have a Linux server, and it has its own Perl whose version is not what I want. So I want to install another Perl on it.
I tried to solve it with Perlbrew, but my server can't download it. It seems like my server does not trust that website address. And I don't know whether I should download it as root. Besides, I think there is a huge difference between root and a normal user to download and install it, and I just want do it as a normal user.
Is there another way install different version Perl on my server?
I downloaded the version I want before, and I tried to install it in a usual way, but it just failed.
Here is the wrong when I tap the command
wget -O - https://install.perlbrew.pl | bash as a normal user.
Maybe I should tap it as root?
And when I try to install the Perl v5.8.8(this is version I want) in ~/bin,i run the Configure.
But I can not run make after that, it just told me that make:No rule to make target , needed by miniperlmain.o Stop.
Besides,
my Linux is Centos 7.4. I don`t how to fix it.
It seems that I find a way to let me to make.
Here is the link.
After I edit the makedepend.SH, I run make again. But I got this wrong:
The thing is really weird. Why Perl V5.8.8 is so difficult to install.
The easy answer is 'just install perl' - it'll drop by default into /usr/local/bin, and you can just use that instead.
DON'T overwrite /usr/bin/perl, as that's a recipe for pain. (Lots of stuff will have dependencies on perl versions installed via your package manager).

raspberry pi does not have /etc/modprobe.d/raspi-blacklist.conf

I bought an PiFace and I want to follow this guide, but I don't have the raspi-blacklist.conf.
There were my steps so far:
I've installed my rpi by following this guide.
I've executed sudo rpi-update
I tried to find raspi-blacklist.conf
Does anybody have some insights for me?
I think Rasbian removed the whole default raspi-blacklist.conf file sometime ago. Instead of editing the /boot/config.txt as suggested by Stabby.
The better way of doing it without going to change the file is use raspi-config to change the setting for you.
sudo raspi-config
Then select
advance options
Select
A6 SPI Enable/Disable automatic loading
and say yes to all the options.
You can also enable i2c here. reboot the system and you should see spidev0.0 and spidev0.1 in dev
I know this is old thread, but it bothered me that it didn't have an answer.
My raspbian wheezy also doesn't have raspi-blacklist.conf, and creating commented out one doesn't make any sense.
What worked for me was editing /boot/config.txt and adding line:
dtparam=spi=on
After reboot /dev/spidev0.0 was there
This is a blacklist file, and is used to prevent the kernel from loading unecessary modules. In any case, if you're using raspbian wheezy, the default file is
# blacklist spi and i2c by default (many users don't need them)
blacklist spi-bcm2708
blacklist i2c-bcm2708
Try that. Otherwise, let us know what distro you are using, if not wheezy.
To create the file:
Wheezy comes stocked with nano, so let's use that as our editor. The directory should exist, as it contains some also modeule config files. Try:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
You are now editing the file you wish to create. Enter the lines above that I indicated. When finished, type ctrl-x, then answer yes and hit return. The file is now created. You need to set permissions on the file by:
sudo chmod 644 /etc/modprobe.d/raspi-blacklist.conf
Your file should now be there and ready to go. You should now be able to edit it as in the tutorial.

Installing mahout and importing it to eclipse

This is my first stack overflow question. Normally I don't have to ask because it's already been addressed elsewhere, but I've been trying to figure this out for nearly a week and can't do it.
I have maven.
Since the guide on the mahout website basically say "Installing mahout: step 1 - you should install mahout", I had to look elsewhere for a guide. I followed the guide here because it seemed simple enough and made sense:
http:// harish11g.blogspot.co.uk/2012/02/configuring-mahout-clustering-hadoop.html
However, if I don't run
svn co http://svn.apache.org/repos/asf/mahout/trunk as sudo, it won't work.
Similarly, if I don't use sudo for
mvn install
It won't work, failing at the mahout-core stage of the build.
Using sudo, the build succeeds, but because my useraccount did not do the build (root did it) when I import the project to eclipse there are errors. Here is a screenshot:
http://i.imgur.com/MEp3lA0.png
Can I proceed with using mahout despite these errors, or how can I fix them? If I have done something wrong and should reinstall mahout in a different way, I'm happy to but I need to know exactly what I've done wrong.
I tried using maven to install mahout in my home directory and it didn't work there either. My thinking was that I wouldn't need superuser permissions to use the directory, so I didn't use sudo. I also tried changing the permissions of /opt to allow my useraccount to make changes. It still failed, and I've had to use sudo again and the eclipse errors are still showing.
I don't understand why in every guide I've seen online this hasn't been a problem. What could be so different about my user account that means I can't simply use
mvn install
to get mahout downloaded and installed?
If anyone could explain this is in a simple step-by-step way that would be amazing, because I really don't know why I'm having such trouble with this. Also, I've only been using Ubuntu in earnest for the past few weeks (although I had some experience with it over the past year, never really used it for anything serious) for this project, so you'll understand if I'm not immediately aware of some terminal commands or other linux tricks that to others may seem obvious.
Thanks for reading.
Do a ls -l on that directory in the terminal. Does the listed username match the one you are logged in (and running eclipse), or even the username in the terminal prompt?
This is bad: I am logged in as jj and I am trying to edit files owned by hduser:
jj#jj-ThinkPad-T420 ~/dev/crap $ ls -l
total 0
-rw-rw-r-- 1 hduser audio 0 Jun 16 23:37 afile
So we change the ownership of directory to jj:
jj#jj-ThinkPad-T420 ~/dev $ sudo chown -R jj:jj crap
All-clear to compile into this directory:
jj#jj-ThinkPad-T420 ~/dev/crap $ ls -l
total 0
-rw-rw-r-- 1 jj jj 0 Jun 16 23:37 afile
Image depicts Eclipse unable to write compiled classes to a directory owned by somebody else; while Eclipse (and rest of desktop) is owned by you. Root user can do anything on any directory, hence sudo works.

how to uninstall doxygen using make file on Ubuntu (12.04)?

I am using Ubuntu 12.04. I have installed doxygen 1.8.3.1 using make install.
I would like to uninstall the doxygen built by make, but I don't find any way to do it using make (uninstall or clean...).
In the Makefile there is no reference to uninstall it the software. :(
Unfortunately I can't use the sudo apt-get remove doxygen because it wasn't an installed. :(
I don't find anything related on the internet.
Can anyone help me, please?
Thank you in advance,
Fabiola
There is no "uninstall" target. You need to do a "rm" be hand. If you used the standard prefix path "/usr/local" then
rm /usr/local/bin/doxygen
rm /usr/local/man/man.1/doxygen.1
(more if you install the docs are wizard). Depend on the user used for install, you need sudo to do it.
I know this question is old, but since it is the first result in google I would like to share another way of uninstalling Doxygen built from source. In the build directory where you've ran make there should by a file name install_manifest.txt. That file contains paths to files that were installed using make install command. All you need to do is to run the following command:
sudo xargs rm < install_manifest.txt
Of course this assumes that you've kept the build directory or at least the install_manifest.txt file. If not you need to remove the files by hand as somebody already suggested.