Linux Archives - Techolac - Computer Technology News https://www.techolac.com/category/linux/ A weblog on emerging technology and internet news, reviews, tips for a broad range of computing technologies. Sun, 07 Apr 2024 19:43:07 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.5 https://www.techolac.com/wp-content/uploads/2022/06/favicon-techolac-1.png Linux Archives - Techolac - Computer Technology News https://www.techolac.com/category/linux/ 32 32 How to Optimize Apache, MySQL Performance for 1GB RAM VPS Centos/RHEL https://www.techolac.com/linux/how-to-optimize-apache-mysql-performance-for-1gb-ram-vps-centos-rhel/ https://www.techolac.com/linux/how-to-optimize-apache-mysql-performance-for-1gb-ram-vps-centos-rhel/#respond Sat, 06 Apr 2024 00:03:11 +0000 http://www.techolac.com/?p=12164 How to Optimize Apache, MySQL Performance for 1GB RAM VPS Centos/RHEL in this article we guide u how to optimize Apache, php and MySQL/Mariadb server which are installed on VPS server with 1gb of RAM, Such 1 gb ram vps is enough powerful for single application and optimizations are necessary in order to Avoid OOM […]

The post How to Optimize Apache, MySQL Performance for 1GB RAM VPS Centos/RHEL appeared first on Techolac - Computer Technology News.

]]>
How to Optimize Apache, MySQL Performance for 1GB RAM VPS Centos/RHEL in this article we guide u how to optimize Apache, php and MySQL/Mariadb server which are installed on VPS server with 1gb of RAM, Such 1 gb ram vps is enough powerful for single application and optimizations are necessary in order to Avoid OOM (out of memory) and take juice from it.

Optimization of Apache :

Optimize Apache which is installed on 1gb VPS, it recommended to use Apache MPM worker as prefork :-

Centos/RHEL:

Under Centos Open this file in editor:

nano /etc/httpd/httpd.conf

And add this configs at the end of httpd.conf :

KeepAlive Off
<IfModule prefork.c>
   StartServers        6
   MinSpareServers     5
   MaxSpareServers     15
   ServerLimit         256
   MaxClients          256
   MaxRequestsPerChild 3000
</IfModule>

Then restart Apache server :

service httpd restart

Ubuntu :

Under Ubuntu Open this file in editor:

nano /etc/apache2/apache2.conf

Find and add/change this configs under apache2.conf file :

<IfModule mpm_prefork_module>
 StartServers        3
 MinSpareServers     5
 MaxSpareServers     15
 ServerLimit         256
 MaxClients          256
 MaxRequestsPerChild 3000
</IfModule>

Then restart Apache server :

service apache2 restart

Optimization of MYSQL :

To optimize MySQL/Mariadb which is installed on 1gb VPS you need to add  this configs in  my.cnf under [mysqld] :

[mysqld]
symbolic-links=0
skip-external-locking
key_buffer_size = 32K
max_allowed_packet = 4M
table_open_cache = 8
sort_buffer_size = 128K
read_buffer_size = 512K
read_rnd_buffer_size = 512K
net_buffer_length = 4K
thread_stack = 480K
innodb_file_per_table
max_connections=100
max_user_connections=50
wait_timeout=50
interactive_timeout=50
long_query_time=5

On Centos/RHEL based system you can add it in :

/etc/my.cnf

On Ubuntu/Debian based system you can add it in :

/etc/mysql/my.cnf 
  • Also consider adding SWAP to your VPS which will drastically stabalizes the 1 gb VPS : Create and Add Swap On Linux OS CWP Centos WebPanel and VestaCP
  • To optimize PHP just installed php-opcache and memcached (memcached need to be supported by script)
  • Configure PHP memory limit not more than 128 mb.
  • Use cache system which is provided by your script or for WordPress use WP super cache.

 

The post How to Optimize Apache, MySQL Performance for 1GB RAM VPS Centos/RHEL appeared first on Techolac - Computer Technology News.

]]>
https://www.techolac.com/linux/how-to-optimize-apache-mysql-performance-for-1gb-ram-vps-centos-rhel/feed/ 0
Top 5 MySQL Performance Tuning Tips https://www.techolac.com/linux/top-5-mysql-performance-tuning-tips/ https://www.techolac.com/linux/top-5-mysql-performance-tuning-tips/#respond Wed, 25 Jan 2023 04:19:54 +0000 https://www.techolac.com/?p=41294 MySQL is one of the most used databases in the world. This powerful relational database management system has been at the heart of popular applications for many years. However, there can be occasional difficulties with MySQL, and there are many opportunities to improve its performance. These opportunities can range from correcting common errors to using […]

The post Top 5 MySQL Performance Tuning Tips appeared first on Techolac - Computer Technology News.

]]>
MySQL is one of the most used databases in the world. This powerful relational database management system has been at the heart of popular applications for many years.

However, there can be occasional difficulties with MySQL, and there are many opportunities to improve its performance. These opportunities can range from correcting common errors to using MySQL GUI Client. This article describes MySQL performance tuning tips that you can add to your list.

1. You can start with the most obvious approach. You can improve the performance of your MySQL database by fixing some of its common errors. If you monitor your database and see some strange errors, try to analyze them and fix the problems. For example, if you see that reading or writing to some tables takes longer than others, analyze the table and find out the root cause.

2. Resource optimization is one more often used and very effective approach. To optimize the resource utilization of your MySQL servers, you should do the following: It is important to understand that you have the right hardware to meet your needs.

First of all you need to make sure you know which hardware is right for your needs. When you set up a MySQL database server, you must start with the correct hardware and software configuration. The speed of your computer’s processor, hard drive, and RAM is very important. They affect the performance of your database server. For example, a faster processor will provide more processing power.
If you have a lot of data, an effective hard drive will increase the speed at which your server can access the data. RAM helps the database access data quickly. By using RAM, you can save a lot of time when your server needs to store data. A typical server has a RAID array. RAID offers more storage space and protects your data from accidental loss. The last thing that will be helpful to do is connecting your server to a high-speed LAN. By doing this, you can ensure that your database server receives data quickly. Then, you do not have to think about the CPU, memory, and disk load of your servers. You will only need to worry about the load on your network.

3. The next tip is to monitor your server and databases with productivity tools. Many people think that MySQL monitoring and alerting are optional. It’s a delusion. Monitoring and alerts are important to keep the system up and to run. But they are not as important as understanding the details of what is happening under the hood.
For example, if you’re getting slow query alerts, you might have a table that contains data for hundreds of millions of rows. You probably have a table with over two billion rows. When you receive these kinds of alerts, it’s important to check your database carefully. There may be a hidden issue in your database that is causing slow queries.

4. Another important point you should check is your indexes. There are three main rules that users need to follow when working with indexes. First, you must carefully create your indexes from the beginning. Second, you should review them periodically to make sure they are still useful. Third, you should test them to see how fast they are. If all three of these things are done, you will get great performance from your database.

