How to install a specific version of nginx on Debian 7? - nginx

I did the following to nstall nginx on Debian 7
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nginx
sudo service nginx start
This installed the latest version of nginx , How do I install another version?
Doing sudo apt-get install nginx=1.2 or sudo apt-get install nginx-1.2 does not work. It fails saying version not found?

Older version of Nginx is not available in Debian repository, you need configure Nginx Debian repository http://nginx.org/en/linux_packages.html or find the deb package and install manually.

A distribution of Debian is a set of software packages that was tested to run well together. Every change imposes a risk to break somethign somewhere since that change may not have been prepared for by another software also installed.
When you are for a newever version than what the distributions ships, then a look at the package "tracker" will present an overview of what is currently available, which includes so-called backports to your distribution: https://packages.qa.debian.org/n/nginx.html but indeed the packages directly provided by nginx.org should be just fine. For looks into the past, check out http://snapshot.debian.org/package/nginx/ .

Related

How to install newer version of R on Amazon Linux 2

For whatever reason, Amazon moved R to the so-called "Extras Library" so you can't install R using sudo yum install -y R anymore. Instead, you have to do sudo amazon-linux-extras install R3.4. As a result, I can only install R 3.4.3 when the newest stable release is 3.6.1, and so many R libraries can't even be installed because the version is too low. Is there any good and clean way to install the latest version of R and skip Amazon's package manager? Thanks!
Use amazon-linux-extras which installs R4.0.2:
amazon-linux-extras install R4
You may need root:
sudo amazon-linux-extras install R4
I've tried setting up R 3.6.x on a docker container that uses the amazonlinux image. My approach was to get the R source file from the below link and install from source
cd /tmp/
wget https://cloud.r-project.org/src/base/R-3/R-3.6.3.tar.gz
tar -zxf R-3.6.3.tar.gz
cd /tmp/R-3.6.3
./configure --without-libtiff --without-lapack --without-ICU --disable-R-profiling --disable-nls
make
make install
you will need to yum install some dependencies, like 'make', which doesn't seem to come with aws amazonlinux docker image (which i think mirrors the EC2 instance AMI image you are referring to).
The above kind of worked for me in that i had a working R3.6 installation, but it didnt allow me use it with rshiny server, so i'm reverting to the shipped 3.4.3 version.
tl;dr: you'll probably have to manually download the source files and install the desired R version from source, and throw in some build dependencies as well.
Try this on Amazon Linux 2
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install R
Amazon Linux 2 Image contains extras library that can be used as well. Follow the guide here.
https://aws.amazon.com/premiumsupport/knowledge-center/ec2-install-extras-library-software/
sudo amazon-linux-extras enable R3.4
sudo yum clean metadata && sudo yum install R3.4

Should I be installing Nginx from source or PPA?

Nginx source seems far different from the Nginx PPA. Mostly the way PHP is configured, and the different sites-available config. Should I be installing the source version, or the Nginx from the PPA?
It's up to your need as per the reason below.
from PPA. This is a quick and easy way to install NGINX Open Source. The package includes almost all NGINX official modules and is available for most popular operating systems. See Installing a Pre-Built Package for details.
compiled from the sources. This way is more flexible: you can add particular modules including 3rd party modules or apply latest security patches. See Compiling and Installing From the Sources for details.
I almost always select PPA option as I just need it as is, and I don't have to deal with compilation dependencies or ./configure command line options :-).
Here is what I did for installing on Ubuntu 14.04
$ sudo vi /etc/apt/sources.list
>>> add 'deb http://nginx.org/packages/ubuntu/ trusty nginx' to your package source list
$ wget -q http://nginx.org/keys/nginx_signing.key -O- | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install nginx
Just replace trusty with with whatever Ubuntu version codename applicable.

Installing R packages on Amazon Linux EC2 instance

