Upgrading NGINX: apt-get candidate version - nginx

I've installed nginx-light on my Google Compute Engine instance (Debian Wheezy). I installed with apt-get install nginx-light, which installed NGINX version 1.2.1 (specifically: 1.2.1-2.2+wheezy3).
Its working fine, but I was just over at NGINX and realized this is a very old version from like 2012, and that the latest stable version is 1.6.2. But apt-get upgrade nginx-light doesn't upgrade the release it seems. I'm not that familiar with apt-get so I've been searching for tips. I found a reference to the command: apt-cache policy nginx-light. Running that I get:
nginx-light:
Installed: 1.2.1-2.2+wheezy3
Candidate: 1.2.1-2.2+wheezy3
Version table:
1.6.2-5~bpo70+1 0
100 http://gce_debian_mirror.storage.googleapis.com/ wheezy-backports/main amd64 Packages
100 http://http.debian.net/debian/ wheezy-backports/main amd64 Packages
*** 1.2.1-2.2+wheezy3 0
500 http://gce_debian_mirror.storage.googleapis.com/ wheezy/main amd64 Packages
500 http://security.debian.org/ wheezy/updates/main amd64 Packages
500 http://http.debian.net/debian/ wheezy/main amd64 Packages
100 /var/lib/dpkg/status
So it shows 1.6.2 as available in the version table. A little more research indicates that the pin-value (100) of this version correlates to "NoAutomatic" and "ButAutomaticUpgrades". A little more searching tells me these states indicate that the upgrade to that version isn't automatic, it must be explicit.
It seems the solution has to do with version pinning, but I'm not finding clear enough info on that to be confident about exactly what to do. So I have a few questions if anybody has any insight.
Do you know of a good reason the upgrade to 1.6.2 wouldn't be
automatic? Any reason to stay on 1.2.1? This will be a production
web server for a fairly small web site (basically a startup home
page) running PHP / Wordpress.
How do I force apt-get upgrade to use 1.6.2 as the candidate
release?
What brought me here was setting up Google PageSpeed modules. The
instructions involve building NGINX 1.6.2 from sources with the GPSM
linked in. But I don't want to confuse the package manager or mess
anything up by building my own NGINX if I don't have to. Will I need
to build from sources if I want to install GPSM into NGINX?
The website is already running great, and super fast with CloudFlare. But I thought I would experiment with Google Page Speed- but not if its going to be too much trouble.

OK I figured it out myself. Maybe not the most efficient, but I had to:
Backup my nginx config (not too complicated, just nginx.conf was
overwritten with a new version)
sudo apt-get remove nginx-light
sudo apt-get autoupdate
sudo apt-get install nginx-common=1.6.2-5~bpo70+1
sudo apt-get install nginx-light=1.6.2-5~bpo70+1
Then I had to change one line in my site config in /etc/nginx/sites-available...
(because PHP files stopped working after the upgrade)
I changed: include fastcgi_params;
to: include fastcgi.conf;
I still don't know if this upgrade was really necessary, or if I can (or should) install google pagespeed into it, but at least I've got the latest stable nginx running with my current setup.

FYI, the correct way to do this is (using the wheezy-backports line for example) is
apt-get install -t wheezy-backports nginx-light
As for your question:
Do you know of a good reason the upgrade to 1.6.2 wouldn't be automatic?
The answer is simple, so that you don't upgrade to a version newer than the version in wheezy by accident. Most of the time, you don't want to do that.
Also, you ask:
Will I need to build from sources if I want to install GPSM into NGINX?
Building a custom Debian package from nginx sources may be an option. But I'm not sure of the details of what you are trying to do.

Related

Installing R Studio on Ubuntu 22.04