So it is highly important to know how to use indexes correctly. This means you must have the correct fields in your indexes. You should avoid using the following indexes: InnoDB tables with an AUTO_INCREMENT (PRIMARY KEY) primary key. Primary keys are indexed, so you don’t need an index. At the same time, MySQL has special logic for PRIMARY keys, so they are not indexed. If you see that your index is no longer needed, you can delete it.
For example, you could add a new column to your table and create a new index on that new column. This will save space. You can use the INDEX keyword to create an index. A common mistake newbies make – putting the primary key column as the first column in the index. This is not a good idea. The first column in the index should be the column you are looking for. You should always search the table based on the column included in the index.

5. One more popular way to increase MySQL performance is to use database development and management tools. They save a lot of time and improve the quality of work. Another very important advantage of such products is an intuitive graphical user interface, which makes the work with MySQL much simpler.

Conclusion

If you are already doing some of the tips we have listed above for you, you are on the right track. Perhaps some of them were new to you. We advise you to take a comprehensive approach to improve the performance of your MySQL in order to get a noticeable result. Proper maintenance of a MySQL database includes many different steps that must be taken to ensure that the data is working properly.

The post Top 5 MySQL Performance Tuning Tips appeared first on Techolac - Computer Technology News.

]]>
https://www.techolac.com/linux/top-5-mysql-performance-tuning-tips/feed/ 0
Top Commands to Check the Running Processes in Linux https://www.techolac.com/linux/top-commands-to-check-the-running-processes-in-linux/ https://www.techolac.com/linux/top-commands-to-check-the-running-processes-in-linux/#respond Fri, 27 May 2022 22:44:09 +0000 https://www.techolac.com/?p=36112 Developers perform many tasks on their computers every day. This requires the use of various applications or programs, as well as running codes in the terminal. This may also include the use of a browser, code editing software, and basic applications that allow you to make video calls or listen to music. Everything you use […]

The post Top Commands to Check the Running Processes in Linux appeared first on Techolac - Computer Technology News.

]]>
Developers perform many tasks on their computers every day. This requires the use of various applications or programs, as well as running codes in the terminal. This may also include the use of a browser, code editing software, and basic applications that allow you to make video calls or listen to music.

Everything you use on your computer creates certain processes or tasks. The convenience of today’s operating systems is that they allow you to use many applications and programs at the same time. Linux is one of them.

However, because of this multitasking, the system may get overloaded. That’s why knowing how to utilize Linux list processes to figure out what’s going on with the system when we can’t see it is essential.

There’s no need to be an expert because everything is quite easy to do. All you have to do is launch a Linux process manager and learn a few commands to check running processes Linux. There are several commands available, but learning how to utilize top commands to check ongoing processes is essential if you want to keep track of the system’s dynamic processes in real-time.

We’ll show you how to utilize the Linux command to see running processes to get a better understanding of what’s going on with your computer’s system.

Let’s get started  

Before you start messing with the command’s parameters, you need first to have a sense of how everything works. You may accomplish this by running the top command without any options.

A horizontal representation of the information appears at the top. You can examine all the statistics of processes running and what resources are needed for them. The data from the vertical table below will show you every task the computer system is performing.

The following is what you will see:

  • In a multitasking OS, a PID (Process IDentifier) is a unique number issued to each process executing.
  • USER – the name of the user who runs this or that task.
  • PR is a value indicating the priority of the task.
  • NI – priority indication, which can be either negative or positive. If there is -20 opposite the task, then this indicates that the process is the highest priority at the moment. If you see a “+” sign, say +19, then this task is assigned the lowest priority.
  • VIRT shows the total amount of memory that the program can address at a given time.
  • RES shows how much physical memory a process is using.
  • SHR displays the amount of memory that can potentially be shared with other processes. Nearby you can see various letters like D, I, R, S, and so on. They indicate what status of the tasks. This can be an indication of sleeping, idle, or dead tasks.
  • %CPU – physical load on the processor.
  • %MEM shows how much memory a task is using.
  • TIME represents the total amount of central processing unit time consumed by the process since it began.
  • COMMAND – the current command or service.

Processes in progress

It is best to alter the color of the jobs or processes that are currently operating for the clearest comprehension. It’s as simple as pressing “z.” Following that, the majority of the lines will become red. This is how you know they’re on the run.

A user’s processes that are currently executing

You should include “-u” to the command and the username if you want to get information about the processes started by a specific user. You may input a user named sam, for instance, to view which activities sam initiated.

Complete directory structure

The “c” parameter should be included to see the whole set of process directories, starting at the beginning of the path and ending with the destination file. The last vertical column will display the whole absolute pathway.

Sorting processes

Each task loads the processor differently. Sorting all of the processes will reveal how the load is distributed. To do this, use the “P” key.

You can arrange activities for reasons other than seeing how they use the central processing unit. In addition, you can find out what resources they use, namely memory (press the “M” key), process ID (press the “N” key), and task execution time (press the “T” key).

Task termination

If some process or task needs to be terminated, then “k” must be added to the command. You should be especially careful, as you may unknowingly or accidentally terminate an important task. To avoid mistakes, you need to do a thorough check. To do this, you need to make sure that the Process IDentifier matches the task you want to terminate. After that, you can safely press the key and complete the task.

Screen refresh time interval

If you use the default settings, the screen will be refreshed every three seconds. You can change this interval depending on what time interval you need. If you want the screen to refresh more than once every three seconds, you can set the interval to two or one seconds. To do this, you need to select the “d” option and indicate the time next to it. Remember that the time must be in seconds. Thus, just enter a number.

If you need to reduce the interval to two seconds, then it will look like this:

top -d 2

At the top of the screen, where the information is displayed horizontally, you will see “Change delay from 3.0 to 2”.

Safe mode

Often, multiple users may have access to the system. However, if you do not want other users to make any changes, then you can restrict their access. You need to press the “s” key. After that, other users will not be able to change the screen refresh time interval, restart tasks, or terminate them.

Suppressing sleeping processes

Some tasks may be inactive, which you can terminate so that only active processes remain. First of all, these processes need to be found. To do this, you need to press the “i” key. Following that, only the tasks that are now active will appear on the screen. Other activities will be turned off.

Conclusion

You should know which tasks are presently operating to efficiently manage them. The top command should be used to see the whole list of ongoing operations. The options listed above will help you handle tasks more effectively, such as finding active and inactive tasks, stopping superfluous tasks, sorting them by various factors, and more.

