Instalación Ubuntu 22.04

Instalación ubuntu 20.04

SISTEMA

  • Actualizamos el sistema
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y && sudo apt-get check -y && sudo apt-get install -fy && sudo apt-get autoremove -y && sudo apt-get autoclean -y && sudo apt-get clean -y
sudo apt-get install linux-headers-`uname -r`

sudo apt install apt-transport-https
  • Traducir a español
sudo apt-get install firefox-locale-es language-pack-es language-pack-es-base  aspell-es myspell-es -y

REPOSITORIOS

  • Agregar repositorios de programas
sudo add-apt-repository ppa:ondrej/php -y 

sudo add-apt-repository ppa:libreoffice/ppa -y

sudo add-apt-repository ppa:danielrichter2007/grub-customizer -y 
  • Actualizamos
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y && sudo apt-get check -y && sudo apt-get install -fy && sudo apt-get autoremove -y && sudo apt-get autoclean -y && sudo apt-get clean -y

PROGRAMAS

  • Instalamos
sudo apt-get install gnome-shell-extensions apt-transport-https python3-minimal arj audacious apache2 audacity acetoneiso alien curl codeblocks chromium-browser cheese chromium-codecs-ffmpeg-extra deluge devede easytag fonts-noto filezilla filezilla-common grub-customizer gstreamer1.0-plugins-base gscan2pdf hardinfo inkscape lzip language-pack-gnome-es language-pack-es language-pack-kde-es lmms mixxx mysql-server mysql-client mysql-testsuite minicom openjdk-8-jdk openssh-client openssh-server p7zip p7zip-full p7zip-rar php7.4 php7.4-mysql php7.4-gd php7.4-ldap php7.4-odbc php7.4-pgsql php7.4-curl php7.4-json php7.4-sqlite3 php7.4-xml php7.4-mbstring libapache2-mod-php firefox putty ppa-purge rar rhythmbox synaptic smplayer  samba subdownloader soundconverter ttf-bitstream-vera testdisk ttf-mscorefonts-installer ubuntu-restricted-extras unrar unace unzip variety zip zlib1g libavcodec-extra libdvd-pkg sharutils uudeview cabextract file-roller ffmpeg icedax libdvd-pkg id3tool lame libxine2-ffmpeg nautilus-script-audio-convert libmad0 mpg321 gstreamer1.0-libav vlc exfat-fuse hfsplus hfsutils ntfs-3g libavcodec-extra libappindicator1 aptitude gdebi lm-sensors printer-driver-all gufw chrome-gnome-shell libreoffice git k3b  gparted gnome-tweaks chrome-gnome-shell shutter make build-essential net-tools minitube glabels terminator curl nano wget libreoffice libreoffice-l10n-es libreoffice-templates -y
  • Para soporte de cualquier tipo de partición
sudo apt-get install hfsplus hfsutils ntfs-3g
  • Instalar codecs
sudo apt-get install ubuntu-restricted-extras libavcodec-extra libdvdcss2
  • Compatibilidad con smartphone
sudo apt-get install mtp-tools ipheth-utils ideviceinstaller ifuse
  • Gestores de paquetes
sudo apt-get install gdebi gdebi-core synaptic
  • A este punto hacemos un upgrade
sudo apt update
sudo apt upgrade -y
  • Si da el error
/usr/src/libdvd-pkg/libdvdcss_1.4.2.orig.tar.bz2: La suma coincide
libdvd-pkg: `apt-get check` failed, you may have broken packages. Aborting.
  • Ejecutamos
sudo dpkg-reconfigure libdvd-pkg
  • Conpiladores y extras
sudo apt-get install build-essential
  • Si es una portatil instalar sensores
sudo apt-get install lm-sensors
  • Si vamos a trabajar con impresoras vamos a necesitar los drivers para ellas.
sudo apt-get install printer-driver-all

MYSQL Y WORKBENCH

sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
  • Buscar y comentar
bind-address		= 127.0.0.1
X
#bind-address		= 127.0.0.1
  • Reiniciar MYSQL
sudo service mysql restart
  • Abrimos otra terminal y ejecutamos
sudo mysql
  • Ejecutamos para crear contraseña a root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'remoto';
  • Creamos el usuario remoto
// Creamos el usuario remoto
CREATE USER 'remoto'@'%' IDENTIFIED BY 'remoto';