I installed Ubuntu 22.04 and R. Now I'm trying to install R Studio.
After download it I tried to install with
sudo gdebi rstudio-2022.02.1-461-amd64.deb
But I received the message
Dependency is not satisfiable: libssl1.0.0|libssl1.0.2|libssl1.1
Is there any way to work around it?
So I had the same problem about the "Dependency is not satisfiable",
You can just update Rstudio with the last daily update
https://dailies.rstudio.com/
Edit #1: I've solved the dependency problem by going to https://packages.debian.org/bullseye/amd64/libssl1.1/download and installing 'libssl1.1' from there. Unfortunately, I've encountered another problem; I'll post another edit as soon as I've solved it, or if I've given up on trying to solve it.
Edit #2: I've solved the aforementioned problem by running rstudio --no-sandbox to open RStudio.
My Original Answer:
This isn't a solution, but I have the same problem. I was missing 'libclang-dev' and 'libpq5' as well, but I was able to get them via sudo apt install. I couldn't get 'libssl1.1', however:
Package libssl1.1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'libssl1.1' has no installation candidate
I tried 'libssl1.0.2' and 'libssl1.0.0' as well, but got the same result. After doing some research and trying out different things, I found that I have 'libssl3'; I suspect that having a more recent version of 'libssl' is related to the problem, but I'm not an expert on this stuff and it could just be a stupid guess for all I know.
Also, when I run sudo apt install -f ./rstudio-2022.02.1-461-amd64.deb, I get:
The following packages have unmet dependencies.
rstudio : Depends: libssl1.0.0 but it is not installable or
libssl1.0.2 but it is not installable or
libssl1.1 but it is not installable
E: Unable to correct problems, you have held broken packages.
I initially ran sudo dpkg -i rstudio-2022.02.1-461-amd64.deb, and I had to run sudo apt --fix-broken install afterwards; it was after then that I tried and successfully installed the two other missing packages. Yep, I basically don't know what I'm doing and I just try solving these technological problems through trial and error, although I've almost never been as stumped as I am now.
I don't have a good enough reputation to comment, apparently, so posting an 'answer'. I have installed RStudio on 22.04 without problem (well, not without problem--I have to add some startup paramters to make it load properly on Wayland). Here's what APT reports as available for me:
$ apt-cache search libssl | grep libssl1
libssl1.1 - Secure Sockets Layer toolkit - shared libraries
And it seems to be installed okay:
$ dpkg -s libssl1.1
Package: libssl1.1
Status: install ok installed
Priority: important
Section: libs
Installed-Size: 4057
Maintainer: Ubuntu Developers <ubuntu-devel-discuss#lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: openssl
Version: 1.1.1l-1ubuntu1.2
Depends: libc6 (>= 2.34), debconf (>= 0.5) | debconf-2.0
Breaks: isync (<< 1.3.0-2), lighttpd (<< 1.4.49-2), python-boto (<< 2.44.0-1.1), python-httplib2 (<< 0.11.3-1), python-imaplib2 (<< 2.57-5), python3-boto (<< 2.44.0-1.1), python3-imaplib2 (<< 2.57-5)
Description: Secure Sockets Layer toolkit - shared libraries
This package is part of the OpenSSL project's implementation of the SSL
and TLS cryptographic protocols for secure communication over the
Internet.
.
It provides the libssl and libcrypto shared libraries.
Homepage: https://www.openssl.org/
Original-Maintainer: Debian OpenSSL Team <pkg-openssl-devel#lists.alioth.debian.org>
Are you able to confirm you have the same candidate package listed? Maybe your APT sources didn't update correctly? Here's what's currently in my /etc/apt/sources.list file:
deb http://nz.archive.ubuntu.com/ubuntu/ jammy main restricted
deb http://nz.archive.ubuntu.com/ubuntu/ jammy-updates main restricted
deb http://nz.archive.ubuntu.com/ubuntu/ jammy universe
deb http://nz.archive.ubuntu.com/ubuntu/ jammy-updates universe
deb http://nz.archive.ubuntu.com/ubuntu/ jammy multiverse
deb http://nz.archive.ubuntu.com/ubuntu/ jammy-updates multiverse
deb http://nz.archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu jammy-security main restricted
deb http://security.ubuntu.com/ubuntu jammy-security universe
deb http://security.ubuntu.com/ubuntu jammy-security multiverse
If yours is the same, maybe you have something in /etc/apt/sources.list.d that should have been disabled on upgrade and wasn't?
The issue is already solved in the daily code since 27th of April. Install any daily after that and it works. No news yet of when stable version will be released though.
The missing libraries may now be installed from libssl1.1_1.1.1l-1ubuntu1.3_amd64.deb, which may now be found on https://ubuntu.pkgs.org/21.10/ubuntu-updtes-main-amd64/.
I have used Arronax to add --no-sandbox to the command-line, in rstudio.desktop, in place of --disable-seccomp-filter-sandbox which did not work.

Installing and initializing symfony on ubuntu 18.04

I tried almost all the solutions provided on the internet. Nothing seems to work.it says
Your requirements could not be resolved to an installable set of packages.
Problem 1
-installation request for symfony/symfony v2.8.4.1 -> satisfiable by symfony/symfony[v.2.8.41].
-symfony/symfony v2.8.41 requires ext-xml *-> the requested PHP extension xml is missing from your system.
You didn't mentioned the system on which you run Symfony and which PHP version you use.
For Ubuntu with PHP 7 you just need to install the xml extension through apt: sudo apt-get install php7.0-xml
For Windows you can follow the guidelines in the PHP documentation
For Mac OS X you can use a package installer like Homebrew or use a tool which will install many package at once
After that, make sure the extensions are enabled in your PHP ini file.

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.

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

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/ .

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