The post Top Commands to Check the Running Processes in Linux appeared first on Techolac - Computer Technology News.

]]>
https://www.techolac.com/linux/top-commands-to-check-the-running-processes-in-linux/feed/ 0
4 Tips to Prevent and Troubleshoot the ImagePullBackOff Kubernetes Error https://www.techolac.com/linux/4-tips-to-prevent-and-troubleshoot-the-imagepullbackoff-kubernetes-error/ https://www.techolac.com/linux/4-tips-to-prevent-and-troubleshoot-the-imagepullbackoff-kubernetes-error/#respond Wed, 30 Mar 2022 00:05:05 +0000 https://www.techolac.com/?p=35245 If you use Kubernetes or K8s, you’ve likely encountered one of the most common errors: ImagePullBackOff. Dealing with the ImagePullBackOff error can be frustrating and tedious if you’re unfamiliar with the issue. Plus, Kubernetes has a massive ecosystem. Without the proper knowledge, tracking down the source of the problem can be like finding a needle […]

The post 4 Tips to Prevent and Troubleshoot the ImagePullBackOff Kubernetes Error appeared first on Techolac - Computer Technology News.

]]>
If you use Kubernetes or K8s, you’ve likely encountered one of the most common errors: ImagePullBackOff.

Dealing with the ImagePullBackOff error can be frustrating and tedious if you’re unfamiliar with the issue.

Plus, Kubernetes has a massive ecosystem.

Without the proper knowledge, tracking down the source of the problem can be like finding a needle in a haystack—even if you deploy full-stack monitoring solutions for your modern applications.

The good news is that we’re here to help.

This guide covers what you need to know about preventing and troubleshooting the ImagePullBackOff error in Kubernetes.

What does the Kubernetes ImagePullBackOff mean?

The ImagePullBackOff status means that a Pod could not start because Kubernetes failed to pull a container image.

The BackOff part in the status means that Kubernetes will continue to try pulling the image with an increasing delay (hence, BackOff).

Let’s break this down further.

In Kubernetes, an agent in each node (called the kubelet) is responsible for running containers in the node and pulling the image.

You can think of several warehouses, where each warehouse (node) includes one forklift (kubelet) that lifts and runs the container.

Since the kubelet is responsible for the containers running on that node, it reports what happens back to the central Kubernetes API.

Then, the kubelet will instruct the container runtime to pull the container image if it doesn’t already exist on a Node.

If something keeps the container runtime from pulling an image onto the node—which Kubernetes has scheduled your pod—the kubelet will report back ErrImagePull and then ImagePullBackOff (and will keep trying).

Essentially, the ImagePullBackOff error indicates that something keeps Kubernetes from pulling the image you want onto a specific node.

Root causes of the ImagePullBackOff error

Fixing the ImagePullBackOff Kubernetes error requires understanding what caused the issue.

Some of the most common causes of the ImagePullBackOff error include the following.

Using a private registry without giving the necessary credentials

Many enterprises often use Kubernetes with a private container image registry to keep internal apps non-public in container image libraries.

If you want to pull an image from private registries, ensure you provide Kubernetes with the necessary credentials that allow it to fetch the image.

You’ll need to create a secret in Kubernetes—a means to store sensitive information such as an SSH key or OAuth token.

You will also need to create a secret when pulling from:

  • Publicly accessible but password-protected registries
  • Private images on GitHub Container Registry, Google Container Registry, and others

Referencing a tag or an image that doesn’t exist

Creating a pod that references a non-existent image or tag is one of the most common causes of the ImagePullBackOff error, and it’s often the result when you make a typo.

There can also be instances when the image should exist , and you use the right name, but the tag might be retired.

If you’re following an old book or tutorial that references a specific image tag, check if the tag still exists.

If the tag no longer exists, find the replacement tag you’re better off using to keep you from encountering the ImagePullBackOff error.

Getting blocked by the registry and other issues

Some registry libraries have rate limits.

Once you reach the maximum allowed download limit, the registry can block you, which might cause the ImagePullBackOff error.

You’ll need to sign up for an account or look for another place to get your image from.

The ImagePullBackOff error can also occur if you don’t properly set up the SSL/TLS authentication that the registry requires.

4 ImagePullBackOff Kubernetes troubleshooting tips

Below are several ways to investigate and fix the ImagePullBackOff error.

1. Use kubectl describe

One of the initial steps to find the root cause and fix the ImagePullBackOff error is to use kubectl describe.

Doing so can show you the full error log, helping you see the possible cause of the issue.

For instance, if you have a pod referencing an image that does not exist, you’ll get an Events output from kubectl describe <pod name> that looks something like this:

Based on the events shown above, the error clearly shows that you got the name wrong in this scenario, causing the ImaePullBackOff Kubernetes issue.

2. Check your pod and secret if you use a private registry

If you are pulling images from private registries, ensure you create a secret that contains the necessary credentials to access the registry.

Additionally, make sure you add the secret in the correct namespace.

You’ll also have to configure the imagePullSecrets field on your pod. The field tells Kubernetes which specific secret it should use when authenticating to the registry.

It should look something like this.

3. Assess the extent of the issue

Figure out the exact root of the problem by considering the following:

  • Are there other pods already running on a specific node? If the node is already running other pods without any issues, it should work well since the node is pulling from the same registry. Investigate what makes the pod different to help determine the root cause of the ImagePullBackOff error.
  • Can the node (in the cluster) pull the image? Consider jumping on to the node through SSH and checking if you can run a docker pull and get the image.
  • Are you able to pull the image locally? Pull the image from your workstation and if it doesn’t work, try podman pull or docker pull to see if you can fetch the image. Doing so can give you a clue as to why pulling the image locally fails.

4. Increase the kubelet log levels

If you can access the nodes themselves, get more information by raising the log levels on the kubelet.

You’ll have to set the — v parameter, which modifies the log level verbosity.

Get to the bottom of ImagePullBackOff Kubernetes errors

While various reasons and factors can cause ImagePullBackOff errors, fixing the issue doesn’t have to be rocket science.

Start by investigating and reading the error message and following the tips in this guide.

The post 4 Tips to Prevent and Troubleshoot the ImagePullBackOff Kubernetes Error appeared first on Techolac - Computer Technology News.

]]>
https://www.techolac.com/linux/4-tips-to-prevent-and-troubleshoot-the-imagepullbackoff-kubernetes-error/feed/ 0
How Common Signals are Used in Kubernetes Pod Management https://www.techolac.com/linux/how-common-signals-are-used-in-kubernetes-pod-management/ https://www.techolac.com/linux/how-common-signals-are-used-in-kubernetes-pod-management/#respond Sat, 20 Nov 2021 01:59:01 +0000 https://www.techolac.com/?p=33072 Pods are the smallest and most basic deployable objects in Kubernetes, with each pod representing a single instance of a (running) process within your cluster. A Pod consists of one or more containers with shared network resources and storage, including a specification for running the containers. One of the Kubernetes Pod’s uses is to help […]

The post How Common Signals are Used in Kubernetes Pod Management appeared first on Techolac - Computer Technology News.

]]>
Pods are the smallest and most basic deployable objects in Kubernetes, with each pod representing a single instance of a (running) process within your cluster.