//No aplicar Modificar localhost X %
UPDATE mysql.user SET Host='%' WHERE Host='localhost' AND User='remoto';
UPDATE mysql.db SET Host='%' WHERE Host='localhost' AND User='remoto';

// Modificamos para que la conexión sea nativa
ALTER USER 'remoto'@'%' IDENTIFIED WITH mysql_native_password BY 'remoto';

// Le damos permisos a todos los esquemas
GRANT ALL PRIVILEGES ON * . * TO 'remoto'@'%';

// Recargamos los permisos
FLUSH PRIVILEGES;
  • Salimos
exit
  • Aseguramos MYSQL
mysql_secure_installation
  • Resultado
Securing the MySQL server deployment.

Enter password for user root: remoto

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: No
Using existing password for root.
Change the password for root ? ((Press y|Y for Yes, any other key for No) : No

 ... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y

 ... skipping.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.

 - Removin
  • Para poder ingresar con el usario root en workbench
sudo mysql -u root -p
  • Ejecutamos
// Modificamos para que root no sea localhost si no %
UPDATE mysql.user SET Host='%' WHERE Host='localhost' AND User='root';

UPDATE mysql.db SET Host='%' WHERE Host='localhost' AND User='root';

FLUSH PRIVILEGES;
  • Salimos de MYSQL
exit

SUBLIME-TEXT

  • Agregamos PPA
// Agregar llave
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/sublimehq-archive.gpg

// Agregar APT
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list

// Actualizar
sudo apt update -y

// Instalar
sudo apt install sublime-text
  • Ingresar a sublime text 3->Tools->Install Package Control
  • Luego ingresar a Preferences->Package Control->Digitar Install Package instalar:
    • AdvancedNewFile: permite crear nuevos archivos digitando toda la ruta
    • Alignment: permite alinear elementos
    • AutoSemiColon: corrige el punto y coma si lo colocamos en un lugar erroreneo
    • AutoFileName: permite autocomepletar nombres de carpetas y archivos
    • ApacheConf: establece un estilo de color para los archivos del apache conf
    • BracketHighlighter: marca el inicio o fin de unas llaves
    • Color Highlighter: le coloca el color a los elementos
    • EMMET: autocomplete
    • HTML5: autocompleta html5
    • sublimeCodeIntel: autocomplete JavaScript, SCSS, Python, HTML, Ruby, Python3, XML, Sass, HTML5, Perl, CSS, Twig, Less, Node.js, TemplateToolkit and PHP
    • Material Theme

Aplicar las siguientes configuraciones

Chrome

GIT

  • Configuramos
git config --global user.name "Gustavo Matamoros González"
git config --global user.email "gustavo.matamoros@gmail.com"
git config --global core.editor gedit
git config --global color.ui true
git config --global credential.helper store
git config --global push.followTags true

git config --global alias.superlog "log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all"

BASH-IT

  • Como usuario común del sistema no como root
//ingresamos a la carpeta del usuario
cd /home/tavo

// Clonamos el proyecto
git clone --depth=1 https://github.com/Bash-it/bash-it

// Ingresamos al proyecto
cd bash-it

// Instalamos
./install.sh
  • Cerramos la terminal y
  • Ejecutamos
// Habilitamos los alias para APT
bash-it enable alias apt

// Habilitamos el autocompletado para SSH
bash-it enable completion ssh

// Actualizamos
bash-it update

// Recargamos
bash-it reload

Node JS

  • Instalación de node JS
// Instalamos depdendencias 
sudo apt-get install gcc g++ make

// Solicitamos la configuración para una versión específica o la versión actual
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
o
curl -sL https://deb.nodesource.com/setup_current.x | sudo -E bash -

// Instalamos
sudo apt-get install -y nodejs
  • Verificamos la versión de node y npm
// Versión de NODE
node --version

// Versión de NPM
npm --version

Angular CLI

  • Para la instalación de Angular de forma sencilla instalamos el cliente
sudo npm i -g @angular/cli
// Instalamos
npm install @angular/cli --location=global

// ********************************************
// NOTA: si requerimos una versión específica
npm install -g @angular/cli@10 
// ********************************************

// Actualizamos NPM
npm install -g npm@8.19.2

// Probamos
ng version
  • Nos pregunta si queremos habilitar el autocompletado «Yes»
  • Nos pregunta si queremos enviar datos a google «No»
? Would you like to enable autocompletion? This will set up your terminal so pressing TAB while typing 
Angular CLI commands will show possible options and autocomplete arguments. (Enabling autocompletion will 
modify configuration files in your home directory.) Yes
Appended `source <(ng completion script)` to `/root/.bashrc`. Restart your terminal or run the following to autocomplete `ng` commands:

    source <(ng completion script)
? Would you like to share pseudonymous usage data about this project with the Angular Team
at Google under Google's Privacy Policy at https://policies.google.com/privacy. For more
details and how to change this setting, see https://angular.io/analytics. No
Global setting: disabled
Local setting: No local workspace configuration file.
Effective status: disabled

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/
    

Angular CLI: 14.2.3
Node: 18.9.1 (Unsupported)
Package Manager: npm 8.19.2 
OS: linux x64

Angular: 
... 

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.1402.3 (cli-only)
@angular-devkit/core         14.2.3 (cli-only)
@angular-devkit/schematics   14.2.3 (cli-only)
@schematics/angular          14.2.3 (cli-only)
    
Warning: The current version of Node (18.9.1) is not supported by Angular.

KVM

  • Comprobamos que el equipo soporta virtualización, nos devuelve el numero de cpu’s
grep -E -c "vmx|svm" /proc/cpuinfo
  • Instalamos
sudo apt install -y qemu qemu-kvm libvirt-daemon bridge-utils virt-manager virtinst libosinfo-bin

sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
  • Iniciamos y verificamos el servicio libvirtd
sudo systemctl status libvirtd.service
  • Iniciamos
sudo systemctl enable libvirtd --now
  • Agregamos el usuario root y TAVO al grupo
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER

FIREFOX DEVELOPER

  • Descargamos desde: descargar
  • Ingresamos a descargas
cd /home/tavo/Escritorio/
  • Descomprimimos
tar -xvf firefox-*.tar.bz2 
  • Movemos a opt
sudo -s mv firefox /opt
  • Hacemos un enlace
sudo ln -s /opt/firefox/firefox /usr/local/bin/firefox
  • Creamos una acceso directo
sudo touch /usr/share/applications/firefox-developer.desktop
  • Abrimos el archivo
sudo nano /usr/share/applications/firefox-developer.desktop
  • Agregamos
[Desktop Entry]
Name=Firefox Developer
GenericName=Firefox Developer Edition
Exec=/usr/local/bin/firefox
Terminal=false
Icon=/opt/firefox/browser/chrome/icons/default/default48.png
Type=Application
Categories=Application;Network;X-Developer;
Comment=Firefox Developer Edition Web Browser
  • Damos permisos
sudo chmod +x /usr/share/applications/firefox-developer.desktop
about:config
  • Buscamos
intl.locale.requested
  • Seleccionamos string y le ponemos
es_MX
  • Instalamos complementos (EN ambos Firefox común y developer)

https://addons.mozilla.org/en-US/firefox/addon/video-downloadhelper

https://addons.mozilla.org/en-US/firefox/addon/font-inspect

https://addons.mozilla.org/en-US/firefox/addon/wappalyzer

https://addons.mozilla.org/en-US/firefox/addon/html-validator

https://addons.mozilla.org/en-US/firefox/addon/mjsonviewer

https://addons.mozilla.org/en-US/firefox/addon/colorzilla

WPS

Onlyoffice

VISUAL CODE

  • Descargamos descargar
  • Instalamos los plugins
    • Angular Snippets
    • Angular Essentials
    • Angular Language Service: nos permite detectar errores en el template
    • TSLint (Microsoft): para sintaxis Typescript
    • C# Extensions
    • Extension Pack for Java
    • Git Graph
    • Community Server Connectors
    • Spring Boot Extension Pack
    • Java Code Generators
    • JSF Primefaces Intellisense
    • VSCode SDKUNA
    • Material Icon Theme
    • Thunder Client
    • Remote – SSH
    • Remote – SSH: Editing Configuration Files
    • Oracle Developer Tools for VS Code (SQL and PLSQL)
NOMBREEXTENSIONESDESCRIPCIÓN
Extension Pack for JavaPaquete con diversas extensiones para soporte JAVA.
Git GraphProvee una interfaz a git.
Community Server Connectors Da soporte para la ejecución de aplicaciones (war) en un servidor tomcat.
Spring Boot Extension PackPaquete con diversas extensiones para soporte de Spring.
Java Code Generators Generador de código java(set,get, constructor,….).
JSF Primefaces IntellisenseBrinda soporte de taglibs de componentes en xhtml de JSF, Primefaces y otras.
VSCode SDKUNA Brinda soporte de taglibs de componentes del SDKUNA en xhtml.Da la funcionalidad de poder ejecutar comandos maven y tomcat desde el menú contextual “UNA”.Carga los Keyboard Shortcuts similares a los utilizados en Apache Netbeans.
Material Icon Theme(Opcional)Provee una gana de iconos para archivos y carpetas en el tema de VSCode.
Thunder Client(Opcional)Cliente para realización de consultas Rest API, siminar a Postman.
Remote – SSHRemote – SSH: Editing Configuration Files (Opcional) Permite, mediante una conexión SSH, la gestión y trabajo remotamente. Es una buena opción si se desea utilizar la máquina virtual para trabajar. Se trabaja en la máquina local con las fuentes y configuración de la virtual.
Oracle Developer Tools for VS Code (SQL and PLSQL)(Opcional) Cliente para la administración de base de datos Oracle (Siminar al SQLDeveloper).Requiere dotnet-sdk

Instalación de .NET donet

  • Instalamos
sudo apt update && sudo apt install dotnet6

Instalar draw.io

OPERA

Java CGI

  • https://linuxhint.com/install-java-ubuntu-22-04/
// Instalamos OpenJDK 18 
sudo apt install -y openjdk-18-jdk

// Instalamos OpenJDK 18 JRE
sudo apt install -y openjdk-18-jre

// Java SE Development Kit 18
// Dependencias
sudo apt install -y libc6-x32 libc6-i386

// Descargamos de la página oficial
// https://www.oracle.com/java/technologies/downloads/
//Descargamos
 wget https://download.oracle.com/java/19/latest/jdk-19_linux-x64_bin.deb

//Instalamos
sudo apt install ./jdk-19_linux-x64_bin.deb

// Verificamos las versiones
java -version
javac -version

// Para saber donde esta instalado
whereis java

// Resultado
java: /usr/bin/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz
  • Para administrar las diferentes versiones de java instaladas podemo ejecutar
sudo update-alternatives --config java
  • Nos muestra
  Selección   Ruta                                            Prioridad  Estado
------------------------------------------------------------
  0            /usr/lib/jvm/java-18-openjdk-amd64/bin/java      1811      modo automático
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      modo manual
* 2            /usr/lib/jvm/java-18-openjdk-amd64/bin/java      1811      modo manual
  3            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      modo manual
  • Establecemos java-18-openjdk-amd64 como principal y compiamos la ruta del java para /usr/lib/jvm/java-18-openjdk-amd64/bin/java
Pulse <Intro> para mantener el valor por omisión [*] o pulse un número de selección: 2

Variable JAVA_HOME

  • Para crear la variable JAVA_HOME abrimos
sudo nano /etc/environment
  • Agregamos al final del archivo
JAVA_HOME="/usr/lib/jvm/java-18-openjdk-amd64"
  • Recaragamos
source /etc/environment
  • Ejecutamos
echo $JAVA_HOME
  • Resultado
/usr/lib/jvm/java-18-openjdk-amd64

JAVA- VS CODE

  • Para configurar VS Code para ejecutar java debemos tener instalado el plugin «Extension Pack for Java»

Apache Maven

  • Instalamos
  • https://es.linuxcapable.com/how-to-install-apache-maven-on-ubuntu-22-04-lts/
// Instalamos Maven
sudo apt install maven -y

// Verificamos la versión
mvn -version

// Verificamos donde esta instalado
whereis maven

// Resultado
maven: /etc/maven /usr/share/maven

Apache Tomcat.

  • Podemos buscar cuales versiones de tomcat están disponibles
sudo apt-cache search tomcat
  • Instalamos
sudo apt install tomcat9 tomcat9-admin
  • Podemos verificar el puerto 8080
ss -ltn
  • Y podemos probar el funcionamiento en:
  • http://127.0.0.1:8080

VIRTUALBOX

  • Instalamos virtualBox: descargar
  • Añadir el usuario al grupo vboxusers para corregir problema de USB
sudo adduser nombre_usuario vboxusers
sudo adduser tavo vboxusers

NEXCLOUD

sudo add-apt-repository ppa:nextcloud-devs/client -y
sudo apt-get update
sudo apt install nextcloud-client -y

APACHE Y PHP

  • Configuramos apache
  • Le damos permisos de escritura a la carpeta «html»
sudo chmod 777 -R /var/www/html
  • Establecer codificación UTF-8
sudo gedit /etc/apache2/conf-enabled/charset.conf
  • Descomentar la línea:
#AddDefaultCharset UTF-8
X
AddDefaultCharset UTF-8
  • Reiniciar apache
sudo service apache2 restart
  • Creamos 2 carpetas en el escritorio
sudo mkdir /home/nombre_usuario/Escritorio/session
sudo mkdir /home/nombre_usuario/Escritorio/errores

sudo mkdir /home/tavo/Escritorio/session
sudo mkdir /home/tavo/Escritorio/errores
  • Le damos permisos a las carpetas
sudo chmod 777 /home/nombre_usuario/Escritorio/session
sudo chmod 777 /home/nombre_usuario/Escritorio/errores

sudo chmod 777 /home/tavo/Escritorio/session
sudo chmod 777 /home/tavo/Escritorio/errores
  • Downgrade php 8 to 7.4
sudo add-apt-repository ppa:ondrej/php -y
sudo apt-get update
sudo apt-get install php7.4
sudo apt-get install php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-mysql php7.4-mbstring  php7.4-zip php7.4-fpm php7.4-intl php7.4-simplexml libapache2-mod-php  php7.4-xml php7.4-xmlrpc php7.4-curl php7.4-gd php7.4-imagick php7.4-cli php7.4-dev php7.4-imap php7.4-mbstring php7.4-opcache php7.4-soap php7.4-zip php7.4-intl php-imagick php7.4-bcmath php7.4-gmp php8.1-imagick

sudo apt-get install php8.2
sudo apt-get install php8.2-cli php8.2-common php-json php8.2-opcache php8.2-mysql php8.2-mbstring  php8.2-zip php8.2-fpm php8.2-intl php8.2-simplexml libapache2-mod-php  php8.2-xml php-xmlrpc php8.2-curl php8.2-gd php8.2-cli php8.2-dev php8.2-imap php8.2-mbstring php8.2-opcache php8.2-soap php8.2-zip php8.2-intl php-imagick php8.2-bcmath php8.2-gmp


sudo a2dismod php8.1

sudo a2enmod php7.4

sudo service apache2 restart 

sudo update-alternatives --set php /usr/bin/php7.4
sudo update-alternatives --set phar /usr/bin/phar7.4
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.4
sudo update-alternatives --set phpize /usr/bin/phpize7.4
sudo update-alternatives --set php-config /usr/bin/php-config7.4

php -v
  • Abrimos el archivo de configuración
sudo gedit /etc/php/7.4/apache2/php.ini
  • Modificamos
max_execution_time = 30
X
max_execution_time = 60
-----------------------------------------------------------------------
;error_log = syslog
X
error_log = /home/tavo/Escritorio/errores/errores.txt
-----------------------------------------------------------------------
post_max_size = 8M
X
post_max_size = 30M
-----------------------------------------------------------------------
upload_max_filesize = 2M
X
upload_max_filesize = 25M
  • Reiniciamos apache
sudo service apache2 restart 
  • Agregamos el usuario «tavo» al grupo www-data
sudo usermod -a -G www-data tavo
sudo chmod 777 -R /var/www/html
  • Instalamos
sudo apt install ca-certificates apt-transport-https acl git
  • Verificar versión de php
php -v
  • Módulos
sudo a2enmod ssl
sudo a2enmod headers
sudo a2enmod rewrite
sudo systemctl restart apache2

TEMAS

  • Creamos dentro de «/home/nombre_usuario/» una carpeta oculta de nombre «.themes»
  • Y otra «.icons»
mkdir /home/tavo/.themes
mkdir /home/tavo/.icons
  • Descargamos los siguientes temas: descargar y los colocamos en la carpeta «.themes»
  • Descargamos los siguientes iconos descargar y los colocamos en la carpeta «.icons»

programas 4k