find . -name '*.jpg' -execdir mogrify -resize 820x {} +
Category: Linux terminal
Install LAMP server on Ubuntu
All the components of the LAMP server are available to install using the default system repository of Ubuntu. Hence, we can configure the environment without adding an extra repository. However, before moving forward, just run the system update command to ensure the system rebuilds the APT package index cache.
sudo apt update
Install Lamp server
We can install LAMP server components one by one on our Ubuntu system. However, it is a time-consuming process, hence to make it short here we are using a single command. That will not only install the LAMP server but also enable and start all the required services.
sudo apt install lamp-server^ php
The above command will select all the required packages to set up Apache, MySQL, and PHP on your system.
Uninstall the LAMP Server
Well, when it comes to uninstalling the LAMP server completely from your Ubuntu system, we can use the given command:
sudo apt autoremove --purge apache2* mysql-server* php*
How to Convert PNG, JPEG to WebP in Linux?
Webp is an open-source image format in Linux which supports lossless and lossy compression for images on the web.
One of the best practices to optimize the website performance is using compressed images.
This article will cover how to use webp image format for creating compressed and quality images for the website.
Installation
The webp package is already available in the official ubuntu repositories. Run the command below to update the Ubuntu repository to the latest index and install webp package.
sudo apt install webp
Converting image to webp format
Using the cwebp tool, an image can be converted into webp format. Run the cwebp command with option -q to define the quality of image and -o to define the output file.
In this example, I have used image file linux.png and linux.jpeg file to convert in webp format. You can choose your image name accordingly.
cwebp -q 60 linux.png -o linux.webp
cwebp -q 60 linux.jpeg -o linux1.webp
Converting webp image to png and jpeg format
In the previous step, we converted jpeg and png images to webp using cwebp utility tool. Now we will use the dwebp tool to convert webp images into png and jpeg format.
Use the dwep command with the option -o to create png and jpeg image format from webp. In the example, image.webp is used for the conversion.
dwep image.webp -o image.png
dwep image.webp -o image.jpeg
How to enable remote connections to MySQL server
Enabling remote connections to a MySQL server involves a few steps:
1. Configure MySQL Server
By default, MySQL server is configured to listen to the loopback IP address 127.0.0.1, which means it only accepts connections from the local machine. To allow remote connections, you need to modify the MySQL configuration file (my.cnf or my.ini or 50-server.cnf), typically located in /etc/mysql/ or /usr/local/mysql/etc/ or /etc/mysql/mariadb.conf.d.
Look for the following line in the configuration file:
bind-address = 127.0.0.1
And change it to:
bind-address = 0.0.0.0
This allows the MySQL server to listen on all available network interfaces.
2. Grant remote access to MySQL user
By default, MySQL server creates a user root with full administrative privileges, but it only allows access from the local machine. To enable remote access for this user, you need to grant it permission to connect from a remote IP address.
Log in to the MySQL server as root user and execute the following command:
GRANT ALL ON . TO 'root'@'%' IDENTIFIED BY 'yourpassword';
This grants the user root access to all databases and tables from any IP address (%). Replace ‘yourpassword‘ with a secure password of your choice.
3. Restart MySQL server
After modifying the configuration file and granting remote access to the user, you need to restart the MySQL server to apply the changes.
On Ubuntu or Debian, use the following command:
sudo service mysql restart
On CentOS or Fedora, use:
sudo systemctl restart mysqld
4. Open MySQL port on firewall
If you have a firewall running on the MySQL server, you need to open the port that MySQL server is listening on (usually port 3306) to allow incoming connections.
On Ubuntu or Debian, use the following command to open the port:
sudo ufw allow 3306/tcp
On CentOS or Fedora, use:
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
Once you have completed these steps, you should be able to connect to the MySQL server remotely using the root user and the password you set in step 2.
However, note that allowing remote access to the MySQL server can pose a security risk if not properly secured.
Therefore, it is recommended to only allow connections from trusted IP addresses and to use a secure password.
Install Wireguard on Debian 11
First update package list and upgrade your operating system:
sudo apt update && sudo apt upgrade
To install Wireguard use command:
sudo apt install wireguard
Now check if Wireguard installed correct:
sudo modprobe wireguard
If this command dose not show anything, Wireguard installed correct. If You get error like this: modprobe: FATAL: Module wireguard not found in directory /lib/modules/4.19.0-12-686, install this package:
sudo apt install linux-headers-$(uname --kernel-release)
How to check an hard drive health in Linux using smartctl
The smartmontools package is generally available in the default repositories of all the major Linux distributions. It contains two utilities useful to check the status of storage with S.M.A.R.T support (Self Monitoring Analysis and Reporting Technology): smartcl and smartd.
The former is the utility we use directly to check S.M.A.R.T attributes, run tests, or perform other actions; the latter is the daemon which can be used to schedule operations in the background.
Tu install smartmontools use command:
sudo apt install smartmontools
Checking if SMART is enabled
Let’s become familiar with the smartctl utility. The first thing we want to check is if S.M.A.R.T support is active on the device. To perform this operation we can run the smartctl utility with the -i option (short for –info):
sudo smartctl -i /dev/sda
If SMART support is disabled we need to enable it:
sudo smartctl -s on /dev/sda
Getting S.M.A.R.T information with smartctl
To get information about hard drive /dev/sda use command:
sudo smartctl -a /dev/sda
Very important parameters to check are, among the others, “Reallocated_Sector_Ct” and “Current_Pending_Sector”. In both cases if the RAW_VALUE is something other than 0, we should be very careful and start to backup data on the hard drive. The Reallocated_Sector_Ct is the count of sectors on the block device which cannot be used correctly.
When such a sector is found it is remapped to one of the available spare sectors of the storage device, and data contained in it is relocated. The Current_Pending_Sector attribute, instead, is the count of bad sectors that are still waiting to be remapped. If you want to know more about the S.M.A.R.T attributes and their meaning, you can begin to take a look at the Wikipedia S.M.A.R.T page.
Change VGA resolution in Linux
1.First create modeline with your resolution
cvt 1680 1050
This will create modeline for resolution of 1600×900 which will look something like this:
1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
2. To add this resolution to monitor settings, type the following command:
xrandr --newmode "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
3. Next show your monitors list and find name of your monitor (VGA-1)
xrandr --listmonitors
3. And next write this command:
xrandr --addmode VGA-1 "1680x1050_60.00"
4. In Linux Mint, xorg.conf is not present by default and has to be created. This can be created only when x server is not working ie. in console mode otherwise system will give error. Type these highlighted commands one by one in console mode:
Alt+Ctrl+F1 (switch to console mode)
sudo service lightdm stop (For Mint 12 Lisa users)
or
sudo service mdm stop (For Mint 13 Maya users)
sudo X -configure (generates new xorg.conf file)
5. To switch back to graphical mode, type:
sudo start lightdm (Mint 12 Lisa users)
sudo service mdm start (Mint 13 Maya users)
If above commands fail to bring back graphical mode, just restart your computer.
How to install zsh on Debian, Ubuntu or Linux Mint
Zsh is a shell designed for interactive use, although it is also a powerful scripting language.
To install Zsh on Debian, Ubuntu or Linux Mint use command:
sudo apt install zsh
Next install “Oh My Zsh” – delightful, open source, community-driven framework for managing your Zsh configuration. Use command:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
If you want to change zsh theme go to: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
In order to enable a theme, set ZSH_THEME
to the name of the theme in your ~/.zshrc
nano ~/.zshrc
Some themes need custom fonts, install it from git: https://github.com/powerline/fonts
git clone https://github.com/powerline/fonts.git --depth=1 cd fonts ./install.sh
KDE change application launcher
1. Download new application launcher from site: https://store.kde.org/browse?cat=398&ord=latest
2. Run command:
plasmapkg2 --install LauncherName.tar.gz
If you want to upgrade launcher to new version use command:
plasmapkg2 --upgrade LauncherName.tar.gz
3. Right click on Start Menu icon > Show alternatives > Select LauncherName
If you want to uninstall launcher use command:
plasmapkg2 --remove LauncherName.tar.gz
Setup Proxmox cluster
1. First download official ISO image from Proxmox website: https://www.proxmox.com/

2. Write ISO image to USB flash drive using program Etcher: https://www.balena.io/etcher/

3. Boot PC from USB drive and install Proxmox. If you have two hard drives you can use ZFS file system to create RAID array.
Now log in to Proxmox admin panel using Web-browser: https://server-ip-address:8006

After installation we need to upgrade our system. Proxmox based on Debian GNU Linus and it use Debian repositories but in free version of Proxmox we will have an error when we try to upgrade. We need to disable enterprise Proxmox repositories. Open file /etc/apt/sources.list.d/pve-enterprise.list and comment with symbol # first line with enterprise Proxmox repository.
nano /etc/apt/sources.list.d/pve-enterprise.list
Then we can update packages list and upgrade our system:
apt update apt upgrade
After installation let’s configure Local storage.
In admin panel go to Datacenter -> Storage, select local-lvm storage and click Remove

After that go to your Node -> Shell and write next commands:
lvremove /dev/pve/data lvresize -l +100%FREE /dev/pve/root

And the last command to resize our local storage to 100% is:
resize2fs /dev/mapper/pve-root
Done, now we can use 100% of local storage, installed in our server. If you click on local storage you can see entire size of hard drive.

To remove the “You do not have a valid subscription for this server” popup message while logging in, run the command bellow:
sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service