I am learning to use RSelenium in an EC2 instance, and I found this handy guide on doing so - https://rpubs.com/grahamplace/rselenium-ec2 - however the guide focuses on an Ubuntu instance and I am using an Amazon Linux Instance. In order to install RSelenium, the guide says I must externally (outside of R but ssh'd into my EC2 instance) install the packages xml (XML i think, case sensitive) and RCurl. The guide's relevant lines of code are:
sudo apt-get install r-cran-xml
sudo apt-get install r-cran-RCurl
however, since I'm in an Amazon Linux instance, I tried:
sudo yum install r-cran-xml
sudo yum install r-cran-RCurl
for which I get the following error:
No package r-cran-RCurl available.
Error: Nothing to do
Note: I was successful in installing R on my machine (my instance), and I am able to simply type R to launch R in the EC2 instance.
Note2: install.packages('XML') and install.packages('RCurl') with R launched do not work either.
Any help appreciated with this, thanks!
the amazon linux R package has a different name:
sudo yum install -y R
then you tried (in R) install.packages(c('XML','RCurl')), but the installation failed.
as you discovered and describe in the comment below, you needed to install an additional amazon linux package, libxml2-devel, in order to install.packages('XML') successfully.
this is what I get when I run sudo yum install -y R
No package R available.
Error: Nothing to do
R is available in Amazon Linux Extra topic "R3.4"
To use, run
sudo amazon-linux-extras install R3.4
Learn more at
https://aws.amazon.com/amazon-linux-2/faqs/#Amazon_Linux_Extras

Install R latest verison on ubuntu 16.04

So I tried to install R (after repairing ubuntu on my system) using following command :
sudo apt-get install r-base-core
sudo apt-get install r-recommended
It installs R 3.2 , but the latest version of R currently available to use is R 3.4, any idea why it is not installing R 3.4 ?
I lately installed R.3.4 manually, it works fine. just curious to know why it didn't installed at the first place using the command.
Follow these steps:
Add this entry deb https://cloud.r-project.org/bin/linux/ubuntu xenial/ to your /etc/apt/sources.list file.
Run this command in shell: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9.
Update and install: sudo apt update; sudo apt install r-base.
I wrote a post that explains each step in detail (update: also covers installing R on Ubuntu 18.04); here's the link.
It installs 3.2 because that's the default in the Ubuntu 16.04 repository. If you want the most up to date version of R for Ubuntu it's best to follow the instructions at the cran page for R on Ubuntu.
The xenial-cran35/ version of the repo does NOT work if you have a "default release" set in apt, as is the case in some distros that work on top of Ubuntu, such as Mint. For my Mint distro, there exists a file /etc/apt/apt.conf.d/01ubuntu inside of which it declares the Default-Release "xenial"; What this means is that, since r-base exists in the ubuntu repo at version 3.2, with release "xenial", it'll never use the 3.6 branch from the other repo, because the release name for that repo is "xenial-cran35". You need to edit that file to change the default release to "xenail-cran35", or do something more pointed using apt preference files (https://wiki.debian.org/AptPreferences#A.2Fetc.2Fapt.2Fpreferences).
This is basically R's fault for having a poorly formatted repo. They should have had 2 repos, each of which had a "xenial" release folder, one url for their 3.2 branch work and one for the 3.5+ branch work. Instead they have one repo, and have bastardized the "release name" instead, which just sort of happens to work for base Ubuntu, but won't work if you have non-base configuration of apt in this way.

Install R 3.1.2 on Wheezy 7.8 (Raspbian) fails