A Pod consists of one or more containers with shared network resources and storage, including a specification for running the containers.

One of the Kubernetes Pod’s uses is to help you execute a graceful shutdown of your application running inside a container.

For instance, you’d want to implement graceful shutdown if you want to wait until all current jobs or requests processing are completed. Other reasons might also include distributed locks or opened connections.

You can manage Kubernetes pods to execute a graceful shutdown using Signals.

For example, when a Pod needs to be terminated, a SIGTERM signal gets sent to the main process or PID 1 in every container. Then, a countdown (a grace period of 30 seconds as a default) starts.

Once the signal arrives, each container should begin a graceful shutdown of your running apps and exit.

If the container doesn’t terminate the running app within the grace period, a SIGKILL signal is sent to force terminate the container.

That’s just one example since you can use other signals to manage Kubernetes pods.

In this guide, we’ll take a closer look into how common signals are used managing Kubernetes pods.

But first…

What are Signals?

Signals are software interrupts sent to a program to indicate that an event has occurred.

Essentially, signals are used to communicate the state of a process to another process, Operating System (OS), or hardware. This makes Signals a core part of any Linux/Unix-based system.

There are two kinds of signals: Maskable and non-maskable.

Users can ignore or change the maskable signals, but it’s not possible to do this with non-maskable signals. Non-maskable signals typically occur if there are non-recoverable hardware failures.

There are multiple types of signals for various functions, such as SIGINT to send interrupts and SIGKILL to kill a process without any cleanup actions.

This way, each signal is associated with a default action, and the targeted process will carry out this action.

Some of these actions are intended to:

  • Stop or Terminate a process
  • Continue a stopped process
  • Dump core (create a dump file containing a memory image of the process)

For comprehensive information about Linux signals, you can visit the online man page for the signals or run the man 7 signal command using the command line to access the man page.

The relationship between containers and signals

When you use Docker, the docker stop command uses SIGTERM signal for the process running as PID 1 in the container.

It instructs it to stop and sends the SIGKILL to completely terminate the process after a specific grace period (default 10 seconds). You can configure this grace period via the CLI using the -t or –time flags.

On the other hand, the docker kill command instantly sends the SIGKILL signal to terminate the container without any chance for graceful termination.

Plus, the docker kill command comes with the flag –signal, which lets users specify various kinds of signals to send to the container.

You can modify this behavior from a Dockerfile itself using the STOPSIGNAL command to assign a different signal. This alters the termination behavior of the container.

How Kubernetes uses signals

Kubernetes relies on the SIGTERM and SIGKILL signals to manage pods.

As such, signals are a core part of the Kubernetes Pods lifecycle. This applies whether you use the kubectl delete pods command to terminate pods or as a part of a deployment to replace applications pods.

Kubernetes behaves the same way, where SIGTERM is sent at first, then waits for a specified time before sending a SIGKILL command.

This waiting period is also known as the graceful termination period of a Pod. You can configure this via the terminationGracePeriodSeconds in a config file or the –grace-period flag in the kubectl command-line interface.

You can refer to this excellent article on Linux graceful termination from a Kubernetes perspective for an extensive guide on how all these things work.

Here’s a quick primer of what happens: If the process does not handle the SIGTERM signal properly, it will get the SIGKILL signal to terminate the process.

Then, it will immediately be removed from the etcd and the K8s API. All this happens without waiting for the actual process to be terminated from the node.

This means that mishandling the termination behavior can lead to unforeseen errors within a Kubernetes cluster.

The SIGTERM signal gets sent to both containers since pods can contain multiple containers. Therefore, it is a developer’s sole responsibility to implement a proper strategy to handle SIGTERM singles, whether it is a single or multi-container pod.

SIGTERM and SIGKILL are not the only signals you can use within the Kubernetes environment. Other Signals, such as SIGQUIT, are also vital to manage the processes.

For example, you can use SIGQUIT to signal a graceful shutdown of a process like a web server.

However, you’ll need to configure these signals since Kubernetes does not have a native way of sending other types of signals.

One way of configuring a different signal is to convert a default signal to a different one within the container.

Suppose you want to implement a graceful shutdown of a process such as Nginx or Apache web servers.

In this case, you can use a lightweight process supervisor and init system such as dumb-init. This allows you to rewrite signals, such as SIGTERM to SIGQUIT or SIGWINCH, within the container by specifying them in a Dockerfile configuration at the time of the image creation.

Conclusion

Signals are common in any Linux/Unix environment, and you can use these to manage and action different processes.

This also translates to most containerized environments for container management throughout their lifecycle.

SIGTERM and SIGKILL are natively implemented in orchestration environments such as Kubernetes. This means that signals should be considered in containerized development.

Moreover, proper strategies should be implemented to handle these signals (or any custom signals) within the containers themselves to define behaviors on handling processors.

The post How Common Signals are Used in Kubernetes Pod Management appeared first on Techolac - Computer Technology News.

]]>
https://www.techolac.com/linux/how-common-signals-are-used-in-kubernetes-pod-management/feed/ 0
How to Transfer Windows 10 to SSD? https://www.techolac.com/linux/how-to-transfer-windows-10-to-ssd/ https://www.techolac.com/linux/how-to-transfer-windows-10-to-ssd/#respond Sun, 08 Aug 2021 21:13:23 +0000 https://www.techolac.com/?p=31776 This post will explain how to transfer windows 10 to SSD?. Windows 10 is the current and among the most innovative os which is ever released by Microsoft. You get a great deal of remarkable features in this os and improvements over the earlier variations of the Windows os. It is popular that Windows 10 […]

The post How to Transfer Windows 10 to SSD? appeared first on Techolac - Computer Technology News.

]]>
This post will explain how to transfer windows 10 to SSD?. Windows 10 is the current and among the most innovative os which is ever released by Microsoft. You get a great deal of remarkable features in this os and improvements over the earlier variations of the Windows os. It is popular that Windows 10 is fast however if it is taking a great deal of time for the programs which are set up on your computer system to load then you can use a Solid State Drive. So sometimes we require to transfer Windows 10 to SSD. While most of the computer systems, laptop computers offered in the market come with an HDD and you will find an SSD just in high-end laptops or computers.

How to Transfer Windows 10 to SSD?

In this article, you can know about how to transfer windows 10 to SSD? here are the details below;

You can quickly get an SSD these days and it is also economical to get one. You can utilize SSD with your Windows 10 computer and improve efficiency. Now if you are moving from an HDD to SSD in your Windows computer system you need to utilize a Windows 10 cloning software. With the aid of Windows 10 cloning software application, you will have the ability to transfer windows 10 to SSD. Also check Unityplayer.dll Not Found.

EaseUS Todo Backup is a totally free Windows 10 cloning software that will help you in moving your Windows 10 from a regular disk drive to a solid-state drive. If you require to clone HDD to SDD Windows 10 using EaseUS Todo substitute you can follow the actions mentioned below.

