Thse instructions will save you some headache in a multi-boot environment when one OS changes the boot menu and doesn't allow you boot in your preFfered OS. You can boot from an Ubuntu live CS/DVD/USB, and install boot-repair program from its own repo, with:
{CODE(colors="shell" ln="1")}
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
{CODE}
More information:
https://help.ubuntu.com/community/Boot-Repair
Non installed yet:
* jitsi -> installed by hand frmo their website, v 2.8.x
* linux-firmware-nonfree
* gstreamer1.0-plugins-bad-multiverse -> gstreamer1.0-plugins-bad
Other useful programs installed by hand in a later stage:
* rstudio
* chrome
* jitsi
* gdiskdump
* phpstorm
* acroread
* canon scangear MG3000. See ((Canon PIXMA MG3000 Printer and Scanner))
* "Master pdf editor"
+ http://www.webupd8.org/2014/02/modify-pdf-files-in-linux-with-master.html
+ ([http://code-industry.net/free-pdf-editor.php])
* elastic search
You can test email sending in the command line with:
{CODE(colors="shell")}
echo testing | mail -s test_subject youremail@example.com
{CODE}
Good:
* Bluetooth works by default with most devices
* Battery icon displays battery info for connectd bluetooth devices using batteries (mouse, keyboard, etc)
* Icon to edit microphone volume levels shows up automatically on the top bar when the microphone is in use
Confusing:
* "USB startup creator" doesn't let you choose a persistent partition file when creating bootable usb disks with ubuntu distros.
Usual R packages that are useful in many cases. You can install them in an R console in a terminal (Type "R" in the terminal to launch the R console), or through RStudio command line.
{CODE(colors="r", ln="1", caption="Run in an R console")}
if (!require(devtools)) install.packages("devtools"); library(devtools)
# Check Availability of package manager "PacMan" (and install it, if missing)
# if you have R < 3.5
if (version$major==3 && version$minor < 5) {
# Instal.la devtools si et cal
if (!require("devtools")) install.packages("devtools"); require("devtools")
if (!require("pacman")) {
cat("R Version: ", paste0(version$major,".",version$minor), ". ")
cat("Tens una versió de R anterior a 3.5, per tant, instal.lem la versió corresponent de PacMan (0.4.1)\n")
# Instal.la la darrera versió de pacman (0.4.1) que anava abans de la que va només amb R 3.5+ (pacman v0.5)
install_version("pacman", version = "0.4.1"); require("pacman")
}
} else {
# if you have R 3.5 or higher
if (!require("pacman")) install.packages("pacman"); require("pacman")
}
p_load("devtools", "plotly", "Nozzle.R1", "VennDiagram", "stringr", "xml2", "parallel", "data.table", "doParallel", "xtable", "plyr", "dplyr", "reshape2", "rjson", "d3heatmap", "htmlwidgets", "googleVis", "doMC", "knitr", "checkpoint", "sem", "rmarkdown", "relimp", "aplpack", "addinslist", "tidyverse", "magick", "webshot", "pacman", "officer", "flextable", "huxtable", "RODBC", "leaflet", "gitlabr", "colorspace", "mapdeck", "rsvg", "png", "cartography", "magick", "rJava", "rio", "sf", "png", "rsvg", "xml2", "sparklyr", "rgdal", "rosm", "tmap")
# library(devtools);if(!require(rCharts)) install_github('rCharts', 'ramnathv') # deprecated approach of doing fancy charts - kept here for historical purposes only
{CODE}
Ubuntu 18.04 comes with php 7.2, and some php applications might still fail with php 7.2 .Therefore, in some cases, it might be sensible to have both php 7.0 and php 5.x, so that you can choose which version to use for your needs at any time. Or even better, 7.1. You need to add a new repository to have other versions of php available, and you will require the equivalent branch for a patched apache2 that will work with the other php version repository.
You can do so with:
{CODE(colors="shell")}
xavi@computer# sudo su
root@computer# add-apt-repository ppa:ondrej/php
root@computer# add-apt-repository ppa:ondrej/apache2
root@computer# apt-get update
root@computer# apt-get install php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 php5.6-curl php5.6-gd php5.6-mcrypt php5.6-xml php5.6-xmlrpc libphp5.6-embed php-memcache php5.6-intl php5.6-zip php5.6-sqlite3 php5.6-zip
root@computer# apt-get install php7.1 php7.1-mysql php-gettext php7.1-mbstring php-xdebug libapache2-mod-php7.1 php7.1-curl php7.1-gd php7.1-mcrypt php7.1-xml php-xml-parser php7.1-xmlrpc libphp7.1-embed php-memcache php7.1-intl php7.1-zip php7.1-sqlite3 php7.1-zip
root@computer# apt-get install php7.2 php7.2-mysql php-gettext php7.2-mbstring php-xdebug libapache2-mod-php7.2 php7.2-curl php7.2-gd php7.2-xml php7.2-xmlrpc libphp7.2-embed php-memcache php7.2-intl php7.2-zip php7.2-sqlite3 php7.2-zip
root@computer# apt-get install php7.3 php7.3-mysql php-gettext php7.3-mbstring php-xdebug libapache2-mod-php7.3 php7.3-curl php7.3-gd php7.3-xml php7.3-xmlrpc libphp7.3-embed php-memcache php7.3-intl php7.3-zip php7.3-sqlite3 php7.3-zip
root@computer# apt-get install php7.4 php7.4-mysql php-gettext php7.4-mbstring php-xdebug libapache2-mod-php7.4 php7.4-curl php7.4-gd php7.4-xml php7.4-xmlrpc libphp7.4-embed php-memcache php7.4-intl php7.4-zip php7.4-sqlite3 php7.4-zip
{CODE}
Eventually Installing both php5.6 & php7.* resulted in a lot of complaining from apt and lots of conflicts. The first suggested resolution was to remove all the stock php5 packages so that PHP 5.6 could be installed - so I just accepted the first suggestion.
The config files are all in /etc/php/5.6 and /etc/php/7.* respectively - inside here is where you can configure which extensions are loaded, set the ini settings, and everything else for each version in isolation.
So to switch from php 5.6 to php 7.2 you need to do two things:
{CODE(colors="shell")}
# For php in web apps
user@computer:/# sudo a2dismod php5.6; sudo a2enmod php7.2; sudo service apache2 restart
# For php-cli in the command line
user@computer:/# sudo ln -sfn /usr/bin/php7.2 /etc/alternatives/php
user@computer:/# php -v
# PHP 7.2.x (...)
# Copyright (c) 1997-2016 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
{CODE}
or from php7.2 to php5.6:
{CODE(colors="shell")}
# For php in web apps
user@computer:/# sudo a2dismod php7.2 ; sudo a2enmod php5.6 ; sudo service apache2 restart
# For php-cli in the command line
user@computer:/# sudo ln -sfn /usr/bin/php5.6 /etc/alternatives/php
user@computer:/# php -v
# PHP 5.6.21-1+donate.sury.org~xenial+2 (cli)
# Copyright (c) 1997-2016 The PHP Group
# Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
# with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
{CODE}
From the commandline, I have both php5.6 and php7.2 available as commands. I also still have a php command - look in /etc/alternatives to see that it symlinks to a particular version of PHP cli*. You can also quickly check which yours is using by running php -v.
Remember that php.ini and other files with settings are not in /etc/php5 anymore but in /etc/php/__version__/