Search the Community
Showing results for tags 'linux'.
-
The post How to Set Priority of a Running Process in Linux first appeared on Tecmint: Linux Howtos, Tutorials & Guides .In this article, we’ll briefly explain the kernel scheduler (also known as the process scheduler), and process priority, which are topics beyond the scope of The post How to Set Priority of a Running Process in Linux first appeared on Tecmint: Linux Howtos, Tutorials & Guides.View the full article
-
The post How to Install Kodi on Ubuntu-based Linux Distributions first appeared on Tecmint: Linux Howtos, Tutorials & Guides .Kodi is a free and open-source media server application that transforms your Linux system into a full-fledged entertainment center. It lets you organize, play, and The post How to Install Kodi on Ubuntu-based Linux Distributions first appeared on Tecmint: Linux Howtos, Tutorials & Guides.View the full article
-
The post 5 Different Types of Shell Commands and Their Usage in Linux first appeared on Tecmint: Linux Howtos, Tutorials & Guides .When it comes to gaining absolute control over your Linux system, then nothing comes close to the command line interface (CLI). In order to become The post 5 Different Types of Shell Commands and Their Usage in Linux first appeared on Tecmint: Linux Howtos, Tutorials & Guides.View the full article
-
Bash or Bourne Again Shell is one of Linux’s most essential features. It is an interpreter of shell commands that you can use to automate tasks and perform various actions. In other words, you can add any Linux command in the script and create a combination of multiple commands to automate the tasks from the terminal. Although bash scripts don’t need any particular extension to function, they usually have the .sh extension. Many Linux users need clarification about the proper file extension for a bash script. So, this blog provides deeper insight into the right extensions for a bash script. Scripts With No Extension Many Linux users prefer to use the shebang (#!/bin/bash) rather than using any extension with the script. For example, let’s create a script to greet a user using the script, so first create a file using the touch command: touch greeting Now, open it with the text editor and add the shebang line with the commands: #!/bin/bash echo "Hello $USER" echo "How are you?" Once you are done, provide the executable permission to the script: chmod u+x greeting Finally, run the script, and the system will print the information: ./greeting Bash Extensions (.sh and .bash) .sh is the universal extension for any shell, including bash, csh, tsch, etc. It does not specify which shell you are currently using for your script. On the other hand, .bash is specifically used for the bash shell and instructs the system to run the script in the bash environment. If you are working on bash, use the .bash extension rather than .sh, as .bash ensures that it must be run in bash. Moreover, .sh provides portability for different shells, avoiding the features restricted to specific shells and working on POSIX-compliant shells. What is Proper File Extension for a Bash Script? There are multiple conditions under which you can use different script extensions. For example, use the shebang if you want to go simple with no extension. However, if you want to use the bash-specific feature, please use the .bash extension and .sh when you are unsure about the shell you are using. Moreover, you can use the .sh extension if you are a beginner and want to start learning the different shell scripting. Wrapping Up This was all about the most accurate explanation of a proper file extension for a bash script. We have explained three different extension approaches you can use while working on bash scripting. If you are new to shell scripting, please use .sh scripting and .bash to work around the bash environment. View the full article
-
- linux scripts
- scripting
-
(and 1 more)
Tagged with:
-
In this guide, we will demonstrate using the open command in Linux. Prerequisites To perform the steps demonstrated in this guide, you will need the following components: A properly configured Linux system. For testing, consider using a Linux VM. Basic understanding of the command-line interface. The open command In Linux, the open command is a CLI tool that attempts to open a specified file, directory, or URL using the default program. Check out the following example: open https://linuxhint.com/ Here, the open command will open the URL on the default web browser. open vs xdg-open Some Linux systems use xdg-open (part of the xdg-utils package) instead of the open command. In practice, they both behave the same: xdg-open https://example.com To rectify this, we can create an alias for the xdg-open command. The following example demonstrates creating a temporary Bash alias: alias open='xdg-open' Verify if the alias was created successfully: alias alias open Note that various command arguments of the open command won’t work with xdg-open. Some distros implement the open command as a symlink to xdg-open (Ubuntu, for example). Using the open Command Opening Text Files To open a text file in the default text editor/viewer, run the following command: open test.txt Opening an URL If we attempt to open a URL, the expected behavior is to open the URL in the default web browser. open https://archlinux.org Opening a File using a Specific App If not specified, the open command will use the default app to open the specified file/URL. However, we can specify a different program to use when attempting to open the file. To open with a different program, the command structure is as follows: open -a We can also specify what app to use using bundle identifier: open -b Note that it won’t work with xdg-open. Opening a File in a New Program Instance If the file-associated program is already running, then open will use the already-running instance. In some situations, however, we may want to open the file in a new program instance. To open the file with a new program instance, use the “-n” flag: open -n Note that this method will also not work with xdg-open. Final Thoughts In this guide, we demonstrated using the open command on Linux. It takes a file, directory, or URL as an argument and launches the default program designated to handle it. Interested in learning about other Linux commands? Check out the Linux commands sub-category. Happy computing! View the full article
-
In this guide, we will demonstrate a number of ways of using the APT command on Linux. Prerequisites To perform the steps demonstrated in this guide, you will need the following components: A properly configured Linux distro that uses APT as the package manager, for example, Debian, Ubuntu, Linux Mint, Devuan, etc. Basic understanding of the CLI and package management. The APT Command Any Linux distro comprises a number of packages. To manage these numerous packages in an efficient manner, almost all distros use one or more package managers. APT is one such package manager. It’s a CLI tool that can install, uninstall, and manage DEB packages on distros like Debian, Ubuntu, and Debian/Ubuntu-based ones. If an APT command is to make system-level changes, it must run with root privilege (with the help of the sudo command). Using the APT Command Example 1: Updating the List of Available Packages Before APT can work with packages, it needs a working database of all the available packages. To generate the most up-to-date database, run the following command: sudo apt update Here, APT will fetch the latest package database from the package repo(s). If any package update is available, APT will also print a notification. Example 2: List Available Package Upgrades If APT finds package upgrades, the following command will list all of them: apt list --upgradable Example 3: Upgrading Packages If one or more package updates were found, then you can upgrade all of them at once using the following command: sudo apt upgrade Alternatively, the following command will upgrade the whole system by removing, installing, and upgrading packages as needed: sudo apt full-upgrade Example 4: Upgrading Specific Packages If you don’t want to install all the package upgrades but specific ones, use the following command structure: sudo apt --only-upgrade install [package_name] Example 5: Downgrading Packages Sometimes, a package upgrade may break things. In such a situation, you may want to downgrade the problematic package(s) to an earlier version. To downgrade a package, run the following command: apt install [package_name]=[older_package_version] Example 6: Searching for a Package To check if a package is available from the package repo, use the following command: apt search [package_name] Example 7: Installing a Package If a package exists on the package repo(s) specified in the sources.list, then you can directly install it using the following command: sudo apt install [package_name] Example 8: Installing a Specific Package Version The procedure is the same as example #5. If you want to install a specific version of a package, specify it in the following manner: sudo apt install [package_name]=[package_version] If the package version is not specified, then APT will automatically install the latest package. Example 9: Listing Available Package Versions The default package repo(s), in most cases, will host multiple versions of a package. The following command will reveal all the available package versions: apt-cache policy [package_name] Example 10: Holding a Package Whenever running the apt upgrade command, it will check for upgrades for all the installed packages. In certain situations, however, you may want to skip upgrading certain packages for various reasons (stability, compatibility, etc.). In such a situation, you can mark the target package(s) as hold. Basically, whenever performing automatic package upgrades, APT will skip these packages. To mark a package as hold, run the following command: sudo apt-mark hold [package_name] To get a list of all the hold packages, run the following command: apt-mark showhold To remove the hold mark from a package, use the following command: sudo apt-mark unhold [package_name] Example 11: Installing a DEB Package Debian and Debian-based systems use DEB as the software packaging. All the packages from the package repo(s) also come as DEB files. To install a DEB package, use the following APT command: sudo apt install [path_to_deb] APT should take care of all the necessary dependencies as well. Example 12: Uninstalling a Package To uninstall a package, use the following command: sudo apt remove [package_name] Generally, APT won’t remove the package dependencies. To remove them afterward, run the following command: sudo apt autoremove We can also instruct APT to perform both of these actions in a single command: sudo apt autoremove --purge [package_name] Note that purging a package will also remove all the package-related configuration files, so exercise caution. Example 13: Listing Installed Packages APT keeps track of all the packages installed from the package repo(s) and DEB packages. The following command will list all the installed packages that APT is keeping track of: apt list --installed We can filter this output using grep to check if a package with a particular name/pattern is installed: apt list --installed | grep [pattern] Learn more about grep. Example 14: Package Details Before installing a package from the repo, we can check detailed info about it: apt show [package_name] Example 15: Downloading a Package from Repo To download a package from the package repo(s) without installing it, use the following command: apt download [package_name] It will download the package as a DEB file in the current directory. You can later install it using APT following the steps demonstrated in example #11. Bonus: Editing sources.list The sources.list file contains the URL for all the APT repos. We can open it using APT for editing: sudo apt edit-sources Alternatively, we can manually edit it using any text editor: sudo vim /etc/apt/sources.list In the case of Ubuntu, to auto select the nearest mirror, update the repo URLs with the following one: mirror://mirrors.ubuntu.com/mirrors.txt After updating sources.list, you have to update the APT cache: sudo apt update Bonus: APT Documentation The following command will print a quick help page: apt --help To learn more about all the available options with in-depth explanations, check out the man page: man apt Final Thoughts In this guide, we demonstrated numerous ways of using the APT command. We learned about installing, uninstalling, upgrading, downgrading, and downloading packages on Debian and Debian-based systems. While APT handles DEB packages, there are other Linux packaging formats, for example, flatpak, snap, etc. These packages are designed to be practically universal Linux packages that can be installed on any Linux system. Happy computing! View the full article
-
The post BCC – Tracing Tools for Linux IO, Networking, Monitoring, and More first appeared on Tecmint: Linux Howtos, Tutorials & Guides .BCC (BPF Compiler Collection) is a powerful set of appropriate tools and example files for creating resourceful kernel tracing and manipulation programs. It utilizes extended The post BCC – Tracing Tools for Linux IO, Networking, Monitoring, and More first appeared on Tecmint: Linux Howtos, Tutorials & Guides.View the full article
-
The post Setting Up LAMP (Apache, MariaDB, PHP) on Fedora 40 Server first appeared on Tecmint: Linux Howtos, Tutorials & Guides .After installing the Fedora 40 server edition, you might want to host a website on your server. To do this, you need a reliable server The post Setting Up LAMP (Apache, MariaDB, PHP) on Fedora 40 Server first appeared on Tecmint: Linux Howtos, Tutorials & Guides.View the full article
-
The post vlock: The Smart Way to Lock Your Linux Terminal first appeared on Tecmint: Linux Howtos, Tutorials & Guides .Virtual consoles are very important features of Linux, and they provide a system user a shell prompt to use the system in a non-graphical setup The post vlock: The Smart Way to Lock Your Linux Terminal first appeared on Tecmint: Linux Howtos, Tutorials & Guides.View the full article
-
The post How to Use Compound Expressions with Awk in Linux – Part 5 first appeared on Tecmint: Linux Howtos, Tutorials & Guides .All along, we have been looking at simple expressions when checking whether a condition has been met or not. What if you want to use The post How to Use Compound Expressions with Awk in Linux – Part 5 first appeared on Tecmint: Linux Howtos, Tutorials & Guides.View the full article
-
Creating a file in Bash scripting is an essential skill for a good Linux administrator. In Linux, a few commands allow you to easily generate logs, configuration, or even basic text files. Hence, you can use these commands to create bash files without hassles. However, many beginners want to know these commands in order to work on bash efficiently. So, this quick guide is about simple ways to create files in bash. The Touch Command The touch command is a user-friendly yet potent tool for file creation. By using this command, you can easily create a file: touch example.sh Moreover, you need to provide an executable permission, so please run the chmod command for it: chmod u+x example.sh Using Text Editor A text editor is essential for creating intricate or well-structured files. Luckily, bash offers a range of options, such as Nano and Vi/Vim. Nano, in particular, is a fantastic choice for this purpose. nano example.sh or vi example.sh You can use this command to open the Nano text editor and start typing in your file. Remember to save and exit the editor when you’re finished. Alternatively, you can utilize Vi/ Vim commands to open the Vi/Vim text editor. Conclusion To summarize, various options are available to create files in bash, making the process quite simple. Depending on your needs, you can explore more interactive options with text editors like Nano or Vi/Vim. Experimenting with these techniques will increase your proficiency in bash scripting, leading to a greater sense of confidence in your endeavors. View the full article
-
The Ubuntu security team has recently rolled out critical security updates aimed at addressing several vulnerabilities identified in Squid, a widely used web proxy cache server. These vulnerabilities, if left unaddressed, could potentially expose systems to denial-of-service attacks. Let’s delve into the specifics of these vulnerabilities and understand their implications. Recent Squid Vulnerabilities Fixed […] The post Multiple Squid Vulnerabilities Fixed in Ubuntu appeared first on TuxCare. The post Multiple Squid Vulnerabilities Fixed in Ubuntu appeared first on Security Boulevard. View the full article
-
OpenCL is an open-source library for running compute tasks on GPUs. OpenCL enables 3D hardware acceleration for supported applications (i.e. LibreOffice) using the GPU hardware (i.e. Intel iGPU) you have installed on your computer. So, unless OpenCL is installed, OpenCL-supported applications (i.e. LibreOffice) will not have hardware acceleration enabled and may not perform well (i.e. UI might be laggy) as a result. So, it’s a good idea to install OpenCL on your newly installed Fedora 40 (or later) desktop operating system. In this article, I am going to show you how to install OpenCL for your Intel iGPU on Fedora 40 (or later). Table of Contents Updating DNF Package Repository Cache on Fedora Installing OpenCL for Intel GPU on Fedora Checking if OpenCL is Working on Fedora Conclusion References Updating DNF Package Repository Cache on Fedora To update the DNF package repository cache on Fedora 40 (and future versions), run the following command: $ sudo dnf makecache Installing OpenCL for Intel GPU on Fedora To install OpenCL libraries for Intel GPUs, run the following command: $ sudo dnf install intel-compute-runtime intel-opencl To confirm the installation, press Y and then press <Enter>. OpenCL for Intel GPU is being installed. It will take a few seconds to complete. OpenCL libraries for Intel GPU should be installed on your Fedora system. For the changes to take effect, restart your computer with the following command: $ sudo reboot Checking if OpenCL is Working on Fedora To check if OpenCL is working on your Fedora system, run the command below: $ clinfo -l If OpenCL is working, your Intel GPU should be listed as an OpenCL device as shown in the screenshot below. Conclusion In this article, I have shown you how to install OpenCL for Intel GPU on your Fedora 40 (or later) operating system so that OpenCL-supported applications can perform better using OpenCL hardware acceleration on Fedora. References GPGPU – ArchWiki View the full article
-
Photo by Gabriel Heinzer on Unsplash We’re excited about the upcoming Ubuntu 24.04 LTS release, Noble Numbat. Like all Ubuntu releases, Ubuntu 24.04 LTS comes with 5 years of free security maintenance for the main repository. Support can be expanded for an extra 5 years, and to include the universe repository, via Ubuntu Pro. Organisations looking to keep their systems secure without needing a major upgrade can also get the Legacy Support add-on to expand that support beyond the 10 years. Combined with the enhanced security coverage provided by Ubuntu Pro and Legacy Support, Ubuntu 24.04 LTS provides a secure foundation on which to develop and deploy your applications and services in an increasingly risky environment. In this blog post, we will look at some of the enhancements and security features included in Noble Numbat, building on those available in Ubuntu 22.04 LTS. Unprivileged user namespace restrictions Unprivileged user namespaces are a widely used feature of the Linux kernel, providing additional security isolation for applications, and are often employed as part of a sandbox environment. They allow an application to gain additional permissions within a constrained environment, so that a more trusted part of an application can then use these additional permissions to create a more constrained sandbox environment within which less trusted parts can then be executed. A common use case is the sandboxing employed by modern web browsers, where the (trusted) application itself sets up the sandbox where it executes the untrusted web content. However, by providing these additional permissions, unprivileged user namespaces also expose additional attack surfaces within the Linux kernel. There has been a long history of (ab)use of unprivileged user namespaces to exploit various kernel vulnerabilities. The most recent interim release of Ubuntu, 23.10, introduced the ability to restrict the use of unprivileged user namespaces to only those applications which legitimately require such access. In Ubuntu 24.04 LTS, this feature has both been improved to cover additional applications both within Ubuntu and from third parties, and to allow better default semantics of the feature. For Ubuntu 24.04 LTS, the use of unprivileged user namespaces is then allowed for all applications but access to any additional permissions within the namespace are denied. This allows more applications to more better gracefully handle this default restriction whilst still protecting against the abuse of user namespaces to gain access to additional attack surfaces within the Linux kernel. Binary hardening Modern toolchains and compilers have gained many enhancements to be able to create binaries that include various defensive mechanisms. These include the ability to detect and avoid various possible buffer overflow conditions as well as the ability to take advantage of modern processor features like branch protection for additional defence against code reuse attacks. The GNU C library, used as the cornerstone of many applications on Ubuntu, provides runtime detection of, and protection against, certain types of buffer overflow cases, as well as certain dangerous string handling operations via the use of the _FORTIFY_SOURCE macro. FORTIFY_SOURCE can be specified at various levels providing increasing security features, ranging from 0 to 3. Modern Ubuntu releases have all used FORTIFY_SOURCE=2 which provided a solid foundation by including checks on string handling functions like sprintf(), strcpy() and others to detect possible buffer overflows, as well as format-string vulnerabilities via the %n format specifier in various cases. Ubuntu 24.04 LTS enables additional security features by increasing this to FORTIFY_SOURCE=3. Level three greatly enhances the detection of possible dangerous use of a number of other common memory management functions including memmove(), memcpy(), snprintf(), vsnprintf(), strtok() and strncat(). This feature is enabled by default in the gcc compiler within Ubuntu 24.04 LTS, so that all packages in the Ubuntu archive which are compiled with gcc, or any applications compiled with gcc on Ubuntu 24.04 LTS also receive this additional protection. The Armv8-M hardware architecture (provided by the “arm64” software architecture on Ubuntu) provides hardware-enforced pointer authentication and branch target identification. Pointer authentication provides the ability to detect malicious stack buffer modifications which aim to redirect pointers stored on the stack to attacker controlled locations, whilst branch target identification is used to track certain indirect branch instructions and the possible locations which they can target. By tracking such valid locations, the processor can detect possible malicious jump-oriented programming attacks which aim to use existing indirect branches to jump to other gadgets within the code. The gcc compiler supports these features via the -mbranch-protection option. In Ubuntu 24.04 LTS, the dpkg package now enables -mbranch-protection=standard, so that all packages within the Ubuntu archive enable support for these hardware features where available. AppArmor 4 The aforementioned unprivileged user namespace restrictions are all backed by the AppArmor mandatory access control system. AppArmor allows a system administrator to implement the principle of least authority by defining which resources an application should be granted access to and denying all others. AppArmor consists of a userspace package, which is used to define the security profiles for applications and the system, as well as the AppArmor Linux Security Module within the Linux kernel which provides enforcement of the policies. Ubuntu 24.04 LTS includes the latest AppArmor 4.0 release, providing support for many new features, such as specifying allowed network addresses and ports within the security policy (rather than just high level protocols) or various conditionals to allow more complex policy to be expressed. An exciting new development provided by AppArmor 4 in Ubuntu 24.04 LTS is the ability to defer access control decisions to a trusted userspace program. This allows for quite advanced decision making to be implemented, by taking into account the greater context available within userspace or to even interact with the user / system administrator in a real-time fashion. For example, the experimental snapd prompting feature takes advantage of this work to allow users to exercise direct control over which files a snap can access within their home directory. Finally, within the kernel, AppArmor has gained the ability to mediate access to user namespaces as well as the io_uring subsystem, both of which have historically provided additional kernel attack surfaces to malicious applications. Disabling of old TLS versions The use of cryptography for private communications is the backbone of the modern internet. The Transport Layer Security protocol has provided confidentiality and integrity to internet communications since it was first standardised in 1999 with TLS 1.0. This protocol has undergone various revisions since that time to introduce additional security features and avoid various security issues inherent in the earlier versions of this standard. Given the wide range of TLS versions and options supported by each, modern internet systems will use a process of auto-negotiation to select an appropriate combination of protocol version and parameters when establishing a secure communications link. In Ubuntu 24.04 LTS, TLS 1.0, 1.1 and DTLS 1.0 are all forcefully disabled (for any applications that use the underlying openssl or gnutls libraries) to ensure that users are not exposed to possible TLS downgrade attacks which could expose their sensitive information. Upstream Kernel Security Features Linux kernel v5.15 was used as the basis for the Linux kernel in the previous Ubuntu 22.04 LTS release. This provided a number of kernel security features including core scheduling, kernel stack randomisation and unprivileged BPF restrictions to name a few. Since that time, the upstream Linux kernel community has been busy adding additional kernel security features. Ubuntu 24.04 LTS includes the v6.8 Linux kernel which provides the following additional security features: Intel shadow stack support Modern Intel CPUs support an additional hardware feature aimed at preventing certain types of return-oriented programming (ROP) and other attacks that target the malicious corruption of the call stack. A shadow stack is a hardware enforced copy of the stack return address that cannot be directly modified by the CPU. When the processor returns from a function call, the return address from the stack is compared against the value from the shadow stack – if the two differ, the process is terminated to prevent a possible ROP attack. Whilst compiler support for this feature has been enabled for userspace packages since Ubuntu 19.10, it has not been able to be utilised until it was also supported by the kernel and the C library. Ubuntu 24.04 LTS includes this additional support for shadow stacks to allow this feature to be enabled when desired by setting the GLIBC_TUNABLES=glibc.cpu.hwcaps=SHSTK environment variable. Secure virtualisation with AMD SEV-SNP and Intel TDX Confidential computing represents a fundamental departure from the traditional threat model, where vulnerabilities in the complex codebase of privileged system software like the operating system, hypervisor, and firmware pose ongoing risks to the confidentiality and integrity of both code and data. Likewise, unauthorised access by a malicious cloud administrator could jeopardise the security of your virtual machine (VM) and its environment. Building on the innovation of Trusted Execution Environments at the silicon level, Ubuntu Confidential VMs aim to restore your control over the security assurances of your VMs. For the x86 architecture, both AMD and Intel processors provide hardware features (named AMD SEV SNP and Intel TDX respectively) to support running virtual machines with memory encryption and integrity protection. They ensure that the data contained within the virtual machine is inaccessible to the hypervisor and hence the infrastructure operator. Support for using these features as a guest virtual machine was introduced in the upstream Linux kernel version 5.19. Thanks to Ubuntu Confidential VMs, a user can make use of compute resources provided by a third party whilst maintaining the integrity and confidentiality of their data through the use of memory encryption and other features. On the public cloud, Ubuntu offers the widest portfolio of confidential VMs. These build on the innovation of both the hardware features, with offerings available across Microsoft Azure, Google Cloud and Amazon AWS. For enterprise customers seeking to harness confidential computing within their private data centres, a fully enabled software stack is essential. This stack encompasses both the guest side (kernel and OVMF) and the host side (kernel-KVM, QEMU, and Libvirt). Currently, the host-side patches are not yet upstream. To address this, Canonical and Intel have forged a strategic collaboration to empower Ubuntu customers with an Intel-optimised TDX Ubuntu build. This offering includes all necessary guest and host patches, even those not yet merged upstream, starting with Ubuntu 23.10 and extending into 24.04 and beyond. The complete TDX software stack is accessible through this github repository. This collaborative effort enables our customers to promptly leverage the security assurances of Intel TDX. It also serves to narrow the gap between silicon innovation and software readiness, a gap that grows as Intel continues to push the boundaries of hardware innovation with 5th Gen Intel Xeon scalable processors and beyond. Strict compile-time bounds checking Similar to hardening of binaries within the libraries and applications distributed in Ubuntu, the Linux kernel itself gained enhanced support for detecting possible buffer overflows at compile time via improved bounds checking of the memcpy() family of functions. Within the kernel, the FORTIFY_SOURCE macro enables various checks in memory management functions like memcpy() and memset() by checking that the size of the destination object is large enough to hold the specified amount of memory, and if not will abort the compilation process. This helps to catch various trivial memory management issues, but previously was not able to properly handle more complex cases such as when an object was embedded within a larger object. This is quite a common pattern within the kernel, and so the changes introduced in the upstream 5.18 kernel version to enumerate and fix various such cases greatly improves this feature. Now the compiler is able to detect and enforce stricter checks when performing memory operations on sub-objects to ensure that other object members are not inadvertently overwritten, avoiding an entire class of possible buffer overflow vulnerabilities within the kernel. Wrapping up Overall, the vast range of security improvements that have gone into Ubuntu 24.04 LTS greatly improve on the strong foundation provided by previous Ubuntu releases, making it the most secure release to date. Additional features within both the kernel, userspace and across the distribution as a whole combine to address entire vulnerability classes and attack surfaces. With up to 12 years of support, Ubuntu 24.04 LTS provides the best and most secure foundation to develop and deploy Linux services and applications. Expanded Security Maintenance, kernel livepatching and additional services are all provided to Ubuntu Pro subscribers to enhance the security of their Ubuntu deployments. View the full article
-
The post How to Use Comparison Operators & Data Filtering with Awk – Part 4 first appeared on Tecmint: Linux Howtos, Tutorials & Guides .When dealing with numerical or string values in a line of text, filtering text or strings using comparison operators comes in handy for awk command The post How to Use Comparison Operators & Data Filtering with Awk – Part 4 first appeared on Tecmint: Linux Howtos, Tutorials & Guides.View the full article
-
When it comes to databases, you can have either relational or non-relational databases. Relational databases follow the SQL syntax, and their data is stored in structured tables. Examples of such databases are MySQL. However, non-relational databases store data in other formats, such as graphs, documents, etc., and a good example is MongoDB. MongoDB is a non-relational database that stores data as documents. The database is open-source, and by adding its repository to your source list, you will manage to install it on your Ubuntu 24.04. This post walks you through every required step. MongoDB Installation Guide on Ubuntu 24.04 There are numerous reasons to choose MongoDB over other databases. For instance, if you want to achieve scalability and flexibility, MongoDB is the ideal non-relational database. Besides, MongoDB accommodates 32 and 64-bit systems. To install MongoDB, use the following steps. Step 1: Update the Repository When installing MongoDB, the recommended approach is to get its latest version by adding the MongoDB repository to your source list. Thus, we must first refresh the package index by updating it. $ sudo apt update Step 2: Install Dependency Packages Before we install MongoDB, a few packages need to be available on our Ubuntu 24.04. Some of them are already installed but you should run the below command to handle these dependency packages. $ sudo apt install gnupg wget apt-transport-https ca-certificates software-properties-common Step 3: Import MongoDB’s GPG Key When installing packages from a third-party repository, you should import a GPG key to verify the authenticity of the packages to ensure no harm comes to your system. For the MongoDB repository, we will import the below GPG key. $ wget -qO- https://pgp.mongodb.com/server-7.0.asc | gpg --dearmor | sudo tee /usr/share/keyrings/mongodb-server-7.0.gpg >/dev/null Step 4: Add MongoDB’s Repository The next step is to add the MongoDB repository for your Ubuntu Noble Numbat. We’ve used the echo command to add the repository to our source list. The lsb_release -cs will fetch the codename for Ubuntu 24.04 and use it to fetch the respective MongoDB repository. $ echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/7.0 multiverse" | sudo tee -a /etc/apt/sources.list.d/mongodb-org-7.0.list Again, update your repository to refresh the newly added repository. $ sudo apt update Step 5: Install MongoDB With the MongoDB repository on our system, we can now install MongoDB using the following command. $ sudo apt install mongodb-org Step 6: Enable and Start the MongoDB Service After installing MongoDB, we still need to enable it and check to ensure that it is active and running. We will reference the mongod.service with the following commands. $ sudo systemctl enable mongod.service $ sudo systemctl status mongod.service Step 7: Test the MongoDB Connection We’ve installed MongoDB on our system, but we need to test the connection to ensure everything checks out. An excellent way is by running a connection status using the mongosh shell tool. If the connection to the database can be established, we will get an ‘OK’ return status. $ mongosh --eval 'db.runCommand({ connectionStatus: 1 })’ Step 8: Configure MongoDB for Better Security MongoDB has basic configurations that work okay for basic usage. However, it’s advisable to edit the security section of its configuration file, especially if using it in a production environment. Open your MongoDB’s config file using a text editor and edit the security section to have it as in the image below. Save the file, exit the text editor, and restart the MongoDB service. $ sudo systemctl restart mongod.service Step 9: Create an Admin User As part of enhancing your database security, you need to create an administrative user. To do so, access the MongoDB shell with the below command and select which database you want to use. $ mongosh $ use admin Next, create an admin user for your database and set their password and username. Moreover, set their roles, and lastly, quit the shell to close it. To verify that your admin user was successfully created, log in to your MongoDB using their username and the assigned password. $ mongosh -u username -p Once you enter your password, you should gain access to MongoDB. The last step is to select the admin database and display the available users. The output should confirm that your admin user exists. That’s how to install MongoDB on Ubuntu 24.04. Conclusion MongoDB is a preferred non-relational database for developers working on scalable projects. To install MongoDB, add its repository to your source list, then install it using APT. Next, configure the database and set your admin user. We’ve discussed what steps you should follow and give practical examples. View the full article
-
The post fswatch – Track File and Directory Changes in Linux first appeared on Tecmint: Linux Howtos, Tutorials & Guides .fswatch is a cross-platform, file change monitor that gets notification alerts when the contents of the specified files or directories are altered or modified. It The post fswatch – Track File and Directory Changes in Linux first appeared on Tecmint: Linux Howtos, Tutorials & Guides.View the full article
-
The post Tasksel – Quickly Install Software Groups in Debian and Ubuntu first appeared on Tecmint: Linux Howtos, Tutorials & Guides .One of the several tasks that a Linux user is bound to handle is software installation. There are possibly two methods, especially on Debian-based distributions The post Tasksel – Quickly Install Software Groups in Debian and Ubuntu first appeared on Tecmint: Linux Howtos, Tutorials & Guides.View the full article
-
The post Dool – All-in-One Linux Server Performance Monitoring Tool first appeared on Tecmint: Linux Howtos, Tutorials & Guides .Some of the popular and frequently used system resource-generating tools available on the Linux platform include vmstat, netstat, iostat, ifstat, and mpstat. They are used The post Dool – All-in-One Linux Server Performance Monitoring Tool first appeared on Tecmint: Linux Howtos, Tutorials & Guides.View the full article
-
- dool
- performance monitoring
-
(and 2 more)
Tagged with:
-
The post 12 Amazing Terminal Based Games for Linux Enthusiasts first appeared on Tecmint: Linux Howtos, Tutorials & Guides .When you’re a Linux power user, mastering the command line is essential. Using commands to control the system gives users more power and control over the The post 12 Amazing Terminal Based Games for Linux Enthusiasts first appeared on Tecmint: Linux Howtos, Tutorials & Guides.View the full article
-
The post 5 Must-Try AI Tools for Linux Users in 2024 first appeared on Tecmint: Linux Howtos, Tutorials & Guides .It goes without saying that artificial intelligence and AI-powered chatbots, such as ChatGPT, are revolutionizing all aspects of our lives. While AI-based technology is becoming The post 5 Must-Try AI Tools for Linux Users in 2024 first appeared on Tecmint: Linux Howtos, Tutorials & Guides.View the full article
-
Even on Linux, you can enjoy gaming and interact with fellow gamers via Steam. As a Linux gamer, Steam is a handy game distribution platform that allows you to install different games, including purchased ones. Moreover, with Steam, you can connect with other games and play multiplayer titles.Steam is a cross-platform game distribution platform that offers games the option of purchasing and installing games on any device through a Steam account. This post gives different options for installing Steam on Ubuntu 24.04. Different Methods of Installing Steam on Ubuntu 24.04 No matter the Ubuntu version that you use, there are three easy ways of installing Steam. For our guide, we are working on Ubuntu 24.04, and we’ve detailed the steps to follow for each method. Take a look! Method 1: Install Steam via Ubuntu Repository On your Ubuntu, Steam can be installed through the multiverse repository by following the steps below. Step 1: Add the Multiverse Repository The multiverse repository isn’t added on Ubuntu by default but executing the following command will add it. $ sudo add-apt-multiverse Step 2: Refresh the Package Index After adding the new repository, we must refresh the package index before we can install Steam. $ sudo apt update Step 3: Install Steam Lastly, install Steam from the repository by running the APT command below. $ sudo apt install steam Method 2: Install Steam as a Snap Steam is available as a snap package and you can install it by accessing the Ubuntu 24.04 App Center or by installing via command-line. To install it via GUI, use the below steps. Step 1: Search for Steam on App Center On your Ubuntu, open the App Center and search for “Steam” in the search box. Different results will open and the first one is what we want to install. Step 2: Install Steam On the search results page, click on Steam to open a window showing a summary of its information. Locate the green Install button and click on it. You will get prompted to enter your password before the installation can begin. Once you do so, a window showing the progress bar of the installation process will appear. Once the process completes, you will have Steam installed and ready for use on your Ubuntu 24.04. Alternatively, if you prefer using the command-line option to install Steam from App Center, you can do so using the snap command. Specify the package when running your command as shown below. $ sudo snap install steam On the output, the download and installation progress will be shown and once it completes, Steam will be available from your applications. You can open it and set it up for your gaming. Method 3: Download and Install the Steam Package Steam releases a .deb package for Linux and by downloading it, you can use it to install Steam. Unlike the previous methods, this method requires downloading the Steam package from its website using command line utilities such as wget or curl. Step 1: Install wget To download the Steam .deb package, we will use wget. You can skip this step if you already have it installed. Otherwise, execute the below command. $ sudo apt install wget Step 2: Download the Steam Package With wget installed, run the following command to download the Steam .deb package. $ wget https://steamcdn-a.akamaihd.net/client/installer/steam.deb Step 3: Install Steam To install the .deb package, we will use the dpkg command below. $ sudo dpkg -i steam.deb Once Steam completes installing, verify that you can access it by searching for it on your Ubuntu 24.04. With that, you now have Steam installed on Ubuntu. Conclusion Steam is handy tool for any gamer and its cross-platform nature means you can install it on Ubuntu 24.04. we’ve given three installation methods you can use depending on your preference. Once you’ve installed Steam, configure it and create your account to start utilizing it. Happy gaming! View the full article
-
Remote desktop protocols, or RDPs, are used to access a system from any remote location over the Internet. These remote desktop tools are helpful for different tasks, like system administration, modifying processes, and providing remote support. Like other operating systems, Linux distros also support multiple tools and utilities to set up the connection between two systems. However, having multiple options available can get confusing, depending on how and what to choose. So, in this blog, we have listed the top 7 Linux desktops in 2024 that you can install and use without hassles. In 2024, several Linux remote desktop solutions stand out for their reliability, performance, and features. Let’s explore the top contenders: 1. Remmina Remmina, a remote desktop client, is specifically designed for Linux users and other Unix-like systems and is written in GTK+3. The best thing about it? It’s free and open source, rich with features. That’s not about it; the standout point with Remmina is the ability to support a variety of protocols like VNC, RDP, SSH, and NX, giving users multiple options for securely connecting to remote desktops. Users can easily organize and handle connection profiles grouped and quickly connect by entering server addresses. It ensures optimal viewing with scrollable, scalable remote desktops in the window and fullscreen modes. Whether you are a beginner or an advanced user, its user-friendly interface makes it accessible to everyone. 2. RustDesk The rising star in the realm of Linux remote desktop solutions, it has gained swift popularity over the years due to its power-packed speed and not-so-complex operations. It uses the Rust programming language and ensures smooth cross-platform compatibility, providing seamless support to various operating systems, including Linux. RustDesk features include file transfers, multi-monitor support, a streamlined desktop experience, and clipboard sync without compromise. Its self-hosted servers reduce the reliance on external tools like VPNs. Indeed, RustDesk is a promising open–source alternative to establishing a remote desktop and helps the user with versatile, secured remote access 3. TigerVNC Among the best Linux remote desktop options, TigerVNC stands out for its superb VNC protocol implementation, renowned for its dependability and low latency. It is majorly popular for providing lag-free remote desktop experiences in resource-constrained contexts. Because of its platform independence, users may easily access their Linux desktops from a variety of devices and operating systems. TigerVNC is also excellent at supporting 3D and video apps if you are into editing. To improve security during remote desktop connections, TigerVNC now provides extensions for TLS encryption and sophisticated authentication techniques. Thus, TigerVNC offers users who want dependable and effective remote access to their Linux systems a strong and adaptable option. 4. AnyDesk AnyDesk is one of the most prominently used remote desktops around the world, extending its support to all the major operating systems, including Linux. Its interface, high frame rates, and powerful encryption make AnyDesk an ideal choice for professionals and personal preferences. The best and most looked-after factor about AnyDesk is its minimal setup without compromising safety and performance. Linux boasts features such as customizable shortcuts and keyboard layouts, making it easier for users to tailor their experience to their requirements. The file transfer option allows users to exchange files between local and remote systems. AnyDesk for Linux combines ease of use, high performance, and advanced security. 5. XPRA If you want to run X programs on a remote host display, XPRA is your buddy. Unlike any other regular X forwarding, it allows you to disconnect and reconnect without any interference in your program. The best part about XPRA is that its application will run like normal Windows on your desktop and won’t be stuck in a separate box. XPRA’s unique feature is its ability to disconnect and reconnect remote sessions, making it ideal for Linux remote desktop configurations. It is also adaptable and adequate for a range of needs because it supports several platforms and protocols. In general, XPRA provides a smooth and flexible way to access remote desktops on Linux computers. 6. Teamviewer Teamviewer has emerged as one of the finest household names providing remote connectivity. It is perfect for accessing and controlling other devices, whether to provide technical support or otherwise. Whether you want to use it for personal work, business, or an organization of any size, Teamviewer has it all. Along with easy file sharing between devices, it also allows hosting video conferences with 300 people, perfect for remote work. Teamviewer is accessible to all major platforms, including Linux, making it easy to connect from other devices. The security part is taken very seriously by Teamviewer, providing features like encryption and access controls to keep users’ data and devices safe. 7. NoMachine NoMachine is a nifty tool for Linux users, allowing them to control computers remotely. It provides a seamless experience across all Linux distributions. NoMachine is simple, secure, and reliable. Access your Linux desktop from other Linux devices anywhere, anytime. Security is a top priority at NoMachine; it encrypts connections and keeps all your data safe. NoMachine allows two-factor authentication for that extra layer of protection. Not just work, it can also be used to access your home computer while you’re away, stream media, or even play games remotely. Summing up, NoMachine is perfect for accessing your computer at home, in the office, or on the go. Conclusion Linux has a variety of remote desktops, and we have included the 7 best available in 2024. These remote desktop utilities help boost productivity by allowing you to access the system anywhere. You can select any remote desktop tools that align with their workflow. These Linux remote desktop tools can help you make the most of your work and daily tasks, regardless of whether you’re a beginner or an expert. View the full article
-
Forum Statistics
67.6k
Total Topics65.5k
Total Posts