How you can Transfer Windows 10 from HDD to SSD?

As we have discussed before EaseUS Todo Backup free is complimentary software application that will help you in cloning your Windows 10 from your typical HDD to SSD. You can utilize this free backup software with all the latest operating systems which are available out there like Threshold 2, Windows 10 Redstone. EaseUS Todo Backup will also assist you to create a backup of all the files and software present in your computer system and will also help you in cloning your Windows operating system from your HDD to SSD without losing a single file.

The cloning process is easy and it will take just a few minutes for one to clone Windows 10 from HDD to SSD using EaseUS Todo Backup. Follow the step by step guide shared listed below where we are going to use Windows 10 cloning software application to transfer Windows 10 from HDD to SSD. Also check windows update stuck at 0.

1. First of all, you need to download EaseUS Todo backup on your computer system.
2. As soon as you have downloaded the software, you need to open it and install it on your computer system.
3. Next, you need to open EaseUS Todo backup from your desktop and click on Clone alternative which will clone HDD to SSD Windows 10.
4. You will see all the drives on your pc. Select the drive where Windows 10 is installed on your pc system and then click Next.
5. Now you have to select the location SSD where you want to transfer all the data and files from Windows 10. Enable the sector by sector clone alternative as it will clone all the seconds from the source disk to the target disk on your computer system. Likewise, select Optimize for SSD.
6. You will see the sneak peek window from where you can preview the disk design after you have actually moved Windows 10 SSD. Click Proceed option which will begin the cloning procedure and will complete the Windows 10 cloning procedure.
7. As soon as you have cloned your Windows os successfully, you can switch off your computer system and get rid of the HDD. Reboot your pc and you will be ready to use

Windows 10 as it is installed on your SSD.

Following these easy steps, you will be able to clone HDD to SDD Windows 10 utilizing Windows 10 cloning software application. You can also use the software to develop a backup of your Windows computer system and bring back the backups which you have actually created on your HDD and SSD. Other stories that you will get in EaseUS Todo backup software application are schedule backup, differential backup, incremental backup, complete backup, and file backup. Also check Windows 10 System Restore from boot.

If you were unable to transfer Windows 10 from HDD to SDD using this tool or are having any problems, let us know using the comments section below.

The post How to Transfer Windows 10 to SSD? appeared first on Techolac - Computer Technology News.

]]>
https://www.techolac.com/linux/how-to-transfer-windows-10-to-ssd/feed/ 0
Understand Doubly Linked List C++ With Illustration https://www.techolac.com/doubly-linked-list-c-/ https://www.techolac.com/doubly-linked-list-c-/#respond Fri, 26 Feb 2021 16:10:51 +0000 https://www.techolac.com/?p=28788 This post will explain doubly linked list c++. A twice as connected list is a variation of the singly linked list. We understand that the singly linked list is a collection of nodes, with each node having a data part and a pointer indicating the next node. A doubly connected list is also a collection […]

The post Understand Doubly Linked List C++ With Illustration appeared first on Techolac - Computer Technology News.

]]>
This post will explain doubly linked list c++. A twice as connected list is a variation of the singly linked list. We understand that the singly linked list is a collection of nodes, with each node having a data part and a pointer indicating the next node.

A doubly connected list is also a collection of nodes. Each node here includes an information part and two pointers. One tip points to the previous node, while the second pointer indicates the next node.

Understand Doubly Linked List C++ With Illustration

In this article, you can know about doubly linked list c++ here are the details below;

Doubly Linked In C++

As in the singly connected list, the two times as connected list also has a head and a tail. The previous guideline of the head is set to NULL as this is the very first node. The next pointers of the tail node is set to NULL as this is the last node.
A basic layout of the two times as connected list is displayed in the below diagram.

In the above figures, we see that each node has two pointers, pointing to the previous node and the other indicating the next node. Only the primary node (head) has its previous nodes set to null, and the last node (tail) has its next pointers set to null. You can also check best ihome speakers.

As the doubly connected list contains two pointers, i.e., previous and next, we can traverse it into the instructions forward and backward. This is the primary benefit of two times as a linked list over the singly connected list.

Declaration

In C-style declaration, a nodes of the doubly linked list is represented as follows:
struct node
;
Apart from the above declaration, we can likewise represent a node in the doubly linked list as a classes in C++. A doubly connected list is represented as a class when we utilize STL in C++. We can execute a twice as linked list using a class in Java too.

Basic Operations

Following are some of the operation’s that we can perform two times as a connected list.
Insertion
Insertion operation of the twice as connected list inserts a brand-new node in the linked list. Depending opon the position where the new node is to be placed, we can have the following

insert operations.

– Insertion at the front– Inserts a brand-new node as the first node.
– Insertion at the end– Inserts a brand-new node at the end as the last node.
– Insertion before a node– Given a node, inserts a new node before this node.
– Insertion after a node– Given a node, inserts a new node after this node.

Deletion

Deletion operation deletes a node from a provided position in the twice as connected list
– Deletion of the first node– Deletes the very first node in the list.
– Deletion of the last node– Deletes the last node in the list.
Deleting a node given the information: Given the information, the operation matches the data with the node information in the linked list and deletes that node.

Traversal

Traversal is a strategy of going to each node in the connected list. In a twice as connected list, we have two kinds of traversals as we have two guidelines with various instructions in the two times as linked list.
– Forward Traversal– Traversal is done using the next tip, which is in the forward instructions.
– Backward Traversal– Traversal is done utilizing the previous guideline, which is the backward direction.

Reverse

This operation reverses the nodes in the two times as linked list so that the first node becomes the last nodes while the last node becomes the first node.

Search

Search operation in the doubly connected list is used to look for a specific node in the linked list. For this purpose, we require to traverse the list until matching information is found.

Insertion

Insert a node at the front

The insertion of a new nodes at the front of the list is shown above. As seen, the previous brand-new node N is set to null. Head points to the new node. The next tip now indicates N1, and the previous of N1 that was earlier pointing to Null now indicates N.
Insert node at the end

Inserting a nodes at the end of the two times as linked list is attained by pointing the next node N to null. The premature pointer of N is pointed to N5. The ‘Next’ tip of N5 is pointed to N.

Insert node before/after given node

As shown in the aboves diagram, when we need to include a node before or after a particular node, we alter the previous and next guidelines of the before and after nodes to properly indicate the new node. Likewise, the brand-new node guidelines are appropriately pointed to the existing nodes. Also check textsheet alternatives.

The following C++ program shows all the above methods to insert nodes in the twice as linked list.

#include <iostream>
using namespace std;
 
// A doubly linked list node
struct Node {
   int data;
   struct Node* next;
   struct Node* prev;
};
 
