<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux &#8211; abdulrahmanuk.com</title>
	<atom:link href="https://www.abdulrahmanuk.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.abdulrahmanuk.com</link>
	<description>All about Cloud and DevOps</description>
	<lastBuildDate>Mon, 23 Jun 2025 08:07:31 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.abdulrahmanuk.com/wp-content/uploads/2023/02/icons8-devops-60.png</url>
	<title>Linux &#8211; abdulrahmanuk.com</title>
	<link>https://www.abdulrahmanuk.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Day 7 Task &#8211; Understanding package manager and systemctl</title>
		<link>https://www.abdulrahmanuk.com/day-7-task-understanding-package-manager-and-systemctl/</link>
					<comments>https://www.abdulrahmanuk.com/day-7-task-understanding-package-manager-and-systemctl/#respond</comments>
		
		<dc:creator><![CDATA[Abdul Rahman UK]]></dc:creator>
		<pubDate>Fri, 02 Jun 2023 19:16:53 +0000</pubDate>
				<category><![CDATA[90DaysOfDevOps]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[devops]]></category>
		<guid isPermaLink="false">https://www.abdulrahmanuk.com/?p=385</guid>

					<description><![CDATA[<p>#90DaysOfDevopsChallenge 1. Pacakage Manager A package manager is a tool that allows users to install, remove, upgrade, configure and manage software packages on an operating system. The package manager can be a graphical application like a software center or a command lines tool like&#160;apt-get&#160;or&#160;Pacman. What is a Package? A package is usually referred to an [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.abdulrahmanuk.com/day-7-task-understanding-package-manager-and-systemctl/">Day 7 Task &#8211; Understanding package manager and systemctl</a> appeared first on <a rel="nofollow" href="https://www.abdulrahmanuk.com">abdulrahmanuk.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><span style="background-color:#cdfe00" class="td_text_highlight_marker">#90DaysOfDevopsChallenge</span></p>



<p><mark><strong>1. Pacakage Manager</strong></mark></p>



<p>A package manager is a tool that allows users to install, remove, upgrade, configure and manage software packages on an operating system. The package manager can be a graphical application like a software center or a command lines tool like&nbsp;apt-get&nbsp;or&nbsp;Pacman.</p>



<h2 class="wp-block-heading" id="heading-what-is-a-package"><strong><mark>What is a Package?</mark></strong></h2>



<p>A package is usually referred to an application but it could be a GUI application, command line tool or a software library (required by other software programs). A package is essentially an archive file containing the binary executable, configuration file and sometimes information about the dependencies.</p>



<h2 class="wp-block-heading" id="heading-how-does-the-package-manager-work"><mark>How does the package manager work?</mark></h2>



<p>The package manager is a generic concept and it’s not exclusive to Linux. You’ll often find package managers for different software or programming languages. There is a PIP package manager just for Python packages.</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="1522" height="480" src="https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image.png" alt="image" class="wp-image-386" title="Day 7 Task - Understanding package manager and systemctl 1" srcset="https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image.png 1522w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-768x242.png 768w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-150x47.png 150w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-300x95.png 300w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-696x220.png 696w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-1068x337.png 1068w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-600x189.png 600w" sizes="(max-width: 1522px) 100vw, 1522px" /></figure>



<p>Almost all Linux distributions have software repositories which is a collections of software packages. Yes, there could be more than one repository. The repositories contain software packages of a different kinds.</p>



<p>Repositories also have metadata files that contain information about the packages such as the name of the package, version number, description of the package and the repository name etc. This is what you see if you use the&nbsp;<strong>apt show command</strong>&nbsp;in Ubuntu/Debian.</p>



<p>Your system’s package manager first interacts with the metadata. The package manager creates a local cache of metadata on your system. When you run the update option of the package manager (for example apt update), it updates this local cache of metadata by referring to metadata from the repository.</p>



<p>When you run the installation command of your package manager (for example apt install package_name), the package manager refers to this cache. If it finds the package information in the cache, it uses the internet connection to connect to the appropriate repository and downloads the package first before installing on your system.</p>



<p>A package may have dependencies. Meaning that it may require other packages to be installed. The package manager often takes care of the dependencies and installs it automatically along with the package you are installing.</p>



<p><strong><mark>Types of Package Managers:</mark></strong></p>



<figure class="wp-block-image size-full"><img decoding="async" width="1268" height="794" src="https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-1.png" alt="image 1" class="wp-image-387" title="Day 7 Task - Understanding package manager and systemctl 2" srcset="https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-1.png 1268w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-1-768x481.png 768w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-1-150x94.png 150w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-1-300x188.png 300w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-1-696x436.png 696w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-1-1068x669.png 1068w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-1-600x376.png 600w" sizes="(max-width: 1268px) 100vw, 1268px" /></figure>



<ul class="wp-block-list">
<li><strong>1. DPKG – Debian Package Management System</strong></li>



<li><a href="https://tanaya.hashnode.dev/understanding-package-manager-and-systemctlday-7-task#heading-apt-advanced-packaging-tool" rel="nofollow noopener" target="_blank"></a><strong>APT (Advanced Packaging Tool) :</strong><a href="https://tanaya.hashnode.dev/understanding-package-manager-and-systemctlday-7-task#heading-it-is-a-very-popular-free-powerful-and-more-so-useful-command-line-package-management-system-that-is-a-front-end-for-the-dpkg-package-management-system" rel="nofollow noopener" target="_blank"></a>It is a very popular, free, powerful, and more so, useful command line package management system that is a front end for the dpkg package management system.Users of Debian or its derivatives such as Ubuntu and Linux Mint should be familiar with this package management tool.</li>



<li><a href="https://tanaya.hashnode.dev/understanding-package-manager-and-systemctlday-7-task#heading-aptitude-package-manager" rel="nofollow noopener" target="_blank"></a><strong>Aptitude Package Manager</strong>This is also a popular command line front-end package management tool for the&nbsp;<strong>Debian</strong>&nbsp;Linux family, it works similarly to&nbsp;<strong>APT</strong>&nbsp;. It was initially built for Debian and its derivatives but now its functionality stretches to the&nbsp;<strong>RHEL</strong>&nbsp;family.</li>



<li><strong>2. RPM (Red Hat Package Manager)</strong></li>



<li><a href="https://tanaya.hashnode.dev/understanding-package-manager-and-systemctlday-7-task#heading-yum-yellowdog-updater-modified" rel="nofollow noopener" target="_blank"></a><strong>YUM (Yellowdog Updater, Modified)</strong>It is an open-source and popular command line package manager that works as an interface for users to RPM. You can compare it to&nbsp;<strong>APT</strong>&nbsp;under Debian Linux systems, it incorporates the common functionalities that APT has.</li>



<li><strong>3.</strong>&nbsp;<strong>Pacman Package Manager – Arch Linux</strong></li>



<li><strong>4.</strong>&nbsp;<strong>Zypper Package Manager – openSUSE</strong></li>



<li><strong>5. Portage Package Manager – Gentoo</strong></li>
</ul>



<p><strong>2. You have to install docker and Jenkins in your system from your terminal using package managers</strong></p>



<p><strong><mark>Jenkins:</mark></strong></p>



<p>To install Jenkins you first have to install&nbsp;<strong><mark>java</mark></strong>. So this is some steps to install java:</p>



<p>Initially update all packages used in the below command. <span style="background-color:#0ea3e6" class="td_text_highlight_marker">NOTE: I&#8217;m showing here for Ubuntu operating system.</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#a6accd;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1b1e28"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#a6accd;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>sudo apt update</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki poimandres" style="background-color: #1b1e28" tabindex="0"><code><span class="line"><span style="color: #A6ACCD">sudo apt update</span></span></code></pre></div>



<p>Depending on which Java version you want to install, Java 8 or 11, run one of the following commands:</p>



<p>To install OpenJDK 8, run:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#a6accd;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1b1e28"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#a6accd;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>sudo apt install openjdk-8-jdk -y</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki poimandres" style="background-color: #1b1e28" tabindex="0"><code><span class="line"><span style="color: #A6ACCD">sudo apt install openjdk</span><span style="color: #5DE4C7">-8</span><span style="color: #A6ACCD">-jdk -y</span></span></code></pre></div>



<p>To install OpenJDK 11, run:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#a6accd;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1b1e28"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#a6accd;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>sudo apt install openjdk-11-jdk -y</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki poimandres" style="background-color: #1b1e28" tabindex="0"><code><span class="line"><span style="color: #A6ACCD">sudo apt install openjdk</span><span style="color: #5DE4C7">-11</span><span style="color: #A6ACCD">-jdk -y</span></span></code></pre></div>



<p><strong>Add Jenkins Repository</strong></p>



<p>The version of Jenkins included with the default Ubuntu packages is often behind the latest available version from the project itself. To ensure you have the latest fixes and features, use the project-maintained packages to install Jenkins.</p>



<p>First, add the repository key to your system:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#a6accd;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1b1e28"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#a6accd;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key |sudo gpg --dearmor -o /usr/share/keyrings/jenkins.gpg</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki poimandres" style="background-color: #1b1e28" tabindex="0"><code><span class="line"><span style="color: #A6ACCD">wget -q -O - https:</span><span style="color: #767C9DB0; font-style: italic">//pkg.jenkins.io/debian-stable/jenkins.io.key |sudo gpg --dearmor -o /usr/share/keyrings/jenkins.gpg</span></span></code></pre></div>



<p>The&nbsp;<code>gpg --dearmor</code>&nbsp;command is used to convert the key into a format that&nbsp;<code>apt</code>&nbsp;recognizes.</p>



<p>Next, let’s append the Debian package repository address to the server’s&nbsp;<code>sources.list</code>:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#a6accd;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1b1e28"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#a6accd;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>sudo sh -c 'echo deb [signed-by=/usr/share/keyrings/jenkins.gpg] http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki poimandres" style="background-color: #1b1e28" tabindex="0"><code><span class="line"><span style="color: #A6ACCD">sudo sh -c &#39;echo deb [</span><span style="color: #D0679D">signed-by=/usr/share/keyrings/jenkins.gpg</span><span style="color: #A6ACCD">] http:</span><span style="color: #767C9DB0; font-style: italic">//pkg.jenkins.io/debian-stable binary/ &gt; /etc/apt/sources.list.d/jenkins.list&#39;</span></span></code></pre></div>



<p>The&nbsp;<code>[signed-by=/usr/share/keyrings/jenkins.gpg]</code>&nbsp;portion of the line ensures that&nbsp;<code>apt</code>&nbsp;will verify files in the repository using the GPG key that you just downloaded.</p>



<p>After both commands have been entered, run&nbsp;<code>apt update</code>&nbsp;so that&nbsp;<code>apt</code>&nbsp;will use the new repository.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#a6accd;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1b1e28"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#a6accd;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>sudo apt update</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki poimandres" style="background-color: #1b1e28" tabindex="0"><code><span class="line"><span style="color: #A6ACCD">sudo apt update</span></span></code></pre></div>



<p>Finally, install Jenkins and its dependencies:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#a6accd;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1b1e28"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#a6accd;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>sudo apt install jenkins</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki poimandres" style="background-color: #1b1e28" tabindex="0"><code><span class="line"><span style="color: #A6ACCD">sudo apt install jenkins</span></span></code></pre></div>



<p>Now that Jenkins and its dependencies are in place, we’ll start the Jenkins server.</p>



<p><strong>Starting Jenkins</strong></p>



<p>now that Jenkins is installed, start it by using&nbsp;<code>systemctl</code>:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#a6accd;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1b1e28"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#a6accd;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>sudo systemctl start jenkins.service</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki poimandres" style="background-color: #1b1e28" tabindex="0"><code><span class="line"><span style="color: #A6ACCD">sudo systemctl start jenkins.service</span></span></code></pre></div>



<p>Since&nbsp;<code>systemctl</code>&nbsp;doesn’t display status output, we’ll use the&nbsp;<code>status</code>&nbsp;command to verify that Jenkins started successfully:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#a6accd;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1b1e28"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#a6accd;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>sudo systemctl status jenkins</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki poimandres" style="background-color: #1b1e28" tabindex="0"><code><span class="line"><span style="color: #A6ACCD">sudo systemctl status jenkins</span></span></code></pre></div>



<p>If everything went well, the beginning of the status output shows that the service is active and configured to start at boot:</p>



<figure class="wp-block-image size-full"><img decoding="async" width="1504" height="802" src="https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-2.png" alt="image 2" class="wp-image-388" title="Day 7 Task - Understanding package manager and systemctl 3" srcset="https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-2.png 1504w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-2-768x410.png 768w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-2-150x80.png 150w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-2-300x160.png 300w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-2-696x371.png 696w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-2-1068x570.png 1068w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-2-600x320.png 600w" sizes="(max-width: 1504px) 100vw, 1504px" /></figure>



<p>you have completed the installation stage and can continue with configuring Jenkins.</p>



<p><strong><mark>Docker installation:</mark></strong></p>



<p><strong><mark>step 1: sudo apt update -y</mark></strong></p>



<p><strong><mark>step 2: sudo apt install&nbsp;docker.io&nbsp;-y</mark></strong></p>



<p><strong><mark>step 3: docker &#8211;version</mark></strong></p>



<p><strong><mark>step 4: systemctl status docker [ to check if docker is in the active state]</mark></strong></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1612" height="854" src="https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-3.png" alt="image 3" class="wp-image-389" title="Day 7 Task - Understanding package manager and systemctl 4" srcset="https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-3.png 1612w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-3-768x407.png 768w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-3-1536x814.png 1536w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-3-150x79.png 150w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-3-300x159.png 300w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-3-696x369.png 696w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-3-1068x566.png 1068w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-3-600x318.png 600w" sizes="auto, (max-width: 1612px) 100vw, 1612px" /></figure>



<h3 class="wp-block-heading" id="heading-3-systemctl-and-systemd"><strong><mark>systemctl and systemd</mark></strong></h3>



<p><strong><mark>systemctl</mark></strong>&nbsp;is used to examine and control the state of the “<strong><mark>systemd”</mark></strong>&nbsp;system and service manager.</p>



<p><strong><mark>systemd&nbsp;</mark></strong>is a system and service manager for Unix-like operating systems(most of the distributions, not all).</p>



<h3 class="wp-block-heading" id="heading-4-stop-the-service-jenkins-and-post-before-and-after-screenshots"><a href="https://tanaya.hashnode.dev/understanding-package-manager-and-systemctlday-7-task#heading-4-stop-the-service-jenkins-and-post-before-and-after-screenshots" rel="nofollow noopener" target="_blank"></a><strong>4. stop the service Jenkins and post before and after screenshots</strong></h3>



<p><strong><mark>Jenkins active status Screenshot:</mark></strong></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1408" height="762" src="https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-4.png" alt="image 4" class="wp-image-390" title="Day 7 Task - Understanding package manager and systemctl 5" srcset="https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-4.png 1408w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-4-768x416.png 768w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-4-150x81.png 150w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-4-300x162.png 300w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-4-696x377.png 696w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-4-1068x578.png 1068w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-4-600x325.png 600w" sizes="auto, (max-width: 1408px) 100vw, 1408px" /></figure>



<p><strong><mark>Jenkins stop Screenshot :</mark></strong></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1372" height="612" src="https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-5.png" alt="image 5" class="wp-image-391" title="Day 7 Task - Understanding package manager and systemctl 6" srcset="https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-5.png 1372w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-5-768x343.png 768w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-5-150x67.png 150w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-5-300x134.png 300w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-5-696x310.png 696w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-5-1068x476.png 1068w, https://www.abdulrahmanuk.com/wp-content/uploads/2023/06/image-5-600x268.png 600w" sizes="auto, (max-width: 1372px) 100vw, 1372px" /></figure>



<h3 class="wp-block-heading" id="heading-5-read-about-the-commands-systemctl-vs-service"><strong>Read about the commands systemctl vs service</strong></h3>



<p>The&nbsp;<strong><mark>Service command</mark></strong>&nbsp;looks up the script to run at the path /etc/init.d/SCRIPT. It then runs the script, passing the COMMAND unchanged as the arguments. The&nbsp;<em>service</em>&nbsp;command guarantees a predictable running environment by removing most of the variables and setting the root path as the current working directory.</p>



<p><strong><mark>eg: sudo service jenkins start</mark></strong></p>



<p>The&nbsp;<strong><em><mark>systemctl</mark></em>&nbsp;<mark>command</mark></strong>&nbsp;interacts with the SystemD service manager to manage the services. Contrary to the&nbsp;<em>service</em>&nbsp;command, it manages the services by interacting with the SystemD process instead of running the init script.</p>



<p>To start, stop, and restart a process, we can run the commands with&nbsp;<em>systemctl</em>&nbsp;.</p>



<p><strong><mark>eg: sudo systemctl start docker</mark></strong></p>
<p>The post <a rel="nofollow" href="https://www.abdulrahmanuk.com/day-7-task-understanding-package-manager-and-systemctl/">Day 7 Task &#8211; Understanding package manager and systemctl</a> appeared first on <a rel="nofollow" href="https://www.abdulrahmanuk.com">abdulrahmanuk.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.abdulrahmanuk.com/day-7-task-understanding-package-manager-and-systemctl/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>35 Must-Know Linux Commands Every DevOps Engineer Should Master (with Real DevOps Use Cases)</title>
		<link>https://www.abdulrahmanuk.com/35-must-know-linux-commands-every-devops-engineer-should-master-with-real-devops-use-cases/</link>
					<comments>https://www.abdulrahmanuk.com/35-must-know-linux-commands-every-devops-engineer-should-master-with-real-devops-use-cases/#respond</comments>
		
		<dc:creator><![CDATA[Abdul Rahman UK]]></dc:creator>
		<pubDate>Fri, 23 May 2025 06:13:05 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://www.abdulrahmanuk.com/?p=534</guid>

					<description><![CDATA[<p>Introduction As a DevOps engineer, mastering Linux is non-negotiable. Whether you&#8217;re deploying microservices, debugging performance issues, managing cloud infrastructure, or building CI/CD pipelines, Linux commands are at the core of your workflow. This guide walks you through 35 essential Linux commands, each with real-world use cases tailored for DevOps. 🔧 File &#38; Directory Operations 📁 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.abdulrahmanuk.com/35-must-know-linux-commands-every-devops-engineer-should-master-with-real-devops-use-cases/">35 Must-Know Linux Commands Every DevOps Engineer Should Master (with Real DevOps Use Cases)</a> appeared first on <a rel="nofollow" href="https://www.abdulrahmanuk.com">abdulrahmanuk.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong>Introduction</strong></p>



<p>As a DevOps engineer, mastering Linux is non-negotiable. Whether you&#8217;re deploying microservices, debugging performance issues, managing cloud infrastructure, or building CI/CD pipelines, Linux commands are at the core of your workflow. This guide walks you through 35 essential Linux commands, each with real-world use cases tailored for DevOps.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> File &amp; Directory Operations</h3>



<ol class="wp-block-list">
<li><strong><code>ls</code></strong> – List files and directories.
<ul class="wp-block-list">
<li><code>ls -lah</code> shows file sizes and permissions.</li>
</ul>
</li>



<li><strong><code>cd</code></strong> – Change directories.
<ul class="wp-block-list">
<li>Navigate efficiently in scripts: <code>cd /var/www/html</code>.</li>
</ul>
</li>



<li><strong><code>pwd</code></strong> – Print working directory.
<ul class="wp-block-list">
<li>Useful for debugging scripts.</li>
</ul>
</li>



<li><strong><code>mkdir</code></strong> – Create directories.
<ul class="wp-block-list">
<li>Example: <code>mkdir -p /opt/myapp/logs</code> creates nested folders.</li>
</ul>
</li>



<li><strong><code>touch</code></strong> – Create empty files.
<ul class="wp-block-list">
<li>Used to create <code>.env</code> or placeholder files in pipelines.</li>
</ul>
</li>



<li><strong><code>rm</code></strong> – Remove files and directories.
<ul class="wp-block-list">
<li>Caution: <code>rm -rf /some/path</code> can be destructive. Automate cleanup jobs.</li>
</ul>
</li>



<li><strong><code>cp</code></strong> – Copy files and directories.
<ul class="wp-block-list">
<li>Example: <code>cp config.yaml config.yaml.bak</code> before updates.</li>
</ul>
</li>



<li><strong><code>mv</code></strong> – Move or rename files.
<ul class="wp-block-list">
<li>Use in deployment steps: <code>mv new.html index.html</code></li>
</ul>
</li>



<li><strong><code>find</code></strong> – Search for files.
<ul class="wp-block-list">
<li><code>find /var/log -name "*.log"</code> to identify large log files.</li>
</ul>
</li>



<li><strong><code>du</code></strong> – Estimate file space usage.
<ul class="wp-block-list">
<li><code>du -sh *</code> shows space used by directories.</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c1.png" alt="📁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> File Viewing &amp; Manipulation</h3>



<ol start="11" class="wp-block-list">
<li><strong><code>cat</code></strong> – View file contents.
<ul class="wp-block-list">
<li>Combine with <code>grep</code> for quick searches.</li>
</ul>
</li>



<li><strong><code>less</code> / <code>more</code></strong> – Page through text.
<ul class="wp-block-list">
<li><code>less /var/log/syslog</code> to view logs comfortably.</li>
</ul>
</li>



<li><strong><code>head</code> / <code>tail</code></strong> – View the start or end of files.
<ul class="wp-block-list">
<li><code>tail -f /var/log/nginx/access.log</code> for live logs.</li>
</ul>
</li>



<li><strong><code>grep</code></strong> – Search text with patterns.
<ul class="wp-block-list">
<li>Example: <code>grep "ERROR" /var/log/app.log</code></li>
</ul>
</li>



<li><strong><code>awk</code></strong> – Pattern scanning and data extraction.
<ul class="wp-block-list">
<li>Real use: <code>awk -F":" '{ print $1 }' /etc/passwd</code> to list usernames.</li>
</ul>
</li>



<li><strong><code>sed</code></strong> – Stream editor for modifying files.
<ul class="wp-block-list">
<li>Replace text in files: <code>sed -i 's/foo/bar/g' config.txt</code></li>
</ul>
</li>



<li><strong><code>cut</code></strong> – Extract fields from text.
<ul class="wp-block-list">
<li><code>cut -d':' -f1 /etc/passwd</code></li>
</ul>
</li>



<li><strong><code>sort</code></strong> – Sort lines in text files.
<ul class="wp-block-list">
<li>Useful in processing pipeline logs or output.</li>
</ul>
</li>



<li><strong><code>uniq</code></strong> – Filter out repeated lines.
<ul class="wp-block-list">
<li><code>sort data.txt | uniq -c</code> shows duplicates.</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Permissions &amp; Ownership</h3>



<ol start="20" class="wp-block-list">
<li><strong><code>chmod</code></strong> – Change file permissions.
<ul class="wp-block-list">
<li><code>chmod 755 script.sh</code> makes it executable.</li>
</ul>
</li>



<li><strong><code>chown</code></strong> – Change file owner and group.
<ul class="wp-block-list">
<li><code>chown www-data:www-data /var/www/html -R</code></li>
</ul>
</li>



<li><strong><code>umask</code></strong> – Set default permissions.
<ul class="wp-block-list">
<li>Often set in init scripts.</li>
</ul>
</li>



<li><strong><code>stat</code></strong> – Display detailed file info.
<ul class="wp-block-list">
<li>Helps in debugging file access issues.</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ca.png" alt="📊" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Process &amp; Resource Management</h3>



<ol start="24" class="wp-block-list">
<li><strong><code>ps</code></strong> – Display current processes.
<ul class="wp-block-list">
<li><code>ps aux | grep nginx</code> to locate specific services.</li>
</ul>
</li>



<li><strong><code>top</code> / <code>htop</code></strong> – Monitor system resource usage.
<ul class="wp-block-list">
<li><code>htop</code> is interactive and user-friendly.</li>
</ul>
</li>



<li><strong><code>kill</code> / <code>killall</code></strong> – Terminate processes.
<ul class="wp-block-list">
<li><code>kill -9 &lt;PID></code> to forcefully stop rogue processes.</li>
</ul>
</li>



<li><strong><code>nice</code> / <code>renice</code></strong> – Set process priority.
<ul class="wp-block-list">
<li>Adjust priority for resource-hungry tasks.</li>
</ul>
</li>



<li><strong><code>lsof</code></strong> – List open files.
<ul class="wp-block-list">
<li>Debug file locks: <code>lsof | grep deleted</code></li>
</ul>
</li>



<li><strong><code>strace</code></strong> – Trace system calls.
<ul class="wp-block-list">
<li>Debug startup issues: <code>strace ./myapp</code></li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Networking &amp; Troubleshooting</h3>



<ol start="30" class="wp-block-list">
<li><strong><code>curl</code></strong> – Transfer data to/from a server.
<ul class="wp-block-list">
<li>Test APIs: <code>curl -X POST -d '{}' https://api.example.com</code></li>
</ul>
</li>



<li><strong><code>wget</code></strong> – Non-interactive file download.
<ul class="wp-block-list">
<li><code>wget https://downloads.example.com/tool.sh</code></li>
</ul>
</li>



<li><strong><code>netstat</code> / <code>ss</code></strong> – Network statistics.
<ul class="wp-block-list">
<li><code>ss -tulnp</code> shows listening ports.</li>
</ul>
</li>



<li><strong><code>tcpdump</code></strong> – Capture network traffic.
<ul class="wp-block-list">
<li>Debug latency: <code>tcpdump -i eth0 port 80</code></li>
</ul>
</li>



<li><strong><code>ping</code> / <code>traceroute</code></strong> – Network connectivity.
<ul class="wp-block-list">
<li>Identify broken routes or DNS issues.</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f504.png" alt="🔄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Automation &amp; Scripting</h3>



<ol start="35" class="wp-block-list">
<li><strong><code>xargs</code></strong> – Build and execute commands from input.
<ul class="wp-block-list">
<li>Bulk operations: <code>cat urls.txt | xargs wget</code></li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f539.png" alt="🔹" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Real DevOps Use Case Highlights:</strong></p>



<ul class="wp-block-list">
<li><strong>Using <code>awk</code> in CI/CD</strong>: Extract version info from files and pass it to Docker.</li>



<li><strong><code>lsof</code> to troubleshoot</strong>: Find services holding deleted files and causing disk bloat.</li>



<li><strong><code>sed</code> in automation</strong>: Replace environment variables during deployment.</li>



<li><strong><code>tail -f</code> in monitoring</strong>: View live logs in Kubernetes pods.</li>



<li><strong><code>xargs</code> for batch tasks</strong>: Automate bulk log rotation or file downloads.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong>Conclusion</strong></p>



<p>Mastering these 35 Linux commands will not only boost your productivity but also help you troubleshoot and automate your infrastructure with confidence. Bookmark this list and start integrating these commands into your daily workflow. Want more DevOps content? Follow me on LinkedIn and stay tuned for upcoming posts on Ansible, Docker, Kubernetes, and Terraform!</p>
<p>The post <a rel="nofollow" href="https://www.abdulrahmanuk.com/35-must-know-linux-commands-every-devops-engineer-should-master-with-real-devops-use-cases/">35 Must-Know Linux Commands Every DevOps Engineer Should Master (with Real DevOps Use Cases)</a> appeared first on <a rel="nofollow" href="https://www.abdulrahmanuk.com">abdulrahmanuk.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.abdulrahmanuk.com/35-must-know-linux-commands-every-devops-engineer-should-master-with-real-devops-use-cases/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Top 50+ Linux Commands You MUST Know</title>
		<link>https://www.abdulrahmanuk.com/top-50-linux-commands-you-must-know/</link>
					<comments>https://www.abdulrahmanuk.com/top-50-linux-commands-you-must-know/#respond</comments>
		
		<dc:creator><![CDATA[Abdul Rahman UK]]></dc:creator>
		<pubDate>Wed, 31 May 2023 06:53:19 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[linux]]></category>
		<guid isPermaLink="false">https://www.abdulrahmanuk.com/?p=354</guid>

					<description><![CDATA[<p>Using Linux commands on a regular basis? Today we’ll look at 50+ Linux commands you must know! The commands listed below are some of the most useful and most frequently used Linux commands. Let’s get right into it!</p>
<p>The post <a rel="nofollow" href="https://www.abdulrahmanuk.com/top-50-linux-commands-you-must-know/">Top 50+ Linux Commands You MUST Know</a> appeared first on <a rel="nofollow" href="https://www.abdulrahmanuk.com">abdulrahmanuk.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Using Linux commands on a regular basis? Today we’ll look at 50+ <strong>Linux commands you must know</strong>! The commands listed below are some of the most useful and most frequently used Linux commands. Let’s get right into it!</p>



<ol class="wp-block-list">
<li><strong>ls</strong>&nbsp;&#8211; The most frequently used command in Linux to list directories</li>



<li><strong>pwd</strong>&nbsp;&#8211; Print working directory command in Linux</li>



<li><strong>cd</strong>&nbsp;&#8211; Linux command to navigate through directories</li>



<li><strong>mkdir</strong>&nbsp;&#8211; Command used to create directories in Linux</li>



<li><strong>mv</strong>&nbsp;&#8211; Move or rename files in Linux</li>



<li><strong>cp</strong>&nbsp;&#8211; Similar usage as mv but for copying files in Linux</li>



<li><strong>rm</strong>&nbsp;&#8211; Delete files or directories</li>



<li><strong>touch</strong>&nbsp;&#8211; Create blank/empty files</li>



<li><strong>ln</strong>&nbsp;&#8211; Create symbolic links (shortcuts) to other files</li>



<li><strong>cat</strong>&nbsp;&#8211; Display file contents on the terminal</li>



<li><strong>clear</strong>&nbsp;&#8211; Clear the terminal display</li>



<li><strong>echo</strong>&nbsp;&#8211; Print any text that follows the command</li>



<li><strong>less</strong>&nbsp;&#8211; Linux command to display paged outputs in the terminal</li>



<li><strong>man</strong>&nbsp;&#8211; Access manual pages for all Linux commands</li>



<li><strong>uname</strong>&nbsp;&#8211; Linux command to get basic information about the OS</li>



<li><strong>whoami</strong>&nbsp;&#8211; Get the active username</li>



<li><strong>tar</strong>&nbsp;&#8211; Command to extract and compress files in Linux</li>



<li><strong>grep</strong>&nbsp;&#8211; Search for a string within an output</li>



<li><strong>head</strong>&nbsp;&#8211; Return the specified number of lines from the top</li>



<li><strong>tail</strong>&nbsp;&#8211; Return the specified number of lines from the bottom</li>



<li><strong>diff</strong>&nbsp;&#8211; Find the difference between two files</li>



<li><strong>cmp</strong>&nbsp;&#8211; Allows you to check if two files are identical</li>



<li><strong>comm</strong>&nbsp;&#8211; Combines the functionality of diff and cmp</li>



<li><strong>sort</strong>&nbsp;&#8211; Linux command to sort the content of a file while outputting</li>



<li><strong>export</strong>&nbsp;&#8211; Export environment variables in Linux</li>



<li><strong>zip</strong>&nbsp;&#8211; Zip files in Linux</li>



<li><strong>unzip</strong>&nbsp;&#8211; Unzip files in Linux</li>



<li><strong>ssh</strong>&nbsp;&#8211; Secure Shell command in Linux</li>



<li><strong>service</strong>&nbsp;&#8211; Linux command to start and stop services</li>



<li><strong>ps</strong>&nbsp;&#8211; Display active processes</li>



<li><strong>kill and killall</strong>&nbsp;&#8211; Kill active processes by process ID or name</li>



<li><strong>df</strong>&nbsp;&#8211; Display disk filesystem information</li>



<li><strong>mount</strong>&nbsp;&#8211; Mount file systems in Linux</li>



<li><strong>chmod</strong>&nbsp;&#8211; Command to change file permissions</li>



<li><strong>chown</strong>&nbsp;&#8211; Command for granting ownership of files or folders</li>



<li><strong>ifconfig</strong>&nbsp;&#8211; Display network interfaces and IP addresses</li>



<li><strong>traceroute</strong>&nbsp;&#8211; Trace all the network hops to reach the destination</li>



<li><strong>wget</strong>&nbsp;&#8211; Direct download files from the internet</li>



<li><strong>ufw</strong>&nbsp;&#8211; Firewall command</li>



<li><strong>iptables</strong>&nbsp;&#8211; Base firewall for all other firewall utilities to interface with</li>



<li><strong>apt, pacman, yum, rpm</strong>&nbsp;&#8211; Package managers depending on the distro</li>



<li><strong>sudo</strong>&nbsp;&#8211; Command to escalate privileges in Linux</li>



<li><strong>cal</strong>&nbsp;&#8211; View a command-line calendar</li>



<li><strong>alias &#8211;</strong>&nbsp;Create custom shortcuts for your regularly used commands</li>



<li><strong>dd</strong>&nbsp;&#8211; Majorly used for creating bootable USB sticks</li>



<li><strong>whereis</strong>&nbsp;&#8211; Locate the binary, source, and manual pages for a command</li>



<li><strong>whatis</strong>&nbsp;&#8211; Find what a command is used for</li>



<li><strong>top</strong>&nbsp;&#8211; View active processes live with their system usage</li>



<li><strong>useradd and usermod</strong>&nbsp;&#8211; Add new user or change existing users data</li>



<li><strong>passwd</strong>&nbsp;&#8211; Create or update passwords for existing users</li>
</ol>
<p>The post <a rel="nofollow" href="https://www.abdulrahmanuk.com/top-50-linux-commands-you-must-know/">Top 50+ Linux Commands You MUST Know</a> appeared first on <a rel="nofollow" href="https://www.abdulrahmanuk.com">abdulrahmanuk.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.abdulrahmanuk.com/top-50-linux-commands-you-must-know/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>VIM is a free and open-source text editor in Linux</title>
		<link>https://www.abdulrahmanuk.com/vim-is-free-and-open-source-text-editor/</link>
					<comments>https://www.abdulrahmanuk.com/vim-is-free-and-open-source-text-editor/#respond</comments>
		
		<dc:creator><![CDATA[Abdul Rahman UK]]></dc:creator>
		<pubDate>Fri, 10 Feb 2023 09:48:54 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[file editor]]></category>
		<category><![CDATA[linux]]></category>
		<guid isPermaLink="false">https://www.abdulrahmanuk.com/?p=226</guid>

					<description><![CDATA[<p>VIM is a free and open-source text editor program. Listed here most used commands. Knowing these commands will be helpful for your daily bases Linux jobs Install VIM on Ubuntu Linux ✅ sudo apt install vim Verify installation ✅ vim &#8211; -version Edit file with VIM ✅ vim filename Switch to insert mode ✅ press [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.abdulrahmanuk.com/vim-is-free-and-open-source-text-editor/">VIM is a free and open-source text editor in Linux</a> appeared first on <a rel="nofollow" href="https://www.abdulrahmanuk.com">abdulrahmanuk.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>VIM is a free and open-source text editor program. Listed here most used commands. Knowing these commands will be helpful for your daily bases Linux jobs</p>
<p>Install VIM on Ubuntu Linux<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> sudo apt install vim</p>
<p>Verify installation<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> vim &#8211; -version</p>
<p>Edit file with VIM<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> vim filename</p>
<p>Switch to insert mode<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> press i</p>
<p>Switch back to command mode<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> press esc</p>
<p>Save and exist from the file<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> :wq!</p>
<p>Exit without saving(force exit)<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> :q!</p>
<p>Undo changes<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> press u</p>
<p>Redo changes<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ctrl+r</p>
<p>Move cursor at first line of the file<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> gg</p>
<p>Move cursor at last line of the file<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> G</p>
<p>Copy line<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> yy</p>
<p>Copy n lines<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> n yy</p>
<p>Paste<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> p</p>
<p>Delete line<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> dd</p>
<p>Delete n lines<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> n dd</p>
<p>Set line numbers in the file<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> :se nu</p>
<p>To replace all the matching word in the file<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> :s/searchword/replaceword/g</p>
<p>To search word in the file<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> :/searchword</p>
<p>#aws #linux #devops #cloud #learner</p>
<p>The post <a rel="nofollow" href="https://www.abdulrahmanuk.com/vim-is-free-and-open-source-text-editor/">VIM is a free and open-source text editor in Linux</a> appeared first on <a rel="nofollow" href="https://www.abdulrahmanuk.com">abdulrahmanuk.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.abdulrahmanuk.com/vim-is-free-and-open-source-text-editor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
