AppImage – Linux apps that run anywhere

Linux apps that run anywhere

“As a user, I want to download an application from the original author, and run it on my Linux desktop system just like I would do with a Windows or Mac application.””As an application author, I want to provide packages for Linux desktop systems, without the need to get it ‘into’ a distribution and without having to build for gazillions of different distributions.”

AppImage is an universal software package format that can be installed on any Linux OS without going through the traditional way of installation. It doesn’t require any root permission to install the software.

To install An AppImage, all you need to do is make it executable and run it. It is a compressed image with all the dependencies and libraries needed to run the desired software.

So there is no extraction, no installation needed. You can uninstall it by deleting it. Just compare it to .exe in Windows that can run without installing it.

Some notable features of AppImage are:

  • It can run on various different Linux distributions also on not so popular like Gentoo, Arch, Suse etc.
  • There’s no need for installing and compiling software
  • There’s no need for root permission and it’s Portable
  • Software is uninstalled just by deleting the AppImage file itslef

Since an AppImage is not “installed”, you don’t need to “uninstall” it. Just delete the AppImage file and the application is gone. Additionally you may want to remove menu entry by deleting the desktop file from $HOME/.local/share/applications/.

Files and directories with names starting with a full stop (dot) (.example) are hidden – you might need to turn hidden files visible. You can probably find it somewhere in the settings of the file manager.

Using Terminal

Open any Terminal of your choice, head over to the app image directory and run:

chmod u+x <AppImageFileName>

Then you can now double click to run it, just like any other files on Windows.

Android Security – Things to do once your device is compromised

We all know that in this world of internet connectivity, things can easily get compromised, and yes as the title suggests we are talking about Android devices. Now we know that every 8 out of the 10 smartphones on the planet is an Android, in real life it’s more than 85% and the number keeps on growing.

Android by far is secure in nature as it has inbuilt features that makes it formidable since it’s Linux inherited after all, i mean Android is nothing but a Linux kernel on which there are fancy tech things like SE-Linux etc, well I ain’t going too deep here but now shall start to mention few ways of making Android or rather getting the same old feeling that one gets before his/her phone got hacked, yeah i understand that. The bad vibes and the frustration you have when your device is not working smoothly or up-to the mark.

Use AV software’s:-

Yeah those antivirus software, use the free ones, it can be anything or any good old AV which can or is your fav, yeah windows fans i do get you antivirus’s does help in the Android world well sometimes, so get one and you’re good to go. Quick hint:- use the ones most popular like Quick Heal if you’re residing in India or Kaspersky, Avast Total Security. Make sure if you’re opting in for a paid solution then you’re secured the most as the complete suite makes sense here, however free ones sometimes do the magic well too in detecting the heuristics and the false positives.

Use Anti-malware software tools like the popular and my favorite “Malwarebytes” which is also the first line of defense for any malwares like Rootkits, Worms and also damn those nasty Ransomware’s too.

The other thing is “if you do not trust any link simply do not click” as this is the golden rule of thumb.

Avoid opening any suspicious emails coming from an unknown source and if you receive any text messages, SMS’s etc the short links make sure to use or confirm where the complete links finally redirects to and if possible you can quickly find out the origin here. Some services worth looking for are here. or can come handy for the day.

Also Scan the app’s from the inbuilt Google play store the feature is known as “Google Play Protect” it’s free and very reliable and make sure to turn off the installation from third party sources and also do not install the apps which you do not trust, even if it’s coming from a friend or a close acquaintances.

If nothing works out of the box then just take the backup of as much as you can and then simply format or factory reset your Android device. This shall be the final and the last resort but make sure you get almost 100% backup if possible again this is in theory but golden rule of backup shall be adhered to and be followed and make this as a practice.

Recover Windows 7 boot after installing Ubuntu

This seems to be self explanatory just insert the Win 7 CD and follow the below given instructions and then enter the commands one by one as mentioned below strictly without missing anyone of them.

Select your language preferences and click on Next.

Click on Repair your computer.

Select which operating system you want to restore and the click on Next. If Windows 7 is not listed here, or it is blank, then it is ok. Click on Next anyway.

Select the system recovery option you want to do:

Startup Repair

System Restore

System Image Recovery

Windows Memory Diagnostic

Command Prompt