//inserts node at the front of the list
void insert_front(struct Node** head, int new_data)
{
   //allocate memory for New node
   struct Node* newNode = new Node;
 
   //assign data to new node
   newNode->data = new_data;
 
   //new node is head and previous is null, since we are adding at the front
   newNode->next = (*head);
   newNode->prev = NULL;
 
   //previous of head is new node
   if ((*head) != NULL)
   (*head)->prev = newNode;
 
   //head points to new node
   (*head) = newNode;
}
/* Given a node as prev_node, insert a new node after the given node */
void insert_After(struct Node* prev_node, int new_data)
{
   //check if prev node is null
   if (prev_node == NULL) {
   cout<<"Previous node is required , it cannot be NULL";
   return;
}
   //allocate memory for new node
   struct Node* newNode = new Node;
 
   //assign data to new node
   newNode->data = new_data;
 
   //set next of newnode to next of prev node
   newNode->next = prev_node->next;
 
   //set next of prev node to newnode
   prev_node->next = newNode;
 
   //now set prev of newnode to prev node
   newNode->prev = prev_node;
 
   //set prev of new node's next to newnode
   if (newNode->next != NULL)
   newNode->next->prev = newNode;
}
 
//insert a new node at the end of the list
void insert_end(struct Node** head, int new_data)
{
   //allocate memory for node
   struct Node* newNode = new Node;
 
   struct Node* last = *head; //set last node value to head
 
   //set data for new node
   newNode->data = new_data;
 
   //new node is the last node , so set next of new node to null
   newNode->next = NULL;
 
   //check if list is empty, if yes make new node the head of list
   if (*head == NULL) {
   newNode->prev = NULL;
   *head = newNode;
    return;
}
 
//otherwise traverse the list to go to last node
while (last->next != NULL)
last = last->next;
 
//set next of last to new node
last->next = newNode;
 
//set last to prev of new node
newNode->prev = last;
return;
}
 
// This function prints contents of linked list starting from the given node
void displayList(struct Node* node) {
   struct Node* last;
 
   while (node != NULL) {
      cout<<node->data<<"<==>";
      last = node;
      node = node->next;
   }
   if(node == NULL)
   cout<<"NULL";
   }
 
//main program
int main() {
   /* Start with the empty list */
   struct Node* head = NULL;
 
   // Insert 40 as last node
   insert_end(&head, 40);
 
   // insert 20 at the head
   insert_front(&head, 20);
 
   // Insert 10 at the beginning.
   insert_front(&head, 10);
 
   // Insert 50 at the end.
   insert_end(&head, 50);
 
   // Insert 30, after 20.
   insert_After(head->next, 30);
 
   cout<<"Doubly linked list is as follows: "<<endl;
   displayList(head);
   return 0;
}

A node can be erased from a twice as connected list from any position like the front, end, or any other offered position or offered information.
When deleting a node from the doubly connected list, we first reposition the pointer indicating that particular node. The previous and after nodes don’t have any connection to the node to be deleted. We can then quickly erase the node.

Consider the following two times as a connected list with three nodes A, B, C. Let us consider that we require to erase node B.

As displayed in the diagram above, we have demonstrated the deletion of node B from the provided connected list. The series of operations remains the same even if the node is 1st or last. The only care that should be considered is that if the first node is erased, the second node’s previous pointer will be null.

Likewise, when the last node is deleted, the previous node’s next pointer will be set to null. If in-between nodes are deleted, then the sequence will be as above.
We leave the programs to delete a node from two times as a linked list. Note thats the implementation will be on the line’s of the insertion implementation. Also check wow private servers.

Reverse Doubly Linked List.

Reversing two times as a linked list is a crucial operation. In this, we just swap the previous and next tips of all the nodes and likewise switch the head and tail guidelines.
Provided listed below is a doubly connected list:

// Java Class for Doubly Linked List
class Doubly_linkedList {
   Node head; // list head
 
    /* Doubly Linked list Node*/
   class Node {
      int data;
      Node prev;
      Node next;
 
      //create a new node using constructor
      Node(int d) { data = d; }
   }
 
// insert a node at the front of the list
public void insert_front(int new_data)
{
   /* 1. allocate node
   * 2. put in the data */
   Node new_Node = new Node(new_data);
 
   /* 3. Make next of new node as head and previous as NULL */
   new_Node.next = head;
   new_Node.prev = null;
 
   /* 4. change prev of head node to new node */
   if (head != null)
   head.prev = new_Node;
 
   /* 5. move the head to point to the new node */
   head = new_Node;
}
//insert a node after the given prev node
public void Insert_After(Node prev_Node, int new_data)
{
   //check that prev node is not null
   if (prev_Node == null) {
   System.out.println("The previous node is required,it cannot be NULL ");
   return;
}
 
   //allocate new node and set it to data
   Node newNode = new Node(new_data);
 
   //set next of newNode as next of prev node
   newNode.next = prev_Node.next;
 
   //set new node to next of prev node
   prev_Node.next = newNode;
 
   //set prev of newNode as prev node
   newNode.prev = prev_Node;
 
   //set prev of new node's next to newnode
   if (newNode.next != null)
   newNode.next.prev = newNode;
}
 
// Add a node at the end of the list
void insert_end(int new_data)   {
   //allocate the node and set the data
   Node newNode = new Node(new_data);
   Node last = head; //set last as the head
   //set next of new node to null since its the last node
   newNode.next = null;
 
   //set new node as head if the list is null
   if (head == null) {
      newNode.prev = null;
      head = newNode;
      return;
   }
   //if list is not null then traverse it till the last node and set last next to last
   while (last.next != null)
   last = last.next;
 
   last.next = newNode;           //set last next to new node
 
   newNode.prev = last;           //set last as prev of new node
}
// display the contents of linked list starting from the given node
public void displaylist(Node node)
{
   Node last = null;
   while (node != null) {
      System.out.print(node.data + "<==>");
      last = node;
      node = node.next;
   }
   if(node == null)
   System.out.print("null");
   System.out.println();
 
   }
}
class Main{
   public static void main(String[] args)
      {
      /* Start with the empty list */
      Doubly_linkedList dll = new Doubly_linkedList();
 
      // Insert 40.
      dll.insert_end(40);
 
      // Insert 20 at the beginning.
      dll.insert_front(20);
 
      // Insert 10 at the beginning.
      dll.insert_front(10);
 
      // Insert 50 at the end.
      dll.insert_end(50);
 
      // Insert 30, after 20.
      dll.Insert_After(dll.head.next, 30);
 
      System.out.println("Doubly linked list created is as follows: ");
      dll.displaylist(dll.head);
      }
}

Benefits:

– The doubly linked list can be traverseds in forward and backward directions, unlike singly connected list which can be passed through in the forward direction just.
– Delete operation in a doubly-linked lists is more efficient when compared to a singly note when a provided node is given. As we require a previous node to erase the provided node in a singly linked list, we often need to traverse the list to discover the previous node. This hits the performance.
– Insertion operation can be done quickly in two times as linked to the singly connected list.

