Tool #1: https://www.webpagetest.org/
Tool #2: https://gtmetrix.com/
You need to install your graphics drivers.
On your login page, press CTRL+ALT+F2
Enter your credentials and use the below commands (if you’re using Nvidia graphics card)
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update sudo apt-get install nvidia-390
If you’re using some other graphics card then use the related command.
Brief: This article explains the difference between apt and apt-getcommands of Linux. It also lists some of the most commonly used apt commands that replace the older apt-get commands.
One of the noticeable new features of Ubuntu 16.04 was the ‘introduction’ of apt command. The reality is that the first stable version of apt was released in the year 2014 but people started noticing it in 2016 with the release of Ubuntu 16.04.
It became common to see
apt install package instead of the usual
apt-get install package. Eventually, many other distributions followed Ubuntu’s footsteps and started to encourage users to use apt instead of apt-get.
You might be wondering what’s the difference between apt-get and apt? And if they have a similar command structure, what was the need for the new apt command? You might also be thinking if apt is better than apt-get? Should you be using the new apt command or stick with the good old apt-get commands?
I’ll explain all these questions in this article and I hope that by the end of this article, you’ll have a clearer picture.
Just a quick word for Linux Mint users. A few years ago, Linux Mint implemented a python wrapper called apt that actually uses apt-get but provides more friendly options. This apt which we are discussing here is not the same as the one in Linux Mint.
Before we see the difference between apt and apt-get, let’s go into the backdrop of these commands and what exactly they try to achieve.
Debian, mother Linux of distributions like Ubuntu, Linux Mint, elementary OS etc, has a robust packaging system and every component and application is built into a package that is installed on your system. Debian uses a set of tools called Advanced Packaging Tool (APT) to manage this packaging system. Don’t confuse it with the command apt, it’s not the same.
There are various tools that interact with APT and allow you to install, remove and manage packages in Debian based Linux distributions. apt-get is one such command-line tool which is widely popular. Another popular tool is Aptitude with both GUI and command-line options.
If you have read my guide on apt-get commands, you might have come across a number of similar commands such as apt-cache. And this is where the problem arises.
You see, these commands are way too low level and they have so many functionalities which are perhaps never used by an average Linux user. On the other hand, the most commonly used package management commands are scattered across apt-get and apt-cache.
The apt commands have been introduced to solve this problem. apt consists some of the most widely used features from apt-get and apt-cache leaving aside obscure and seldom used features. It can also manage apt.conf file.
With apt, you don’t have to fiddle your way from apt-get commands to apt-cache. apt is more structured and provides you with necessary options needed to manage packages.
Bottom line: apt=most common used command options from apt-get and apt-cache.
So with apt, you get all the necessary tools in one place. You won’t be lost under tons of command options. The main aim of apt is to provide an efficient way of handling package in a way “pleasant for end users”.
When Debian says “pleasant for end users”, it actually means that. It has fewer but sufficient command options but in a more organized way. On top of that, it enables a few options by default that is actually helpful for the end users.
For example, you get to see the progress bar while installing or removing a program in apt.
apt also prompts you with the number of packages that can be upgraded when you update the repository database.
You can achieve the same with apt-get as well if you use additional command options. apt enables them by default and takes the pain away.
While apt does have some similar command options as apt-get, it’s not backward compatible with apt-get. That means it won’t always work if you just replace the apt-get part of an
apt-get command with apt.
Let’s see which apt command replaces which apt-get and apt-cache command options.
|apt command||the command it replaces||function of the command|
|apt install||apt-get install||Installs a package|
|apt remove||apt-get remove||Removes a package|
|apt purge||apt-get purge||Removes package with configuration|
|apt update||apt-get update||Refreshes repository index|
|apt upgrade||apt-get upgrade||Upgrades all upgradable packages|
|apt autoremove||apt-get autoremove||Removes unwanted packages|
|apt full-upgrade||apt-get dist-upgrade||Upgrades packages with auto-handling of dependencies|
|apt search||apt-cache search||Searches for the program|
|apt show||apt-cache show||Shows package details|
apt has a few commands of its own as well.
|new apt command||function of the command|
|apt list||Lists packages with criteria (installed, upgradable etc)|
|apt edit-sources||Edits sources list|
One point to note here is that apt is under continuous development. So you may see a few new options added to the command in the future versions.
If you are interested in learning more, I recommend reading my guide that shows how to use apt commands with examples.
I didn’t find any information that says that apt-get will be discontinued. And it actually shouldn’t be. It still has a lot more functionalities to offer than apt.
For low-level operations, in scripting etc, apt-get will still be used.
You might be thinking if you should use apt or apt-get. And as a regular Linux user, my answer is to go with apt.
apt is the command that is being recommended by the Linux distributions. It provides the necessary option to manage the packages. Most important of all, it is easier to use with its fewer but easy to remember options.
I see no reason to stick with apt-get unless you are going to do specific operations that utilize more features of apt-get.
I hope I was able to explain the difference between apt and apt-get. In the end, to summarize the apt vs apt-get debate:
So what do you think? Are you already using apt or do you want to stick with the good old apt-get? Share your views in the comment section below.
Starting with the Windows 10 Creators Update, anyone who installs the Bash environment will get Ubuntu 16.04 (Xenial). But, if you’ve previously installed Bash in the Anniversary Update, you’ll be stuck with Ubuntu 14.04 (Trusty) until you manually upgrade.
Ubuntu 16.04 contains more modern, up-to-date software packages. Ubuntu 14.04 was originally released in April, 2014, while Ubuntu 16.04 was released in April, 2016.
Update: Starting with the Fall Creators Update, Linux distributions are now delivered via the Store. If you previously installed the Ubuntu Bash environment, just open the Microsoft Store, search for “Ubuntu”, and install it to get the latest version.
If you’re not sure which version of Ubuntu is being used in your current Bash environment, open a Bash window and run the following command:
It’ll show you whether you’re running Ubuntu 14.04 or Ubuntu 16.04. If you’re running Ubuntu 14.04 and want to upgrade, read on. But ensure you have the Creators Update installed: You can’t upgrade to Ubuntu 16.04 LTS without upgrading to the Creators Update first.
If you don’t care about any customizations you’ve made to your bash environment (or you’re prepared to customize it again), you don’t have to worry about performing an Ubuntu upgrade. You can simply remove your current Ubuntu image and then tell Windows to reinstall a new Ubuntu image. This is the fastest way to upgrade your Bash environment.
To do this, first open a Command Prompt window by right-clicking the Start button or pressing Windows+X on your keyboard and selecting “Command Prompt”. Run the following command to uninstall the Bash shell. This will keep your Linux user account’s files and preferences, but will erase the system files, including any installed programs and system-level settings changes.
y to continue and Windows will uninstall the Ubuntu 14.04 Bash environment.
Your Bash system files are now removed. To reinstall Bash—which will give you Ubuntu 16.04 instead of Ubuntu 14.04—run the following command:
y to continue and Windows will install the Ubuntu 16.04 Bash environment. Windows will automatically suggest you use the same username you used previously. You’ll be asked to enter a password after.
When it’s done, run the
lsb_release -a command once again and you’ll see you’re now using Ubuntu 16.04. You have access to the newer software available in Ubuntu 16.04’s package repositories.
If you’ve customized your Bash environment and installed software, you may not want to completely erase everything. In this case, you can perform an upgrade command from within the Bash shell. This will upgrade Ubuntu from version 14.04 to 16.04, just like you’d upgrade a full Ubuntu environment to a new release. However, this will take longer than simply removing and reinstalling the Bash files.
To do this, open the Bash shell and run the following command:
This is the process officially recommended by Microsoft.
This tutorial represents a practical excerpt on how to migrate (also known as cloning) a Windows 10 Operating System from a large HDD with multiple partitions, such as
D:, to a smaller SSD using a Linux distribution which includes Clonezilla utility.
Clonezilla utility can run from PartedMagic Linux distribution CD ISO image or directly from Clonezilla Linux distribution CD ISO image.
This guide assumes that both disks (old HDD and SSD) are physically plugged-in into your machine simultaneously and Windows OS is installed on a disk with MBR partition scheme table. Fdisk command line utility should display the disklabel type as DOS.
C:drive. In this case Fdisk command line utility should report the disklabel type as GPT.
On the below screenshots you can review the initial Windows partitioning scheme in case of a MBR layout style and GPT partition layout performed from UEFI.
Be aware that in the case your windows
C: partition from the HDD is larger than the total size of your SSD you will need reduce its size to fit on the SSD.
The calculations for this step are simple:
System Reserved + Recovery + EFI partition + Windows C: partitions must be smaller or equal than the total size of the SSD reported by a utility such as fdisk.
1. To shrink
C: partition from Windows, first open a Command Prompt window and execute the diskmgmt.mscto open Windows Disk Management utility which will be used to Shrink the volume (assuming that windows is installed at the beginning of the disk on the second partition, after the System Reserved partition and has
C:letter assigned) in order to reduce its size to minimal.
Feel free to use other partitioning tools for this step, such as Gparted run from a live Linux ISO, to reduce
C:drive size to minimal.
2. After you’ve reduced the size of
C: partition, plug the SSD drive to your machine motherboard and reboot the machine into Clonezilla utility (use Clonezilla ISO image or <arel=”nofollow” href=”https://partedmagic.com/downloads/” target=”_blank”>Parted Magic ISO), enter to Bash shell interface and check both disks partition table and size using the below commands.
# fdisk -l /dev/sda # fdisk -l /dev/sdb
Be aware that your drives names would be
sda for the first disk,
sdb for the second and so on. Choose the disk with maximum attention so you won’t end-up cloning the wrong device and destroy all data.
To match the correct disk source (HDD in this case) and disk destination target (SSD) use the size and the partition table reported by fdisk command. Fdisk output will show that the SSD should be smaller in size than your HDD disk and should have no partition table created by default.
In case of a GPT disk, the HDD partition table should look as illustrated on the below screenshot.
$ su - # fdisk -l /dev/sda # fdisk -l /dev/sdb
3. Next , clone only the MBR (stage one bootloader + partition table) from the HDD to the SSD target disk using one of the below commands (assuming that
sda represents the drive where Windows OS is installed and
sdbthe SSD disk).
# dd if=/dev/sda of=/dev/sdb bs=512 count=1 or # sfdisk -d /dev/sda | sfdisk -f /dev/sdb
In case of a GPT partition style you should clone the first 2048 bytes:
# dd if=/dev/sda of=/dev/sdb bs=2048 count=1
Or use sgdisk utility. Be aware that if you copy partition table from
sdb you should inverse the order of disks when using sgdisk.
# sgdisk -R /dev/sdb /dev/sda
After cloning the MBR/GPT, run fdisk command again with the
-l flag to verify if the partition table matches on both disks.
# fdisk -l /dev/sda # fdisk -l /dev/sdb
4. By now both drives should have the exact partition table. On the target disk now delete all the partitions that follow after the Windows partition in order to start with a clean partition table with the entries necessaries only for system reserved and windows.
You won’t clone data from
D: (or other partitions that follow Windows) from the old drive. You’re basically cloning only the first two partitions from the old HDD. Later you will use this unallocated space left behind to extend the
C: partition by incorporating all the unused space from SSD.
Use fdisk utility as described below to delete partitions. First run the command against your SSD target drive (
/dev/sdb this case), print partition table with
p key, press
d key to start delete partitions and choose the last partition number from the prompt (in this case the third partition) as illustrated in the below screenshots.
# fdisk /dev/sdb
In case your drive has more than one partition following after the Windows partition, make sure you delete all of them. After you’ve finished removing all unneeded partitions, press
p key again to print partition table and if, by now, only the two required Windows partitions are listed, you are safe to hit on
w key in order to apply all changes.
The same procedure for deleting last partitions applies for GPT disks also, with the mention that you should use cgdisk utility which is intuitive to work with in manipulation a disk layout.
Don’t worry about destroying backed-up partition table at the end of the GPT disk, cgdisk will make the appropriate changes on both partition tables and will save the new disk layout table at the end of the disk automatically.
# cgdisk /dev/sdb
And the final GPT disk report with the last 4,9 GB partition deleted.
5. Now, if everything is in place, start Clonezilla utility, select device-device mode, run from beginner wizard and select part-to-local_part cloning option.
Use the below screenshots for guide.
6. Choose the first local partition from the list (
sda1 – System Reserved ) as source and press Enter key to continue.
7. Next, choose the local target partition, which will be the first partition from the second disk, (
/dev/sdb1) and press Enter key to continue.
8. On the next screen choose to Skip check/repair file system and press Enter key again to continue.
9. Finally, press Enter key again to Continue and answer with yes
(y) twice to accept the warnings and start the cloning process.
10. After the cloning process of the first partition finishes select to enter command line prompt, run clonezillaand repeat the same steps for next partitions (source
sda2 – target sdb2, etc).
11. After all windows partitions are cloned, reboot the system and physically unplug the HDD drive or, better, tamper BIOS settings in order to set SSD as primary boot drive instead of old HDD.
12. You can run Gparted utility to check partitions sanity and extend windows partition from Linux or you can just boot into Windows and use Disk Management utility to do this job. The below screenshots illustrate how to use both utilities.
Extend Partition using Gparted Live CD
Extend Partition using Windows Disk Management utility directly from Windows.
That’s all! The
C: partition is now expanded to the maximum size of your SSD and Windows can now run at its maximum speed on a brand new SSD. The old HDD has all data intact.
Connect the hard-disk again in order to use it in case you’ve physically removed it from the motherboard. You can delete system reserved partition and windows partition from the old HDD and create a new partition instead of these two. The other old partitions (
E: etc) will remain intact.
With Clonezilla you can also choose to image the partitions and save them to an external HDD or a network location. In this case you must also backup HDD MBR/GPT with one of the following commands and save the MBR image to the same directory where your clonezilla images are kept.
MBR backup to file:
# dd if=/dev/sda of=/path/to/MBR.img bs=512 count=1 or # sfdisk -d /dev/sda > =/path/to/sda.MBR.txt
GPT Backup to file:
# dd if=/dev/sda of=/path/to/GPT.img bs=2048 count=1 or # sgdisk --backup=/path/to/sda.MBR.txt /dev/sda
For a future restoration of your Windows system from a network location, first restore the MBR sector from the saved imaged above using one of the below commands, then proceed with restoring each clonezilla partition image one by one.
MBR image restore from file:
# dd if=/path/to/MBR.img of=/dev/sda bs=512 count=1 or # sfdisk /dev/sda < =/path/to/sda.MBR.txt
GPT image restore from file:
# dd if=/path/to/GPT.img of=/dev/sda bs=2048 count=1 # sgdisk - -load-backup=/path/to/sda.MBR.txt /dev/sda
|FIRST OF ALL, BACK UP IMPORTANT DATA BEFORE YOU USE CLONEZILLA LIVE TO DO ANYTHING.
In this example, the machine has 1 disk (8 GB), we want to clone it to an external disk (20 GB). This is a normal case when you buy a new disk to replace old disk on your machine. Here since we use virtual machine to give this example, we use small disk size, i.e. 8 GB to 20 GB instead of modern disk size.
|In the boot menu, we choose “Other modes of Clonezilla live”
Then choose “Clonezilla live (To RAM. Boot media can be removed later)”
By doing this, all the Clonezilla live file on the new hard drive will be copied to RAM. Therefore the partition of new hard drive can be released, i.e. it won’t be busy and locked by running programs.
Press Enter, you will see Debian Linux booting process, and it will spend a few minutes when copying the files to RAM:
The default keyboard layout is US keybaord, therefore if you are using US keyboard, just press enter (i.e. use the option “Don’t touch keymap”).
If you choose “Expert” mode, you will have some chances to choose advanced parameters, e.g. tune the CHS values of target disk, how to create partition table on the target disk, etc.. You can see more details here.
///NOTE/// By deafult, Clonezilla will clone the “same” size of source disk to target disk. i.e. in this example, only 8 GB will be cloned to target disk, so the rest of 12 GB on the destination disk will be unallocated. If you want to make use all of the target disk size, remember to enter “Expert” mode and choose option “-k1”.
|Here the source disk is sda, which is 8 GB in size”.
///WARNING/// Be careful! Do not choose the wrong disk. Since all the data on the target disk will be overwritten!!!
|Here the target disk is sdb, which is 20 GB in size”
///WARNING/// Be careful! Do not choose the wrong disk. Since all the data on the target disk will be overwritten!!!
Select if the source file system need to be checked or not:
Select the mode you want after the disk cloning is done:
By default we will choose later, but if you have decided, you can choose to reboot or poweroff the machine.
Clonezilla shows you the complete command to run this disk to disk clone action:
|Before doing the real cloning, Clonezilla will ask confirmation:
Ask confirmation agin:
First ask confirmation about cloning boot loader to target disk:
Then it will create partition table on the destination disk:
Clonezilla is cloning the data from source disk to target disk:
|When everything is done, Clonezilla will prompt you if about reboot, poweroff, etc.
Then we choose poweroff:
and the machine will be halted:
That’s all. The new hard drive is ready to be used. You can remove the old (8 GB) disk from your machine, and put the new one (20 GB) in your machine. Boot it, you can enjoy the new disk.
I am having a major issue trying to copy a 300GB HDD to a 120GB SSD. I have chosen to use Clonezilla as this has never let me down before, I have used Gparted to resize the larger drive down to just over 100GB. After thats done I boot into Windows and let ChkDsk do its thing before then booting back into Clonezilla. I can confirm that i can see both drives listed for selection and carefully chose the Source and Target, the first two smaller partitions copy over fine however on the third and ‘main’ partition the copy gets to between 50/70% and then freezes copying.
I have googled and tried as many of the different options that Clonezilla offers that I can but all do the exact same thing. We even tried setting up the partitions on the new drive and doing a partition to partition clone but same result. To make sure there is no issue with the SSD we even tried a larger drive but again this did the same thing.
I dont know how much difference it will make but the machine is a Dell Latitude laptop, the HDD is a Toshiba 300GB and the SSD is a 120GB Samsung.
The way I have done this in the past is by doing a disk to disk clone, choosing advanced options as opposed to beginner mode and then choose or check -icds “Skip checking destination disk size before creating partition table”. Something else to keep in mind is to make sure that Clonezilla is running live from the USB stick or DVD rather than running from RAM. If you have a dedicated Clonezilla disk this is the default (and I think only option), but if you are running Clonezilla from another distribution such as Parted Magic where the default is to write everything to RAM and run from there, Clonezilla may fail like this because basically you run out of RAM and it simply stops copying.
For many people, DNS, or Domain Name System, is something way too technical to work on themselves but we are here to explain and guide you through the process of updating your DNS. Think of DNS as a phone book that serves as a resource to contact your business. If the number is not correct, you will not receive calls. DNS is no different.
Think of the phone number as what your visitor types in their browser (www.yoursite.com). The DNS (phone network in our example) then accepts the call and redirects it to the right server that your site is hosted on. Because DNS is the system that connects your visitors to your site you need to ensure it is configured correctly!
Because WP Engine does not host DNS you will need to update your DNS directly with your DNS provider. In most cases, your DNS Provider is whomever you purchased your domain name from.
If you’re unsure of who your DNS Provider is, you can utilize a third party website such as whois.net to help make this determination. The output under NAME SERVER or REGISTRAR is what you’ll be looking for. Both will not be affiliated with WP Engine and will require you to reach out to their support teams should you have questions accessing your account.
Not all DNS Provider’s dashboards are setup in the same configuration, but they do contain the same parameters.
Note: Domain changes can take up to 24 hours to take effect.
We want to ensure you have the right information when changing your DNS record while on WP Engine. Below you’ll find a list of the various methods and providers for updating your DNS.
1.) CloudFlare with CNAME Flattening (highest recommendation)
We recommend Cloudflare’s CNAME service for DNS configuration, which is free and configured from within their own dashboard. In a nutshell, this allows your domain’s DNS to automatically update with any changes we do with our platform, like upgrading your hardware or migrating your site away from a DDOS attack.
CloudFlare provided a full (and entertaining) explanation here.
Configuration is very similar to setting up a record on your host:
After reviewing CloudFlare, you may decide that CNAME Flattening is not the best fit for your site. If that is the case for you, below we’ve provided two other alternatives that use the same method. Both services create a dynamic record that points to the correct IP address in the event the IP changes due to a migration or DDoS.
2.) DNS Made Easy using ANAME
ANAME records are very similar to CNAME records and operate the same way as CloudFlare’s CNAME Flattening. This offers you the same capability of setting your DNS records once and never having to worry about them again while you’re on WP Engine.
3.) DNSimple Using Alias (secondary DNS)
Alias records are very similar to CNAME records and operate the same way as CloudFlare’s CNAME Flattening. This offers you the same capability of setting your DNS records once and never having to worry about them again while you’re on WP Engine.
Traditional A record configuration:
You can also create a static A Record with your DNS host. We no longer recommend static A records because you will have to update your DNS every time your WP Engine install is moved which may result in an interruption of your service. WP Engine, as your Managed Provider, is constantly ensuring your site is running to it’s fullest potential. One way we do this is by ensuring you are on the right server, which means we may migrate your site at any time, which will require a DNS update if you use an A record. In order to avoid the inconvenience of updating your DNS, please utilize one of our recommendations above, and not an A record.
If you need assistance with setting up your DNS record using the A Record method, please contact your DNS host. The most popular are listed below:
Go to this link and subscribe.