If you managed to recover Windows 7, will have lost Grub should reinstall.

Insert the Ubuntu Desktop live-disc into the DVD drive and restart the computer.

Select Try it.

Open a terminal.

Run it:

sudo -i
fdisk -l
#Suppose fdisk informs your partition / is /dev/sda3, continue running
mount /dev/sda3 /mnt
mount --bind /dev /mnt/dev 
mount --bind /dev/pts /mnt/dev/pts
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
grub-mkconfig -o /boot/grub/grub.cfg
grub-install --root-directory=/mnt /dev/sda
grub-install --recheck /dev/sda
umount /mnt

That’s it.

via – arch wiki & Microsoft forums.

Install Ubuntu 18.04 desktop with RAID 1 and LVM on machine with UEFI BIOS

Query Answered in great details:-

1. Download the installer

2. Install with manual partitioning

  • During install, at the Partition disks step, select Manual.
  • If the disks contain any partitions, remove them.
    • If any logical volumes are present on your drives, select Configure the Logical Volume Manager.
      • Choose Delete logical volume until all volumes have been deleted.
      • Choose Delete volume group until all volume groups have been deleted.
    • If any RAID device is present, select Configure software RAID.
      • Choose Delete MD device until all MD devices have been deleted.
    • Delete every partition on the physical drives by choosing them and selecting Delete the partition.
  • Create physical partitions
    • On each drive, create a 512MB partition (I’ve seen others use 128MB) at the beginning of the disk, Use as: EFI System Partition.
    • On each drive, create a second partition with ‘max’ size, Use as: Physical Volume for RAID.
  • Set up RAID
    • Select Configure software RAID.
    • Select Create MD device, type RAID1, 2 active disks, 0 spare disks, and select the /dev/sda2 and /dev/sdb2 devices.
  • Set up LVM
    • Select Configure the Logical Volume Manager.
    • Create volume group vg on the /dev/md0 device.
    • Create logical volumes, e.g.
      • swap at 16G
      • root at 35G
      • tmp at 10G
      • var at 5G
      • home at 200G
  • Set up how to use the logical partitions
    • For the swap partition, select Use as: swap.
    • For the other partitions, select Use as: ext4 with the proper mount points (/, /tmp, /var, /home, respectively).
  • Select Finish partitioning and write changes to disk.
  • Allow the installation program to finish and reboot.

If you are re-installing on a drive that earlier had a RAID configuration, the RAID creation step above might fail and you never get an md device. In that case, you may have to create a Ubuntu Live USB stick, boot into that, run gparted to clear all your partition tables, before you re-start this HOWTO.

3. Inspect system

  • Check which EFI partition has been mounted. Most likely /dev/sda1. mount | grep boot
  • Check RAID status. Most likely it is synchronizing. cat /proc/mdstat

4. Clone EFI partition

The EFI bootloaded should have been installed on /dev/sda1. As that partition is not mirrored via the RAID system, we need to clone it.

sudo dd if=/dev/sda1 of=/dev/sdb1

5. Insert second drive into boot chain

This step may not be necessary, since if either drive dies, the system should boot from the (identical) EFI partitions. However, it seems prudent to ensure that we can boot from either disk.

  • Run efibootmgr -v and notice the file name for the ubuntu boot entry. On my install it was \EFI\ubuntu\shimx64.efi.
  • Run sudo efibootmgr -c -d /dev/sdb -p 1 -L "ubuntu2" -l \EFI\ubuntu\shimx64.efi. Depending on your shell, you might have to escape the backslashes.
  • Verify with efibootmgr -v that you have the same file name for the ubuntu and ubuntu2 boot items and that they are the first two in the boot order.
  • Now the system should boot even if either of the drives fail!

7. Wait

If you want to try to physically remove or disable any drive to test your installation, you must first wait until the RAID synchronization has finished! Monitor the progress with cat /proc/mdstat However, you may perform step 8 below while waiting.

8. Remove BTRFS

If one drive fails (after the synchronization is complete), the system will still boot. However, the boot sequence will spend a lot of time looking for btrfs file systems. To remove that unnecessary wait, run

sudo apt-get purge btrfs-progs

This should remove btrfs-progs, btrfs-tools and ubuntu-server. The last package is just a meta package, so if no more packages are listed for removal, you should be ok.

9. Install the desktop version