The post Understand Doubly Linked List C++ With Illustration appeared first on Techolac - Computer Technology News.

]]>
https://www.techolac.com/doubly-linked-list-c-/feed/ 0
How to become a DBA (database administrator) https://www.techolac.com/linux/how-to-become-a-dba-database-administrator/ https://www.techolac.com/linux/how-to-become-a-dba-database-administrator/#respond Tue, 10 Mar 2020 16:05:45 +0000 http://www.techolac.com/?p=19077 A challenging but rewarding career path, database administrators are a highly in-demand job position for numerous company types. The companies that most often hire DBAs are technology firms, which includes ISPs, web development companies, and data-processing firms. Other companies that use large databases, such as insurance companies and financial institutions, also employ database administrators. Database […]

The post How to become a DBA (database administrator) appeared first on Techolac - Computer Technology News.

]]>
A challenging but rewarding career path, database administrators are a highly in-demand job position for numerous company types. The companies that most often hire DBAs are technology firms, which includes ISPs, web development companies, and data-processing firms. Other companies that use large databases, such as insurance companies and financial institutions, also employ database administrators.

Database administrators are responsible for handling a significant amount of data, and turning it into actionable information for the company. They’re also responsible for monitoring the database system, such as for performance. This article from Sentryone has more information on SQL server performance counters for monitoring.

For a database administrator’s job role, let’s use financial institutions as an example. Banks contain millions of pieces of data on their customers, which holds information such as account balances, loan payments, credit card applications, and more. All of this data is just numbers, which gives no useful information in data form.

The role of a database administrator, in this example, would be to compile that data into informational reports, based on data analytics. So the report might contain information such as clients at risk for defaulting on loans, or what months customers tend to order new checkbooks. This sort of information allows the financial institution to better assess business strategies, customer outreach, and risk management.

How much do database administrators earn?

A database administrator’s pay is directly influenced by experience and seniority, but also the specific type of database specialization. There are “traditional” database platforms known as relational databases, and these include Oracle DB, Microsoft SQL Server, and IBM DB2. There are also newer database platforms known as non relational databases, or NoSQL, offered by companies like Google and Amazon.

So a DBA’s salary is not only affected by experience, but the type of database platforms you specialize in. As an example, ZipRecruiter shows annual salaries between as high as $140,500 and as low as $52,500, for non-specific SQL DBAs. The majority of SQL Database Administrator salaries currently range between $87,000 (25th percentile) to $116,000 (75th percentile) across the United States.

In comparison, ZipRecruiter shows the average salary for database administrator specialized in Mongodb as $135,049 a year, with salaries as high as $173,500 and as low as $91,000. This is certainly a bit more earnings than a non-specialized SQL DBA.

Another great thing is that DBA’s are not only in high demand, but the DBA industry itself is among the industries with the lowest odds of being replaced by robots. Certain tasks may become automated, but there will always be a need for data specialists.

 

What are a database administrator’s responsibilities?

  • Installing and upgrading the database server and/or application tools.
  • Planning for and allocating the database system’s physical requirements, such as memory, disk space, network requirements, etc.
  • Modifying the database structure using information provided by application developers.
  • Creating users profiles, and ensuring system security by careful allocation of user permissions.
  • Ensuring compliance with database vendor license agreement, including number of installations, and taking care of licensing renewals.
  • Creating a backup and recovery strategy for the database, and regularly testing the backups to ensure usability.
  • Monitoring technical support for both database systems and related applications.
  • Creating reports by querying from database (as per need). These reports can be in the form of pre-formatted reports using the application frontend, or custom-made ad hoc reports by the database administrator.
  • Monitoring and optimizing the database’s performance using either manual or automated tools. This may be a database administrator’s most important task.
  • Migrating database instances to new hardware and new versions of software from on premise to cloud based databases and vice versa.

So how do you become a DBA?

Obtain a Bachelor’s Degree and certificates

You’ll want to complete a 4-year program in computer and information systems / sciences, with a concentrated focus on database systems. Most of the topics covered will revolve around data communications, database management, web page apps, discrete structures, and other topics related to database systems and data structure.

It would also be highly beneficial to complete an internship, if your bachelor’s degree program allows for it. You’ll gain a lot of valuable experience that will give your job resume an advantage when you first start pursuing a career in the DBA field.

Additionally, to make your skills stand out, earn industry certifications. Microsoft, Cisco, and SQL offer database managers the opportunity to earn voluntary certifications in the use of their products. These certifications often require the completion of training programs and the demonstration of proficiency in operating the company’s product.

Start out in database development or data analytics

The majority of database administrators first worked in either database development, or as data analysts, according to the Bureau of Labour Statistics. Either of these job roles will give you the experience necessary to transition into database management. However, both paths have separate roles, so let’s examine some of the responsibilities associated with both.

Database developer responsibilities:

  • Optimize and maintain legacy systems
  • Modify databases according to requests and perform tests
  • Solve database usage issues and malfunctions
  • Liaise with developers to improve applications and establish best practices
  • Gather user requirements and identify new features
  • Provide data management support to users
  • Ensure all database programs meet company and performance requirements.

 

Data analyst responsibilities:

  • Managing master data, including creation, updates, and deletion.
  • Managing users and user roles.
  • Provide quality assurance of imported data, working with quality assurance analyst if necessary.
  • Commissioning and decommissioning of data sets.
  • Processing confidential data and information according to guidelines.
  • Managing and designing the reporting environment, including data sources, security, and metadata.

Apply for a database management role

After around 1 to 5 years of experience in either of the job roles mentioned above, you could then be qualified for a database management position.

The post How to become a DBA (database administrator) appeared first on Techolac - Computer Technology News.

]]>
https://www.techolac.com/linux/how-to-become-a-dba-database-administrator/feed/ 0
How to Install the GUI/Desktop on Ubuntu Server https://www.techolac.com/linux/how-to-install-the-gui-desktop-on-ubuntu-server/ https://www.techolac.com/linux/how-to-install-the-gui-desktop-on-ubuntu-server/#respond Tue, 31 Dec 2019 18:56:02 +0000 http://www.techolac.com/linux/how-to-install-the-gui-desktop-on-ubuntu-server/ Usually, it’s not advised to run a GUI (Graphical User Interface) on a server system.  Operation on any server should be done on the CLI (Command Line Interface). The primary reason for this is that GUI exerts a lot of demand on hardware resources such as RAM and CPU. However, if you are a little […]

The post How to Install the GUI/Desktop on Ubuntu Server appeared first on Techolac - Computer Technology News.

]]>

Usually, it’s not advised to run a GUI (Graphical User Interface) on a server system.  Operation on any server should be done on the CLI (Command Line Interface). The primary reason for this is that GUI exerts a lot of demand on hardware resources such as RAM and CPU. However, if you are a little curious and want to try out different light-weight Desktop managers on one of your servers, follow this guide.