I'm a newbie to Linux and try to install the latest R version on my Raspberry.
My Raspberry runs on Wheezy 7.8.
I followed instructions on CRAN, so I
added
deb http://cran.rstudio.com/bin/linux/debian wheezy-cran3/
to /etc/apt/sources.list
ran apt-get update which was successful and gave me only a "signature error" for the public key as pointed out on the CRAN-site
ran apt-get install r-base
But the result of the last command is
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
r-base : Depends: r-base-core (>= 3.1.2-1~wheezycran3.0) but it is not going to be installed
Depends: r-recommended (= 3.1.2-1~wheezycran3.0) but it is not going to be installed
Recommends: r-base-html but it is not going to be installed
Recommends: r-doc-html but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
I tried to install R-2.15 before and then run the above commands. R-2.15 could be installed successfuly, but I'd need R-3* really.
I did browse the web, but couldn't find any useful hints for my specific problem, so I appreciate any support you could give me.
Thanks!
If it is of any use:
apt-cache policy r-base gives
r-base:
Installed: (none)
Candidate: 3.1.2-1~wheezycran3.0
Version table:
3.1.2-1~wheezycran3.0 0
500 http://cran.rstudio.com/bin/linux/debian/ wheezy-cran3/ Packages
3.1.0-1~wheezycran3.0 0
500 http://cran.rstudio.com/bin/linux/debian/ wheezy-cran3/ Packages
2.15.1-4 0
500 http://mirrordirector.raspbian.org/raspbian/ wheezy/main armhf Packages
apt-cache policy r-base-core gives
r-base-core:
Installed: (none)
Candidate: 2.15.1-4
Version table:
2.15.1-4 0
500 http://mirrordirector.raspbian.org/raspbian/ wheezy/main armhf Packages
uname -a gives
Linux raspberrypi 3.18.5+ #744 PREEMPT Fri Jan 30 18:19:07 GMT 2015 armv6l GNU/Linux
I had the same situation and decided to install that from the source code instead of install R from the repository(apt-get command).
Here is the command I run on my Raspberry Pi 2.
I could install and run R(3.1.2) sucessfully.
It might not be complete answer for you because I might already installed the library like gcc you did not have before. If you encounter the other issue, please let me know. I would like to solve it.
Just as a side note on this topic, because sudo make install process took a long time(maybe over a hour. I'm not sure because I feel asleep before I knew it...), I recommend you to do this when you have enough or before going to sleep like me.
wget http://cran.rstudio.com/src/base/R-3/R-3.1.2.tar.gz
mkdir R_HOME
mv R-3.1.2.tar.gz R_HOME/
cd R_HOME/
tar zxvf R-3.1.2.tar.gz
cd R-3.1.2/
sudo apt-get install gfortran libreadline6-dev libx11-dev libxt-dev
./configure
make
sudo make install
R
The cause of your problem is likely that the cran repository provides armel versions of the packages, and not armhf (which is the expected architecture for your RPI). If this is right, then you have two solutions:
The first work-around could be to download the armel version of the packages and then force their installation despite the architecture mismatch. It is supposed to work according to the Debian wiki, although you may experience performance issues:
The CPU in the Raspberry Pi implements the ARMv6 ISA (with VFP2) and
is thus incompatible with the Debian armhf port baseline of ARMv7+VFP3
and ARM hardware-floating-point ports for other distributions, which
all have the same baseline. It is compatible with Debian armel
(armv4t, soft(emulated) FP), but floating-point tasks will be slow
when running the Debian armel port.
To do that, you can try to reinstall the packages by specifying the armel architecture, for example:
apt-get install r-base:armel
If it doesn't work this way, you can otherwise download the packages from http://cran.r-project.org/bin/linux/debian/wheezy-cran3/ and install them manually using a commandline like:
dpkg --install --force-architecture xxxx_armel.deb yyyy_armel.deb zzzz_armel.deb
The other solution would be to compile R from its source.
I solved my initial question by upgrading Wheezy to Jessie. I am not an expert, but Jessie seems to be the current testing version of Debian, while Wheezy is the stable release - see here.
For upgrading, I followed the instructions here, or here, or here. Note: Upgrading takes quite a while and during the process you're required to answer some questions.
A word of caution though: Jessie is still testing and some people recommend not to use it yet, for a discussion see e.g. here.
I did set it up completely from a new completely new image, and it works well.
After having upgraded to Jessie I installed R-3.1.1. using
sudo apt-get install r-base
And I'd like to thank all those who have answered my question and given alternative ways of solving the problem above.
I'm able to install R-3.1.2 into raspbian using answer from teramonagi. I confirm it can install successfully on Raspberry Pi model B/B+.
However, before you can actually use R (install packages and run some R scripts), you have to increase the swap file size for Raspberry Pi due to lack of RAM (This service works very similar to page file in window, it kicks in when RAM usage is high). You can configure it by edit one of the config file by enter command below in LX terminal.
sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE=100 #(change 100 to 512 or 1024, up to you, save the file)
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start #(restart swap file service with new swap file size)
Take note though, some users argued that increase swap file size can actually ruin your SD card. So apply this change at your own risk. I've been running my Pi with this configuration for my R automation for 1 month now. No issue so far.
Hope this helps.
Edit: If you are using model B/B+, i recommend to configure swap file size first then compile R.
That's what I've done to update my r-base on wheezy:
HOW TO UPDATE r-base 2.15 to 3.x ON DEBIAN WHEEZY
add these lines at the end of "/etc/apt/sources.list"
deb http://cran.revolutionanalytics.com/bin/linux/debian wheezy-cran3/
deb-src http://cran.revolutionanalytics.com/bin/linux/debian wheezy-cran3/
add the missing publich key of cran
gpg --keyserver pgpkeys.mit.edu --recv-key 06F90DE5381BA480
gpg -a --export 06F90DE5381BA480 | sudo apt-key add -
update and upgrade
apt-get update
aptitude -t wheezy-cran3 install r-base r-base-dev

Resources