Run sudo apt install ubuntu-desktop to install the desktop version. After that, the synchronization is probably done and your system is configured and should survive a disk failure!

10. Update EFI partition after grub-efi-amd64 update

When the package grub-efi-amd64 is updated, the files on the EFI partition (mounted at /boot/efi) may change. In that case, the update must be cloned manually to the mirror partition. Luckily, you should get a warning from the update manager that grub-efi-amd64 is about to be updated, so you don’t have to check after every update.

10.1 Find out clone source, quick way

If you haven’t rebooted after the update, use

mount | grep boot

to find out what EFI partition is mounted. That partition, typically /dev/sdb1, should be used as the clone source.

10.2 Find out clone source, paranoid way

Create mount points and mount both partitions:

sudo mkdir /tmp/sda1 /tmp/sdb1
sudo mount /dev/sda1 /tmp/sda1
sudo mount /dev/sdb1 /tmp/sdb1

Find timestamp of newest file in each tree

sudo find /tmp/sda1 -type f -printf '%T+ %p\n' | sort | tail -n 1 > /tmp/newest.sda1
sudo find /tmp/sdb1 -type f -printf '%T+ %p\n' | sort | tail -n 1 > /tmp/newest.sdb1

Compare timestamps

cat /tmp/* | sort | tail -n 1 | perl -ne 'm,/tmp/(sd[ab]1)/, && print "/dev/$1 is newest.\n"'

Should print /dev/sdb1 is newest (most likely) or /dev/sda1 is newest. That partition should be used as the clone source.

Unmount the partitions before the cloning to avoid cache/partition inconsistency.

sudo umount /tmp/sda1 /tmp/sdb1

10.3 Clone

If /dev/sdb1 was the clone source:

sudo dd if=/dev/sdb1 of=/dev/sda1

If /dev/sda1 was the clone source:

sudo dd if=/dev/sda1 of=/dev/sdb1



Success rate upto 90% as per Niclas Börlin’s answer @askubuntu.

Ubuntu Desktop 18.04 LTS not able to detect Samsung PCIe NVME SSD

Well after a lot of google search, I’ve come across this post. The issue was at the BIOS level, in case of Dell desktops and laptops

  • one has to set the SATA mode to AHCI rather than the default Raid On. If you don’t follow the above post
  • your machine won’t boot Windows 10 as the AHCI driver is by default not installed. That’s why one need to go into the safemode first then make the changes in BIOS and then disable the safemode. Being in the safemode
  • it installs the AHCI drivers via which O/S can talk to the drives. After this I booted via the live USB and i can see the Samsung PCIe NVME SSD being visible from the gparted.

Connecting Bluetooth Peripherals via terminal in Linux

Let’s say you’re device has a Bluetooth installed and wanna play around it with the terminal rather than a boring GUI which not so cool people do, you know what I’m saying geeks here like to play with the terminal right 🙂

Before start, make sure your device has a Bluetooth interface or else get a cheap USB Bluetooth dongle.

$ sudo apt install bluetooth

This will install bluetoothctl and bluetoothd.
Start the bluetooth service.

$ sudo service bluetooth start
$ sudo bluetoothctl
[bluetooth] agent on
[bluetooth] default-agent
[bluetooth] scan on
[bluetooth] devices
[bluetooth] pair <bluetooth_mac_address>

If you’re pairing a Bluetooth keyboard, it will show a key to pair the keyboard. Type that key using the Bluetooth keyboard and press enter key to get paired. Finally,

[bluetooth] connect <bluetooth_mac_address>

Reset a root password in Ubuntu

This issue was raised to me by my friend once and i didn’t paid a heed to this for like few years unless it so happened that I, myself forgot the admin password of my Ubuntu box and got wondering to to fix that. Here is a simple how to:

Boot up the machine, and after the BIOS screen, hold down the left Shift key (note that for UEFI BIOS you might need press ESC instead). You will then be prompted by a menu that looks something like this:

Go down hit the down arrow hey and select the recovery mode option.

You should now see a root prompt, something like this:


At this stage you should have a read-only filesystem. You have to remount it with write permissions:

mount -o remount,rw /

Now we can set the user’s password with the passwd command. (In this example I will use akash as the example, you need to substitute whatever the user’s username is):

root@ubuntu:~# passwd akash
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

That’s it.