In this tutorial, I am going to cover the installation of 7 desktop environments on Ubuntu.

  • MATE core
  • Lubuntu core
  • Kubuntu core
  • XFCE
  • LXDE
  • GNOME
  • Budgie Desktop

Prerequisites

Before getting started, ensure that you update & upgrade your system

$ sudo apt update && sudo apt upgrade

Next, install tasksel manager.

$sudo apt install tasksel

Now we can begin installing the various Desktop environments.

1) Mate Core Server Desktop

Installing the MATE desktop use the following command

$ sudo tasksel install ubuntu-mate-core

Once the GUI is up and running launch it using the following option

$ sudo service lightdm start

install mate-core desktop server

install mate-core desktop on ubuntu 18.04

2) Lubuntu Core Server Desktop

This is considered to be the most lightweight and resource friendly GUI for Ubuntu 18.04 server
It is based on the LXDE desktop environment. To install Lubuntu execute

$ sudo tasksel install lubuntu-core

Once the Lubuntu-core GUI is successfully installed, launch the display manager by running the command below or simply by rebooting your system

$ sudo service lightdm start

Thereafter, Log out and click on the button as shown to select the GUI  manager of your choice

In the drop-down list, click on Lubuntu

Log in and Lubuntu will be launched as shown

install lubuntu on Ubuntu server 18.04

3) Kubuntu Core Server Desktop

Xubuntu is yet another light-weight desktop environment that borrows a lot from Xfce desktop environment.

To get started with the installation of Xubuntu run the command below

$ sudo tasksel install kubuntu-desktop

Once it is successfully installed, start the display manager by running the command below or simply restart your server

$ sudo service lightdm start

Once again, log out or restart your machine and from drop the drop-down list, select Kubuntu

install kubuntu on Ubuntu server 18.04

4) XFCE

Xubuntu borrows a leaf from the Xfce4 environment. To install it use the following command

# sudo tasksel install xfce4-slim

After the GUI installation, use the command to activate it

# sudo service slim start

This will prompt you to select the default manager. Select slim and hit ENTER.

install xfce on Ubuntu 18.04

Log out or reboot and select ‘Xfce’ option from the drop-down list and login using your credentials.

Shortly, the  Xfce display manager will come to life.

install xfce4-slim on ubuntu server 18.04

5) LXDE

This desktop is considered the most economical to system resources. Lubuntu is based on LXDE desktop environment. Use the following command

$ sudo apt-get install lxde

To start LXDE, log out or reboot and select ‘LXDE’ from the drop-down list of display managers on log on.

install lxde on ubuntu 18.04 server

6) GNOME

Gnome will take typically 5 to 10 minutes to install depending on the hardware and software requirements your server has. Run the following command to install Gnome

$ sudo apt-get install ubuntu-gnome-desktop

or

$sudo tasksel ubuntu-desktop

To activate Gnome, restart the server or use the following command

$ sudo service lightdm start

install gnome on ubuntu server 18.04

7) Budgie Desktop

Finally, let us install Budgie Desktop environment. To accomplish this, execute the following command

$ sudo apt install ubuntu-budgie-desktop

After successful installation, log out and select the Budgie desktop option. Log in with your username and password and enjoy the beauty of budgie!

installed budgie desktop on ubuntu

fresh install budgie desktop on ubuntu

Sometimes you need the GUI on your Ubuntu server to handle simple day-to-day tasks that need quick interaction without going deep into the server settings. Feel free to try out the various display managers and let us know your thoughts.

The post How to Install the GUI/Desktop on Ubuntu Server appeared first on Techolac - Computer Technology News.

]]>
https://www.techolac.com/linux/how-to-install-the-gui-desktop-on-ubuntu-server/feed/ 0
How to Install Google Chrome on Debian 10 https://www.techolac.com/linux/how-to-install-google-chrome-on-debian-10/ https://www.techolac.com/linux/how-to-install-google-chrome-on-debian-10/#respond Sat, 31 Aug 2019 18:48:36 +0000 https://www.techolac.com/linux/how-to-install-google-chrome-on-debian-10/ Google Chrome is one of the most popular web browsers among users. You are most likely to find Google Chrome installed on someone’s browser due to its ease of usability and compatibility to many of Google’s applications. In this tutorial, we examine how you can install Google Chrome on Debian 10. Prerequisites Before we set […]

The post How to Install Google Chrome on Debian 10 appeared first on Techolac - Computer Technology News.

]]>

Google Chrome is one of the most popular web browsers among users. You are most likely to find Google Chrome installed on someone’s browser due to its ease of usability and compatibility to many of Google’s applications. In this tutorial, we examine how you can install Google Chrome on Debian 10.

Prerequisites

Before we set sail, ensure you have the following

  1. An instance of Debian OS
  2. Sudo user with root privileges

Let’s get started.

Download Google Chrome

To start off, press the combinationCtrl + Alt+ T on the keyboard to launch the terminal.

Once the terminal is launched update the system repositories by running:

# apt update
# apt upgrade

Google Chrome is not available on Debian’s repository. This will force to download from Google’s repository. To accomplish this, we need to download the Google Chrome’s Debian package from Google’s official repository using the wget command.

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

Sample Output

download google chrome
With Google Chrome’s Debian package already installed, let us now install Google Chrome.

Install Google Chrome on Debian

To install Google Chrome alongside all the dependencies, run the command:

# apt install ./google-chrome-stable_current_amd64.deb

Sample Output
Install Google Chrome on Debian

This should only take between 3-4 minutes depending on the speed of your internet connection.

Launching Google Chrome

With Google Chrome installed, You can launch it by clicking on Activities > Google Chrome.

Alternatively, you can head out to your terminal and execute the command:

# google-chrome

When launching Chrome for the first time, a pop-up notification below will be displayed asking you whether you want Google Chrome to be your default browser and if you would wish to automatically send crash reports to Google.

make google default browser

Make a choice according to your preference and click the OK button.

This will open Google Chrome’s browser default page as shown

google chrome browser

From there you can click on ‘Sync Now’. This will require you to Sign In using your Google’s account and from there, you will have a smooth ride.

Removing Google Chrome

If Google Chrome is not your piece of cake and you’d rather use another browser instead, uninstall Google Chrome using the command

# sudo apt purge google-chrome-stable

Next, run

# sudo apt autoremove

The second command clears away any residual packages after the uninstallation of Google Chrome and helps free space.

Conclusion

In this article, we learned how to install Google Chrome on Debian OS. Give it a try and give us your experience. Thank you for your time.

 

The post How to Install Google Chrome on Debian 10 appeared first on Techolac - Computer Technology News.

]]>
https://www.techolac.com/linux/how-to-install-google-chrome-on-debian-10/feed/ 0