<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Markelov.Dev</title>
		<link>https://markelov.dev/</link>
		<description>Recent content on Markelov.Dev</description>
		<generator>Hugo</generator>
		<language>en-gb</language>
		
		
		
			<copyright>© 2007-2026 Andrey Markelov</copyright>
		
		
			<lastBuildDate>Sun, 21 Jun 2026 08:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://markelov.dev/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>71 Days of Golang: Course Completed</title>
				<link>https://markelov.dev/posts/71-days-of-golang-course-completed/</link>
				<pubDate>Sun, 21 Jun 2026 08:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/71-days-of-golang-course-completed/</guid>
				<description>&lt;p&gt;Completed 71 days of continuous learning and finished the 39-hour Go Developer course on Hyperskill.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/71-days-of-golang-course-completed/godeveloper.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;My primary role as a Solution Architect doesn&amp;rsquo;t involve full-time coding, but a practical understanding of Golang helps when working with Kubernetes environments and developing pet projects. Golang&amp;rsquo;s proximity to C, the language I started my IT career with, always appealed to me much more than Python.&lt;/p&gt;&#xA;&lt;p&gt;JetBrains Academy uses a project-based approach with mandatory daily coding. It worked well for me because you just build educational projects step by step straight to the point.&lt;/p&gt;</description>
			</item>
			<item>
				<title>DSO138 oscilloscope kit: hardware warm-up</title>
				<link>https://markelov.dev/posts/dso138-oscilloscope-hardware-warm-up/</link>
				<pubDate>Sun, 07 Jun 2026 08:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/dso138-oscilloscope-hardware-warm-up/</guid>
				<description>&lt;p&gt;As a Solution Architect, I work with high-level abstractions. To refresh my low-level skills, I decided to get back into hardware.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/dso138-oscilloscope-hardware-warm-up/osc.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I hadn&amp;rsquo;t done any soldering in over 20 years, so I used this DSO138 oscilloscope kit as a warm-up project to calibrate my skills.&lt;/p&gt;&#xA;&lt;p&gt;The main objective next: assembling a retro Z80-based computer running CP/M.&lt;/p&gt;&#xA;&lt;p&gt;Whether designing cloud infrastructure or tracing PCB circuits, the core logic of system architecture and debugging remains the same.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Build an NVIDIA k8s Lab on an Old Gaming Laptop</title>
				<link>https://markelov.dev/articles/nca-aiio-homelab/</link>
				<pubDate>Tue, 02 Jun 2026 20:31:00 +0000</pubDate>
				<guid>https://markelov.dev/articles/nca-aiio-homelab/</guid>
				<description>&lt;p&gt;&lt;em&gt;Turn an old Windows gaming laptop into a Kubernetes AI lab to prepare for the NVIDIA-Certified Associate: AI Infrastructure and Operations (NCA-AIIO) exam.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;The guide goes from WSL2 and Docker through Kind and the GPU Operator. At the&#xA;end — &lt;strong&gt;Step 7&lt;/strong&gt; — you &lt;strong&gt;run a small LLM on the GPU&lt;/strong&gt; (Ollama with a 3B model)&#xA;to confirm the full stack works for real AI workloads.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-i-built-this-lab&#34;&gt;Why I Built This Lab&lt;/h2&gt;&#xA;&lt;p&gt;If you work in an industry that is moving to AI workloads, knowing the NVIDIA AI&#xA;infrastructure stack helps. That is why I decided to study it.&lt;/p&gt;</description>
			</item>
			<item>
				<title>RHCSA 10 Study Companion — author copies arrived</title>
				<link>https://markelov.dev/posts/rhcsa10-author-copies/</link>
				<pubDate>Sun, 31 May 2026 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhcsa10-author-copies/</guid>
				<description>&lt;p&gt;📚 It&amp;rsquo;s officially in my hands!&lt;/p&gt;&#xA;&lt;p&gt;There is nothing quite like the feeling of opening a box and holding the physical copy of a book you&amp;rsquo;ve poured months of work into.&lt;/p&gt;&#xA;&lt;p&gt;I am incredibly thrilled to share that my 4th book is officially out, and my author copies have just arrived!&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/rhcsa10-author-copies/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/rhcsa10-author-copies/img-002.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;A huge thank you to the editorial team — Gryffin Winkler, Shobana Srinivasan, Chellappa DulcyNirmala, Aleksey Usov, and Iuliia Kozlova — for their fantastic support throughout this journey. Writing a book is a marathon, but seeing it come to life makes every single late night completely worth it.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Red Hat RHCSA 10 Study Companion (2026)</title>
				<link>https://markelov.dev/books/rhcsa-10-study-companion/</link>
				<pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/books/rhcsa-10-study-companion/</guid>
				<description>&lt;h3 id=&#34;by-andrey-markelov&#34;&gt;By Andrey Markelov&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;Red Hat RHCSA 10 Study Companion: Getting Ready for the EX200 Exam&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Apress · Certification Study Companion Series · XIV, 325 pages · Softcover ISBN 979-8-8688-2225-4 · eBook ISBN 979-8-8688-2226-1&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/adminbook/979-8-8688-2225-4.webp&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;This book is a hands-on study companion for Red Hat’s &lt;strong&gt;RHCSA&lt;/strong&gt; certification on &lt;strong&gt;Red Hat Enterprise Linux 10&lt;/strong&gt;. It aligns with the RHEL 10 release and is designed to sit alongside official Red Hat documentation while covering the practical skills tested on the &lt;strong&gt;EX200&lt;/strong&gt; exam.&lt;/p&gt;</description>
			</item>
			<item>
				<title>RHCSA 10 Study Companion — pre-orders open</title>
				<link>https://markelov.dev/posts/rhcsa10-book-preorder/</link>
				<pubDate>Fri, 13 Mar 2026 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhcsa10-book-preorder/</guid>
				<description>&lt;p&gt;Excited to share that my 4th book, &amp;lsquo;RHCSA 10 Study Companion,&amp;rsquo; is officially in production! 🚀 Pre-orders are now open on Amazon.&lt;/p&gt;&#xA;&lt;p&gt;Pre-order your copy here: &lt;a href=&#34;https://www.amazon.com/dp/B0FW3RLDCR&#34;&gt;Amazon&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>HashiCorp Certified: Terraform Associate (003) was issued by HashiCorp to Andrey Markelov.</title>
				<link>https://markelov.dev/posts/hashicorp-certified-terraform-associate-003-was-issued-by-ha/</link>
				<pubDate>Tue, 04 Mar 2025 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/hashicorp-certified-terraform-associate-003-was-issued-by-ha/</guid>
				<description>&lt;p&gt;View my verified achievement from &lt;a href=&#34;https://www.linkedin.com/company/hashicorp/&#34;&gt;HashiCorp&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.credly.com/badges/b14f28f6-73b4-4898-b6a3-6791fb084cd1&#34;&gt;&lt;img src=&#34;https://markelov.dev/posts/hashicorp-certified-terraform-associate-003-was-issued-by-ha/badge-001.jpg&#34; alt=&#34;HashiCorp Certified: Terraform Associate (003) was issued by HashiCorp to Andrey Markelov.&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>GitHub Actions was issued by GitHub to Andrey Markelov.</title>
				<link>https://markelov.dev/posts/github-actions-was-issued-by-github-to-andrey-markelov/</link>
				<pubDate>Fri, 29 Nov 2024 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/github-actions-was-issued-by-github-to-andrey-markelov/</guid>
				<description>&lt;p&gt;View my verified achievement from &lt;a href=&#34;https://www.linkedin.com/company/github/&#34;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.credly.com/badges/3e74922b-0afa-4a90-8089-dd3b66e459ba&#34;&gt;&lt;img src=&#34;https://markelov.dev/posts/github-actions-was-issued-by-github-to-andrey-markelov/badge-001.jpg&#34; alt=&#34;GitHub Actions was issued by GitHub to Andrey Markelov.&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Red Hat Certified Specialist in Linux Performance Tuning was issued by Red Hat to Andrey Markelov.</title>
				<link>https://markelov.dev/posts/red-hat-certified-specialist-in-linux-performance-tuning-was/</link>
				<pubDate>Thu, 20 Jun 2024 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-certified-specialist-in-linux-performance-tuning-was/</guid>
				<description>&lt;p&gt;View my verified achievement from &lt;a href=&#34;https://www.linkedin.com/company/red-hat/&#34;&gt;Red Hat&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.credly.com/badges/23b06eb4-1e40-44a7-b9c3-c0893ce79d55&#34;&gt;&lt;img src=&#34;https://markelov.dev/posts/red-hat-certified-specialist-in-linux-performance-tuning-was/badge-001.jpg&#34; alt=&#34;Red Hat Certified Specialist in Linux Performance Tuning was issued by Red Hat to Andrey Markelov.&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>I got my author hard copies of the 2nd edition of my Certified OpenStack Administrator Study Guid...</title>
				<link>https://markelov.dev/posts/i-got-my-author-hard-copies-of-the-2nd-edition-of-my-certifi/</link>
				<pubDate>Sat, 13 May 2023 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/i-got-my-author-hard-copies-of-the-2nd-edition-of-my-certifi/</guid>
				<description>&lt;p&gt;I got my author hard copies of the 2nd edition of my Certified #OpenStack Administrator Study Guide book from #Apress just today. This updated book is designed to help you pass the latest “Yoga” version of the Certified OpenStack Administrator (#COA) exam from the Open Infrastructure Foundation. The book can be ordered from Amazon or the publisher itself.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/i-got-my-author-hard-copies-of-the-2nd-edition-of-my-certifi/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>I got my second Kubernetes certification this week. CKAD looks easier to me than CKA... View my v...</title>
				<link>https://markelov.dev/posts/i-got-my-second-kubernetes-certification-this-week-ckad-look/</link>
				<pubDate>Sat, 13 May 2023 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/i-got-my-second-kubernetes-certification-this-week-ckad-look/</guid>
				<description>&lt;p&gt;I got my second Kubernetes&#xA;certification this week. CKAD looks easier to me than CKA&amp;hellip; View my&#xA;verified achievement from The Linux Foundation.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.credly.com/badges/86133e1f-424f-4ab4-abbb-f43b8a998746&#34;&gt;&lt;img src=&#34;https://markelov.dev/posts/i-got-my-second-kubernetes-certification-this-week-ckad-look/badge-001.jpg&#34; alt=&#34;CKAD: Certified Kubernetes Application Developer was issued by The Linux Foundation to Andrey Markelov.&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Today is my last day at ericsson . It is time to start a new chapter in my career. I want to than...</title>
				<link>https://markelov.dev/posts/today-is-my-last-day-at-ericsson-it-is-time-to-start-a-new-c/</link>
				<pubDate>Sat, 13 May 2023 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/today-is-my-last-day-at-ericsson-it-is-time-to-start-a-new-c/</guid>
				<description>&lt;p&gt;Today is my last day at #ericsson .&#xA;It is time to start a new chapter in my career. I want to thank&#xA;Ericsson for the fantastic 7,5 years. It has been a privilege working&#xA;for such a great company!&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/today-is-my-last-day-at-ericsson-it-is-time-to-start-a-new-c/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>CKA: Certified Kubernetes Administrator was issued by The Linux Foundation to Andrey Markelov.</title>
				<link>https://markelov.dev/posts/cka-certified-kubernetes-administrator-was-issued-by-the-lin/</link>
				<pubDate>Tue, 24 Jan 2023 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/cka-certified-kubernetes-administrator-was-issued-by-the-lin/</guid>
				<description>&lt;p&gt;View my verified achievement from The Linux Foundation.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.credly.com/badges/49897808-696e-432a-815b-0bb8d368c92e&#34;&gt;&lt;img src=&#34;https://markelov.dev/posts/cka-certified-kubernetes-administrator-was-issued-by-the-lin/badge-001.jpg&#34; alt=&#34;CKA: Certified Kubernetes Administrator was issued by The Linux Foundation to Andrey Markelov.&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Certified OpenStack Administrator Study Guide (2022)</title>
				<link>https://markelov.dev/books/certified-openstack-administrator-coa-2/</link>
				<pubDate>Fri, 21 Oct 2022 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/books/certified-openstack-administrator-coa-2/</guid>
				<description>&lt;h3 id=&#34;by-andrey-markelov&#34;&gt;By Andrey Markelov&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;Certified OpenStack Administrator Study Guide: Get Everything You Need for the COA Exam&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Apress · Certification Study Companion Series · 2nd ed. · XIII, 254 pages · Softcover ISBN 978-1-4842-8803-0 · eBook ISBN 978-1-4842-8804-7&lt;/p&gt;&#xA;&lt;p&gt;This updated edition helps you prepare for the &lt;strong&gt;Certified OpenStack Administrator (COA)&lt;/strong&gt; exam on the &lt;strong&gt;Yoga&lt;/strong&gt; release from the Open Infrastructure Foundation. It explains how to work with the modern &lt;strong&gt;OpenStack&lt;/strong&gt; IaaS cloud platform and covers the practical skills tested on the exam.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Certified OpenStack Administrator (COA) exam book 2nd ed</title>
				<link>https://markelov.dev/posts/certified-openstack-administrator-coa/</link>
				<pubDate>Sun, 09 Oct 2022 11:46:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/certified-openstack-administrator-coa/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/certified-openstack-administrator-coa/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;You can pre-order 2nd edition of my book from Apress publisher now. This updated book is designed to help you pass the latest “Yoga” version of the Certified OpenStack Administrator (COA) exam from the Open Infrastructure Foundation. OpenStack is a cloud operating system that controls large pools of computer storage and networking resources throughout a data center. &lt;a href=&#34;https://www.amazon.com/Certified-OpenStack-Administrator-Study-Guide/dp/1484288033&#34;&gt;https://www.amazon.com/Certified-OpenStack-Administrator-Study-Guide/dp/1484288033&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Nice course - https://lnkd.in/dmtzmKqj from CodeFresh about ArgoCD. I would like to recommend it ...</title>
				<link>https://markelov.dev/posts/nice-course-httpslnkdindmtzmkqj-from-codefresh-about-argocd/</link>
				<pubDate>Fri, 29 Jul 2022 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/nice-course-httpslnkdindmtzmkqj-from-codefresh-about-argocd/</guid>
				<description>&lt;p&gt;Nice course - &lt;a href=&#34;https://lnkd.in/dmtzmKqj&#34;&gt;https://lnkd.in/dmtzmKqj&lt;/a&gt; from CodeFresh about ArgoCD. I would like to recommend it to everyone interested in GitOps concerning Kubernetes.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/nice-course-httpslnkdindmtzmkqj-from-codefresh-about-argocd/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>The PPL theory is passed! There are eight practice sessions and a practice test left.</title>
				<link>https://markelov.dev/posts/the-ppl-theory-is-passed-there-are-eight-practice-sessions-a/</link>
				<pubDate>Sun, 21 Nov 2021 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/the-ppl-theory-is-passed-there-are-eight-practice-sessions-a/</guid>
				<description>&lt;p&gt;The PPL theory is passed! There are eight practice sessions and a practice test left.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/the-ppl-theory-is-passed-there-are-eight-practice-sessions-a/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Got EX260 Red Hat Certified Specialist in Ceph Cloud Storage certification based on Ceph 4 today....</title>
				<link>https://markelov.dev/posts/got-ex260-red-hat-certified-specialist-in-ceph-cloud-storage/</link>
				<pubDate>Mon, 08 Nov 2021 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/got-ex260-red-hat-certified-specialist-in-ceph-cloud-storage/</guid>
				<description>&lt;p&gt;Got EX260 Red Hat Certified Specialist in Ceph Cloud Storage certification based on #Ceph 4 today&amp;hellip; I have to speed up and pass one more exam in November until my learning subscription will be expired :)&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/got-ex260-red-hat-certified-specialist-in-ceph-cloud-storage/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Just passed Red Hat Certified Specialist in High Availability Clustering Exam based on RHEL 8.3. ...</title>
				<link>https://markelov.dev/posts/just-passed-red-hat-certified-specialist-in-high-availabilit/</link>
				<pubDate>Tue, 12 Oct 2021 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/just-passed-red-hat-certified-specialist-in-high-availabilit/</guid>
				<description>&lt;p&gt;Just passed Red Hat Certified&#xA;Specialist in High Availability Clustering Exam based on RHEL 8.3.&#xA;Before that, I took this exam in 2008 based on RHEL 5.1 :)&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/just-passed-red-hat-certified-specialist-in-high-availabilit/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>That is why I not posting about passed IT exams, k8s, etc last months… Keeping myself busy with f...</title>
				<link>https://markelov.dev/posts/that-is-why-i-not-posting-about-passed-it-exams-k8s-etc-last/</link>
				<pubDate>Fri, 13 Aug 2021 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/that-is-why-i-not-posting-about-passed-it-exams-k8s-etc-last/</guid>
				<description>&lt;p&gt;That is why I not posting about&#xA;passed IT exams, k8s, etc last months… Keeping myself busy with flight&#xA;training for PPL. Second solo flight today at DA40 :)&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/that-is-why-i-not-posting-about-passed-it-exams-k8s-etc-last/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Just updated Just updated my almost outdated EX342 Red Hat Certified Specialist in Linux Diagnost...</title>
				<link>https://markelov.dev/posts/just-updated-just-updated-my-almost-outdated-ex342-red-hat-c/</link>
				<pubDate>Tue, 29 Dec 2020 12:00:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/just-updated-just-updated-my-almost-outdated-ex342-red-hat-c/</guid>
				<description>&lt;p&gt;Just updated Just updated my&#xA;almost outdated EX342 Red Hat Certified Specialist in Linux Diagnostics&#xA;and Troubleshooting certification&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/just-updated-just-updated-my-almost-outdated-ex342-red-hat-c/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Red Hat Certified Specialist in Linux Performance Tuning 8.0</title>
				<link>https://markelov.dev/posts/red-hat-certified-specialist-in-linux-80/</link>
				<pubDate>Wed, 07 Oct 2020 05:26:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-certified-specialist-in-linux-80/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/red-hat-certified-specialist-in-linux-80/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Just updated my 11 years old EX442 Red Hat Certified Specialist in Linux Performance Tuning certification. First I did it on RHEL 5 in 2009 when I finished my RHCA certification. Now updated it on RHEL 8. It is still one of the hardest exams I ever passed.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Red Hat Certified Specialist in OpenShift Administration 4.2</title>
				<link>https://markelov.dev/posts/red-hat-certified-specialist-in/</link>
				<pubDate>Sat, 15 Aug 2020 07:59:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-certified-specialist-in/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/red-hat-certified-specialist-in/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Just updated my EX280 Red Hat Certified Specialist in OpenShift Administration certification with OCP 4.2. My previous EX280 certification was done five years ago on OpenShift 2.1.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Книга &#34;Введение в технологии контейнеров и Kubernetes&#34; (2019 г.)</title>
				<link>https://markelov.dev/books/kubernetes/</link>
				<pubDate>Sun, 04 Aug 2019 12:56:00 +0000</pubDate>
				<guid>https://markelov.dev/books/kubernetes/</guid>
				<description>&lt;h3 id=&#34;андрей-маркелов&#34;&gt;&lt;strong&gt;Андрей Маркелов&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;h2 id=&#34;heading&#34;&gt;&lt;strong&gt;&amp;ldquo;Введение в технологии контейнеров и Kubernetes&amp;rdquo;&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;ДМК Пресс, Июнь 2019 г., 194 страницы, Формат: 210 * 145 мм&lt;/strong&gt;&lt;br&gt;&#xA;&lt;strong&gt;Бумага: офсетная, Обложка: Мягкая обложка, ISBN 978-5-97060-775-6.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/books/kubernetes/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;В книге рассмотрены механизмы, обеспечивающие работу контейнеров в GNU/Linux,  основы работы с контейнерами при помощи Docker и Podman, а также система оркестрирования контейнеров Kubernetes. Помимо этого, книга знакомит c особенностями одного из самых популярных дистрибутивов Kubernetes – OpenShift (OKD).&lt;/p&gt;&#xA;&lt;p&gt;Данная книга рассчитана на ИТ-специалистов, знакомых с GNU/Linux и желающих познакомиться с технологиями контейнеров и системой оркестрации Kubernetes.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Моя новая книга по Kubernetes доступна для предзаказа</title>
				<link>https://markelov.dev/posts/kubernetes-2/</link>
				<pubDate>Thu, 06 Jun 2019 08:22:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/kubernetes-2/</guid>
				<description>&lt;p&gt;Моя новая книга по Kubernetes доступна для предзаказа по &lt;a href=&#34;https://dmkpress.com/catalog/computer/os/978-5-97060-775-6/&#34;&gt;ссылке&lt;/a&gt;.  Подробнее о книге &lt;a href=&#34;https://markelov.blogspot.com/p/kubernetes.html&#34;&gt;тут&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/kubernetes-2/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>10 years RHCA</title>
				<link>https://markelov.dev/posts/10-years-rhca/</link>
				<pubDate>Sat, 09 Feb 2019 12:01:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/10-years-rhca/</guid>
				<description>&lt;p&gt;Ten years ago, January 2009, in Stockholm I passed the last of five required hands-on exams and got Red Hat Certified Architect (RHCA) certification. Those days it was about 300 RHCA worldwide and I was the second for CIS/Russia. As you have to pass exam before teach corresponding course, we could bring RHCA-level courses to Russia at Инвента training center after that. Looking back for the last 10 years I still think that this certification is valuable and the knowledge itself is relevant for my daily job.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Книга по OpenStack на русском. (4е издание, 2018 г.)</title>
				<link>https://markelov.dev/books/openstack-3/</link>
				<pubDate>Sun, 15 Jul 2018 14:26:00 +0000</pubDate>
				<guid>https://markelov.dev/books/openstack-3/</guid>
				<description>&lt;p&gt;&lt;strong&gt;Андрей Маркелов&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&amp;ldquo;OpenStack. Знакомство с облачной операционной системой&amp;rdquo;. Четвертое издание.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;ДМК Пресс, Май 2018г., 306 страниц, ISBN 978-5-97060-652-0.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/books/openstack-3/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Книга знакомит читателя с основными сервисами облачной операционной системы OpenStack на начало 2018 года (версия Queens). Рассмотрены вопросы интеграции OpenStack и системы работы с контейнерами Docker, программно-определяемой системы хранения данных Ceph, настройки производительности и высокой доступности сервисов.&lt;/p&gt;&#xA;&lt;p&gt;В 4-е издание добавлен материал по работе с сетью, настройками производительности и отказоустойчивости. В связи с переходом на сервис Gnocchi переработана глава, посвященная сервису телеметрии.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Предзаказ 4-го издания книги по OpenStack</title>
				<link>https://markelov.dev/posts/4-openstack/</link>
				<pubDate>Wed, 09 May 2018 08:53:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/4-openstack/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/4-openstack/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Открыт &lt;a href=&#34;http://dmkpress.com/catalog/computer/os/978-5-97060-652-0/&#34;&gt;предзаказ&lt;/a&gt; на четвертое издание моей книги по OpenStack. В 4-е издание добавлен материал по работе с сетью, настройками производительности и отказоустойчивости. В связи с переходом на сервис Gnocchi переработана глава, посвященная сервису телеметрии.&lt;/p&gt;&#xA;&lt;p&gt;Ниже приведены некоторые изменения четвертого издания, по сравнению с третьим:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Обновлены главы, посвященные основным сервисам OpenStack, в соответствии с изменениями на начало 2018 года (версия Queens).&lt;/li&gt;&#xA;&lt;li&gt;Добавлен материал в главах, посвященных работе с сетью, настройками производительности и отказоустойчивости.&lt;/li&gt;&#xA;&lt;li&gt;Переработана глава, посвященная сервису телеметрии, в связи с переходом на сервис Gnocchi.&lt;/li&gt;&#xA;&lt;li&gt;Примеры большинства команд обновлены с использованием клиента командной строки openstack.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
			</item>
			<item>
				<title>Red Hat Certified Engineer in Red Hat OpenStack 10</title>
				<link>https://markelov.dev/posts/red-hat-certified-engineer-in-red-hat/</link>
				<pubDate>Fri, 16 Mar 2018 20:04:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-certified-engineer-in-red-hat/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/red-hat-certified-engineer-in-red-hat/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I have received the results of EX310 Red Hat Certified Engineer in Red Hat OpenStack just now. I have upgraded my Red Hat Certified Architect Level to XI :) Exam was all about Networking &amp;amp; Foundations of NFV in OpenStack. Since my job role focus will shift from NVFi to another area, this exam was a good conclusion for the last two years of working with OpenStack :)&lt;/p&gt;</description>
			</item>
			<item>
				<title>How Director deployed services in RHOSP 10 diagram</title>
				<link>https://markelov.dev/posts/how-director-deployed-services-in-rhosp/</link>
				<pubDate>Tue, 23 Jan 2018 09:55:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/how-director-deployed-services-in-rhosp/</guid>
				<description>&lt;p&gt;I have created diagram which shows how Director deployed services in RHOSP 10. That is something like summary for &amp;ldquo;&lt;a href=&#34;https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/single/understanding_red_hat_openstack_platform_high_availability/index&#34;&gt;UNDERSTANDING RED HAT OPENSTACK PLATFORM HIGH AVAILABILITY&lt;/a&gt;&amp;rdquo; guide. If you learning RHOSP it would be useful.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/how-director-deployed-services-in-rhosp/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Level Up</title>
				<link>https://markelov.dev/posts/level-up/</link>
				<pubDate>Tue, 23 Jan 2018 09:40:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/level-up/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/level-up/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I have received the results for EX220 Red Hat Certified Specialist in Hybrid Cloud Management today. Now I have Red Hat Certified Architect Level X.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Red Hat Certified Architect Level IX</title>
				<link>https://markelov.dev/posts/red-hat-certified-architect-level-ix/</link>
				<pubDate>Thu, 05 Oct 2017 09:50:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-certified-architect-level-ix/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/red-hat-certified-architect-level-ix/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I have got Red Hat Certified Architect Level IX now. I&amp;rsquo;ve just received the results for EX342 Red Hat Certificate of Expertise in Red Hat Enterprise Linux Diagnostics and Troubleshooting.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Certificate of Expertise in Ansible Automation</title>
				<link>https://markelov.dev/posts/certificate-of-expertise-in-ansible/</link>
				<pubDate>Thu, 24 Aug 2017 19:05:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/certificate-of-expertise-in-ansible/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/certificate-of-expertise-in-ansible/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Now I&amp;rsquo;ve got RHCA Level VIII. I have received the results for EX407 Red Hat Certificate of Expertise in Ansible Automation Exam&amp;hellip;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Certificate of Expertise in Containerizing Software Applications</title>
				<link>https://markelov.dev/posts/certificate-of-expertise-in/</link>
				<pubDate>Thu, 11 May 2017 19:02:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/certificate-of-expertise-in/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/certificate-of-expertise-in/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I have just received the results for EX276 Red Hat Certificate of Expertise in Containerizing Software Applications (Docker). Now I am RHCA Level VII.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to configure OpenStack TripleO Undercloud in virtual environment with the help of VBMC</title>
				<link>https://markelov.dev/posts/how-to-configure-openstack-tripleo/</link>
				<pubDate>Sun, 07 May 2017 13:36:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/how-to-configure-openstack-tripleo/</guid>
				<description>&lt;p&gt;This blog post describes the way to prepare a small lab in virtual environment intended for TripleO (Director) OpenStack deployment tool learning. This is a quick instruction. For deep understanding and command exploration use &lt;a href=&#34;https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html/director_installation_and_usage/&#34;&gt;documentation&lt;/a&gt;. &lt;/p&gt;&#xA;&lt;p&gt;I used my home laptop with 16 Gb of memory and CentOS 7.3 on the top of it for the lab environment hardware and RHEL 7.3 and RHOPS 10 for virtual machines, but these instructions should be applicable for RDO OpenStack distribution with minor changes.&lt;/p&gt;</description>
			</item>
			<item>
				<title>My second article in the series on Docker</title>
				<link>https://markelov.dev/posts/my-second-article-in-series-on-docker/</link>
				<pubDate>Sat, 18 Mar 2017 16:14:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/my-second-article-in-series-on-docker/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/my-second-article-in-series-on-docker/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;My second article in the series on #Docker was published in Russian magazine &amp;ldquo;Системный администратор&amp;rdquo; 3/2017 &lt;a href=&#34;http://samag.ru/archive/article/3384&#34;&gt;http://samag.ru/archive/article/3384&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Третье издание моей книги по OpenStack на русском</title>
				<link>https://markelov.dev/posts/openstack-4/</link>
				<pubDate>Thu, 09 Mar 2017 18:25:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/openstack-4/</guid>
				<description>&lt;p&gt;Собственно, новость - в заголовке :) Информация о предварительном заказе и обновлениях тут - &lt;a href=&#34;http://markelov.blogspot.se/p/openstack.html&#34;&gt;http://markelov.blogspot.se/p/openstack.html&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>My first article in the series on Docker</title>
				<link>https://markelov.dev/posts/my-first-article-in-series-on-docker/</link>
				<pubDate>Fri, 17 Feb 2017 18:50:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/my-first-article-in-series-on-docker/</guid>
				<description>&lt;p&gt;My first article in the series on&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/my-first-article-in-series-on-docker/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Docker was published in Russian magazine &amp;ldquo;Системный администратор&amp;rdquo; 1/2017 (p. 36-40). Read the full version in paper &lt;a href=&#34;http://samag.ru/archive/article/3358&#34;&gt;http://samag.ru/archive/article/3358&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Курсы по контейнерам, GlusterFS и Satellite 6 в Москве</title>
				<link>https://markelov.dev/posts/glusterfs-satellite-6/</link>
				<pubDate>Wed, 08 Feb 2017 10:01:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/glusterfs-satellite-6/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/glusterfs-satellite-6/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ближайшие курсы в УЦ Инвента в Москве в начале апреля:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.inventa.ru/learn/courses/3411/175659/&#34;&gt;RH403 Администрирование Satellite 6&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.inventa.ru/learn/courses/3411/174230/&#34;&gt;RH236 Администрирование Red Hat Gluster Storage&lt;/a&gt; (вечерний)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.inventa.ru/learn/courses/3411/5504/&#34;&gt;RH442 Мониторинг и настройка производительности промышленных систем Red Hat&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.inventa.ru/learn/courses/3411/181755/&#34;&gt;RH270 Управление контейнерами с помощью Red Hat Enterprise Linux Atomic Host&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Запись по ссылкам на сайте учебного центра или в &lt;a href=&#34;http://www.inventa.ru/learn/schedule/&#34;&gt;расписании&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>O&#39;Reilly&#39;s Using Docker book in Russian</title>
				<link>https://markelov.dev/posts/oreillys-using-docker-book-in-russian/</link>
				<pubDate>Sun, 11 Dec 2016 16:48:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/oreillys-using-docker-book-in-russian/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/oreillys-using-docker-book-in-russian/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I have finished working on Russian translation of O&amp;rsquo;Reilly&amp;rsquo;s Using Docker book as Technical Editor today. This is a new experience for me :) I hope the translation is as good as English original :) &lt;a href=&#34;http://dmkpress.com/catalog/computer/os/978-5-97060-426-7/&#34;&gt;http://dmkpress.com/catalog/computer/os/978-5-97060-426-7/&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Авторизованные курсы Red Hat по Docker и Kubernetes в Москве</title>
				<link>https://markelov.dev/posts/red-hat-docker-kubernetes/</link>
				<pubDate>Thu, 08 Sep 2016 17:29:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-docker-kubernetes/</guid>
				<description>&lt;p&gt;Для интересующихся технологиями контейнеров, первый раз в России будет проводиться авторизированный курс DO276 Red Hat по Docker и Kubernetes. Продолжительность 3 дня с 24 по 26 декабря. Если будут желающие, то могу провести и экзамен, который входит в линейку RHCA. Регистрация - &lt;a href=&#34;http://inventa.ru/learn/courses/3411/181191/&#34;&gt;http://inventa.ru/learn/courses/3411/181191/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Кроме того, до конца года в Инвенте проведу два экзамена Red Hat: по RHEV - 8 октября и по OpenStack - 24 сентября. Регистрация также на &lt;a href=&#34;http://inventa.ru/&#34;&gt;http://inventa.ru&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Экзамен по Red Hat OpenStack в УЦ Инвента в сентябре</title>
				<link>https://markelov.dev/posts/red-hat-openstack/</link>
				<pubDate>Fri, 26 Aug 2016 11:34:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-openstack/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/red-hat-openstack/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Коллеги, 24 сентября, в субботу провожу в Москве в УЦ Инвента экзамен EX210 Red Hat Certified System Adminstrator in OpenStack. Описание - &lt;a href=&#34;https://www.redhat.com/en/services/training/ex210-red-hat-certified-system-administrator-red-hat-openstack-exam&#34;&gt;тут&lt;/a&gt;. Регистрация на сайте Инвенты - &lt;a href=&#34;http://inventa.ru/learn/courses/5829/175654/&#34;&gt;тут&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Книга по подготовке к экзамену Certified OpenStack Administrator доступна для предзаказа</title>
				<link>https://markelov.dev/posts/certified-openstack-administrator/</link>
				<pubDate>Fri, 12 Aug 2016 07:04:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/certified-openstack-administrator/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/certified-openstack-administrator/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Моя новая книга над которой я работал последние пол-года &lt;a href=&#34;http://www.apress.com/9781484221242?gtmf=c&#34;&gt;доступна для предварительного заказа&lt;/a&gt; на сайте издательства Apress.com. По плану она выходит 30 ноября 2016 года. Книга поможет подготовиться к экзамену Certified OpenStack Administrator от OpenStack Foundation. Также будет не бесполезна при подготовке к сертификации от Mirantis. Полное описание книги и оглавление - &lt;a href=&#34;http://www.apress.com/9781484221242?gtmf=c&#34;&gt;на сайте издательства&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Quick info and tips for Certified OpenStack Administrator exam (COA)</title>
				<link>https://markelov.dev/posts/quick-info-and-tips-for-certified/</link>
				<pubDate>Tue, 10 May 2016 08:09:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/quick-info-and-tips-for-certified/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/quick-info-and-tips-for-certified/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;In addition to Mirantis and Red Hat OpenStack certification I got Certified OpenStack Administrator from OpenStack Foundation yesterday. Now I am in process of writing Certified OpenStack Administrator Study Guide. It should be ready in November, I believe. This post is a short description and some tips for the exam.&lt;/p&gt;&#xA;&lt;p&gt;Certified OpenStack Administrator (COA) is the first professional certification offered by the OpenStack Foundation. As OpenStack&amp;rsquo;s web-site tells, it’s designed to help companies identify top talent in the industry, and help job seekers demonstrate their skills.&lt;br&gt;&#xA;The COA certification is available to anyone who passes the exam. No mandatory learning is required. However, the Certified OpenStack Administrator is a professional typically with at least six months OpenStack experience. It is very important to gain practical skills of work with OpenStack before taking the exam. Practice, practice and practice is the only way to successfully reach the exam goals.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Первый OpenStack Meetup в Казани</title>
				<link>https://markelov.dev/posts/openstack-meetup-2/</link>
				<pubDate>Sat, 09 Apr 2016 13:01:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/openstack-meetup-2/</guid>
				<description>&lt;p&gt;Кому интересно, приходите на первый OpenStack Meetup в Казане 21 апреля 2016 года. Я баду рассказывать про NFV и SDN. Регистрация и программа тут - &lt;a href=&#34;http://www.meetup.com/OpenStack-Russia-Kazan/events/225176497/&#34;&gt;http://www.meetup.com/OpenStack-Russia-Kazan/events/225176497/.&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Маленькое интервью в преддверии ROSS 2016 на PCweek</title>
				<link>https://markelov.dev/posts/ross-2016-pcweek/</link>
				<pubDate>Thu, 24 Mar 2016 18:37:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/ross-2016-pcweek/</guid>
				<description>&lt;p&gt;&lt;strong&gt;Андрей Маркелов&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;андрей-маркелов-на-саммите-ross2016-расскажет-об-openstack--и-opnfv-решениях-ericsson&#34;&gt;&lt;a href=&#34;http://www.pcweek.ru/foss/article/detail.php?ID=183985&#34;&gt;Андрей Маркелов на саммите ROSS`2016 расскажет об OpenStack- и OPNFV-решениях Ericsson&lt;/a&gt;&lt;/h1&gt;</description>
			</item>
			<item>
				<title>Доступен предзаказ 2го обновленного и расширенного издания книги о OpenStack.</title>
				<link>https://markelov.dev/posts/2-openstack/</link>
				<pubDate>Fri, 04 Mar 2016 10:36:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/2-openstack/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/2-openstack/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Что нового во втором издании?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Текст книги обновлен, чтобы соответствовать актуальным версиям рассматриваемых проектов и компонент OpenStack по состоянию на начало 2016 года (версия Liberty), а объем книги увеличен более чем на треть. Некоторые изменения второго издания:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Исправлен ряд неточностей и опечаток первого издания вышедшего в июне 2015 года.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;!--THE END--&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Добавлена глава, посвященная программно-определяемой системе хранения данных Ceph и использованию Ceph совместно с OpenStack.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;!--THE END--&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Расширен и переработан материал по работе с виртуальными машинами и сетью (агрегация узлов, зоны доступности, живая миграция, создание образов виртуальных машин, работа с сетью и многое другое). С целью лучшей структуризации материал разбит на две отдельные главы.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;!--THE END--&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;При описании настройки тестового окружения разделены управляющий, сетевой и вычислительный узлы, что позволяет нагляднее познакомиться с типичными ролями серверов при развертывании OpenStack.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;!--THE END--&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Значительно переработан материал по работе сети в OpenStack.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;!--THE END--&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Вопросы производительности и отказоустойчивости сервисов OpenStack выделены в отдельную главу.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;!--THE END--&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Добавлено более пятнадцати новых иллюстраций и снимков с экрана.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;предзаказ-2-го-издания-на-сайте-издательства&#34;&gt;&lt;a href=&#34;http://dmkpress.com/catalog/computer/os/978-5-97060-386-4/&#34;&gt;&lt;strong&gt;Предзаказ 2-го издания на сайте издательства&lt;/strong&gt;&lt;/a&gt;&lt;/h2&gt;</description>
			</item>
			<item>
				<title>Шифрование тома Cinder в OpenStack</title>
				<link>https://markelov.dev/posts/cinder-openstack/</link>
				<pubDate>Tue, 12 Jan 2016 11:38:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/cinder-openstack/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/cinder-openstack/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Одной из полезных опций работы с блочными устройствами является их шифрование. Настройка шифрования томов требуется со стороны двух служб: Nova и Cinder. Сделать это можно при помощи общего секрета или при помощи сервиса управления ключами Barbican. Пойдем по пути использования общего секрета. Нужно иметь в виду, что если он скомпрометирован, то злоумышленник получит доступ ко всем зашифрованным томам.&lt;/p&gt;&#xA;&lt;p&gt;Зададим ключ на узле Cinder и всех вычислительных узлах:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[root@compute ~]# crudini --set /etc/nova/nova.conf keymgr fixed_key 123456789&#xA;[root@compute ~]# systemctl restart openstack-nova-compute&#xA;[root@controller ~]# crudini --set /etc/cinder/cinder.conf keymgr fixed_key 123456789&#xA;[root@controller ~]# systemctl restart openstack-cinder-volume&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Нам необходимо создать новый тип тома. Назовем его LUKS, поскольку для шифрования будет использоваться соответствующая &lt;a href=&#34;https://en.wikipedia.org/wiki/Linux_Unified_Key_Setup&#34;&gt;спецификация&lt;/a&gt;:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Зеркалирование трафика на Open vSwitch для мониторинга сети в OpenStack (port mirroring)</title>
				<link>https://markelov.dev/posts/open-vswitch-openstack-port-mirroring/</link>
				<pubDate>Sun, 20 Dec 2015 18:12:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/open-vswitch-openstack-port-mirroring/</guid>
				<description>&lt;p&gt;Зачастую перед администратором встает задача отладки приложений в вашей виртуальной сети OpenStack, и тогда возникает необходимость воспользоваться стандартными привычными инструментами наподобие tcpdump и Wireshark.&lt;/p&gt;&#xA;&lt;p&gt;        Запустим один экземпляр виртуальной машины:&lt;/p&gt;&#xA;&lt;p&gt;$ nova boot &amp;ndash;flavor m2.tiny &amp;ndash;image cirros-raw &amp;ndash;key-name demokey1 &amp;ndash;security-groups demo-sgroup test-vm&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/open-vswitch-openstack-port-mirroring/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;        Далее, определив на каком из вычислительных узлов запустилась виртуальная машина, посмотрим топологию Open vSwitch:&lt;/p&gt;&#xA;&lt;p&gt;[root@compute-opt ~]# ovs-vsctl show&lt;br&gt;&#xA;20eab69c-e759-41b0-a480-97688ec0b4b8&lt;br&gt;&#xA;    Bridge br-int&lt;br&gt;&#xA;        fail_mode: secure&lt;br&gt;&#xA;        Port &amp;ldquo;qvobee51cf7-fb&amp;rdquo;&lt;br&gt;&#xA;            tag: 1&lt;br&gt;&#xA;            Interface &amp;ldquo;qvobee51cf7-fb&amp;rdquo;&lt;br&gt;&#xA;        Port patch-tun&lt;br&gt;&#xA;            Interface patch-tun&lt;br&gt;&#xA;                type: patch&lt;br&gt;&#xA;                options: {peer=patch-int}&lt;br&gt;&#xA;        Port br-int&lt;br&gt;&#xA;            Interface br-int&lt;br&gt;&#xA;                type: internal&lt;br&gt;&#xA;    Bridge br-tun&lt;br&gt;&#xA;        fail_mode: secure&lt;br&gt;&#xA;        Port &amp;ldquo;gre-c0a87adc&amp;rdquo;&lt;br&gt;&#xA;            Interface &amp;ldquo;gre-c0a87adc&amp;rdquo;&lt;br&gt;&#xA;                type: gre&lt;br&gt;&#xA;                options: {df_default=&amp;ldquo;true&amp;rdquo;, in_key=flow, local_ip=&amp;ldquo;192.168.122.215&amp;rdquo;, out_key=flow, remote_ip=&amp;ldquo;192.168.122.220&amp;rdquo;}&lt;br&gt;&#xA;        Port br-tun&lt;br&gt;&#xA;            Interface br-tun&lt;br&gt;&#xA;                type: internal&lt;br&gt;&#xA;        Port &amp;ldquo;gre-c0a87ad2&amp;rdquo;&lt;br&gt;&#xA;            Interface &amp;ldquo;gre-c0a87ad2&amp;rdquo;&lt;br&gt;&#xA;                type: gre&lt;br&gt;&#xA;                options: {df_default=&amp;ldquo;true&amp;rdquo;, in_key=flow, local_ip=&amp;ldquo;192.168.122.215&amp;rdquo;, out_key=flow, remote_ip=&amp;ldquo;192.168.122.210&amp;rdquo;}&lt;br&gt;&#xA;        Port patch-int&lt;br&gt;&#xA;            Interface patch-int&lt;br&gt;&#xA;                type: patch&lt;br&gt;&#xA;                options: {peer=patch-tun}&lt;br&gt;&#xA;    ovs_version: &amp;ldquo;2.4.0&amp;rdquo;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Основы облачного хранилища данных Ceph. Часть 2. Установка кластера</title>
				<link>https://markelov.dev/posts/ceph-2/</link>
				<pubDate>Sun, 13 Dec 2015 10:08:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/ceph-2/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/ceph-2/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;My next article about Ceph published in Russian magazine Samag 12/2015, pp 07-11. The hands-on guide to installation of Ceph cluster with ceph-deploy and manual. The third article in January issue will discuss OpenStack integration. The announcement is here &lt;a href=&#34;http://samag.ru/archive/article/3084&#34;&gt;http://samag.ru/archive/article/3084&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>OpenStack: Живая миграция виртуальных машин</title>
				<link>https://markelov.dev/posts/openstack-2/</link>
				<pubDate>Sun, 06 Dec 2015 07:43:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/openstack-2/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/openstack-2/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Рассмотрим на практике что стоит за кнопкой &amp;ldquo;Live Migrate Instance&amp;rdquo; веб-интерфейса и как работает живая миграция виртуальных машин в OpenStack. Сразу оговоримся что для инициации вам понадобятся привилегии администратора облака, поскольку для пользователя информация об облаке скрыта, в том числе и о конкретных гипервизорах на которых запускаются виртуальные машины. Различные балансировки нагрузки и миграции в OpenStack — вне области ответственности пользователя.&lt;/p&gt;&#xA;&lt;p&gt;Сервис OpenStack Nova поддерживает живую миграцию виртуальных машин в двух вариантах:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Статья по архитектуре SDS Ceph</title>
				<link>https://markelov.dev/posts/sds-ceph/</link>
				<pubDate>Wed, 18 Nov 2015 07:18:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/sds-ceph/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/sds-ceph/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;В ноябрьском номере журнала &amp;ldquo;Системный администратор&amp;rdquo; вышла моя первая &lt;a href=&#34;http://samag.ru/archive/article/3061&#34;&gt;статья&lt;/a&gt; из цикла о программно-определяемой системе хранения данных для OpenStack - Ceph.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Особенности ‪OpenStack‬ для ‪NFV‬ и ‪Telco</title>
				<link>https://markelov.dev/posts/openstack-nfv-telco/</link>
				<pubDate>Mon, 02 Nov 2015 14:05:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/openstack-nfv-telco/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/openstack-nfv-telco/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Рассказываю про особенности ‪OpenStack‬ для ‪NFV‬ и ‪Telco‬ 24 ноября в Москве на RISS &lt;a href=&#34;http://www.pcweek.ru/its/riss/&#34;&gt;http://www.pcweek.ru/its/riss/&lt;/a&gt; и 28 ноября в Питере на Piter United &lt;a href=&#34;http://piter-united.ru/&#34;&gt;http://piter-united.ru&lt;/a&gt;. Приходите кому интересно.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Подготовка образов для OpenStack при помощи Oz</title>
				<link>https://markelov.dev/posts/openstack-oz/</link>
				<pubDate>Wed, 30 Sep 2015 08:34:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/openstack-oz/</guid>
				<description>&lt;p&gt;В составе официальной документации OpenStack работе с образами посвящено отдельное руководство – &lt;a href=&#34;http://docs.openstack.org/image-guide/content/&#34;&gt;OpenStack Virtual Machine Image Guide&lt;/a&gt;. Документ содержит как обзор средств автоматизированного создания образов, так и примеры их создания вручную.&lt;br&gt;&#xA;        В качестве примера рассмотрим работу с утилитой &lt;a href=&#34;https://github.com/clalancette/oz/wiki&#34;&gt;Oz&lt;/a&gt;.&lt;br&gt;&#xA;        Это утилита командной строки написана на Python и на Linux-машине с гипервизором KVM и сервисом libvirtd позволяет создавать образы виртуальных машин с минимальным вмешательством пользователя. Для этого Oz использует заранее подготовленные файлы ответов не интерактивной установки операционной системы. Например, для установки Windows используются файлы ответов unattended setup, для CentOS – kickstart-файлы и так далее. Файлы ответов для различных операционных систем расположены в директории /usr/lib/python2.7/site-packages/oz/auto/. Их можно и нужно редактировать, например для выбора правильной временной зоны. В качестве инструкций сам Oz требует файлы в формате Template Description Language (TDL). Это XML-файлы, описывающие какая операционная система устанавливается, где находится дистрибутив, какие дополнительные изменения необходимо внести в образ.&lt;br&gt;&#xA;        Не рекомендуется запуск утилиты на тех же хостах, где развернуты сервисы OpenStack. Во время работы утилита запускает виртуальную машину в которой и производится установка операционной системы по вашим инструкциям TDL шаблона с использованием общих файлов ответов.&lt;br&gt;&#xA;В CentOS и Fedora установка утилиты производится командой:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Очередная статья в &#34;Системном администраторе&#34;</title>
				<link>https://markelov.dev/posts/blog-post-8/</link>
				<pubDate>Sat, 08 Aug 2015 07:49:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-8/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/blog-post-8/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;My fourth article on OpenStack was published in Russian magazine Samag 7-8/15 (p. 14-17). Read the full in paper.&lt;/p&gt;&#xA;&lt;p&gt;Вышла моя четвертая статья цикла посвященного OpenStack в ж-ле &amp;ldquo;Системный администратор&amp;rdquo; 7-8/2015. Полная версия в печатном номере. &lt;a href=&#34;http://samag.ru/archive/article/2982&#34;&gt;http://samag.ru/archive/article/2982&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Авторизованный курс и экзамен по Red Hat OpenStack в УЦ Инвента</title>
				<link>https://markelov.dev/posts/red-hat-openstack-2/</link>
				<pubDate>Sun, 02 Aug 2015 17:35:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-openstack-2/</guid>
				<description>&lt;p&gt;Коллеги,  31 августа - 4 сентября читаю в УЦ Инвента (Москва) курс по RHELOSP 6 и провожу экзамен Red Hat Certified System Adminstrator in OpenStack. Курс и экзамен проводятся в первый раз в России. С учетом курса и летней акции учебного центра - стоит это в три раза дешевле чем в Фарнборо. Подробности - на сайте учебного центра &lt;a href=&#34;http://rhd.ru/training/offers.html&#34;&gt;http://rhd.ru/training/offers.html&lt;/a&gt; (курс в конце списка). Содержание курса там-же по ссылкам.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Моя книга вышла!</title>
				<link>https://markelov.dev/posts/blog-post-7/</link>
				<pubDate>Thu, 16 Jul 2015 19:21:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-7/</guid>
				<description>&lt;p&gt;Презентация состоится на конференции &amp;ldquo;День рождения OpenStack&amp;rdquo; 22 июля. Программа мероприятия - &lt;a href=&#34;http://openstack.ru/blog/s-dnem-rozhdeniya-openstack/&#34;&gt;http://openstack.ru/blog/s-dnem-rozhdeniya-openstack/&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Update по книге OpenStack</title>
				<link>https://markelov.dev/posts/update-openstack/</link>
				<pubDate>Mon, 06 Jul 2015 22:18:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/update-openstack/</guid>
				<description>&lt;p&gt;Издательство ДМК-Пресс сообщило что на мою книгу по OpenStack очень большое число предзаказов. Сопоставимое было только у одной из книг по администрированию VMware. Презентация книги будет на конференции &amp;ldquo;День рождения OpenStack&amp;rdquo; 22 июля. Регистрация на конференцию - &lt;a href=&#34;http://www.openstackday.ru/birthday2015/&#34;&gt;http://www.openstackday.ru/birthday2015/&lt;/a&gt; Подробнее о книге - &lt;a href=&#34;http://markelov.blogspot.ru/p/openstack.html&#34;&gt;http://markelov.blogspot.ru/p/openstack.html&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Предзаказ моей книги по OpenStack</title>
				<link>https://markelov.dev/posts/openstack-30/</link>
				<pubDate>Tue, 30 Jun 2015 08:51:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/openstack-30/</guid>
				<description>&lt;p&gt;Друзья, Рукопись сдана и результат моих трехмесячных трудов - книга по OpenStack доступна для предзаказа на сайте издательства. Постоянная ссылка на информацию по книге в моем блоге и ссылка на предзаказ - &lt;a href=&#34;http://markelov.blogspot.ru/p/openstack.html&#34;&gt;тут&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/openstack-30/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Выделение вычислительных ресурсов для OpenStack</title>
				<link>https://markelov.dev/posts/openstack-5/</link>
				<pubDate>Tue, 23 Jun 2015 18:54:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/openstack-5/</guid>
				<description>&lt;p&gt;Говоря о ресурсах, нужно заметить что OpenStack позволяет подтверждать виртуальным машинам больше физической памяти и вычислительных ресурсов, чем имеется в наличии. По умолчанию планировщик ассоциирует с одним физическим или «гипертрейдинговым» ядром 16 виртуальных процессоров (vCPU). Объем памяти, выделяемой виртуальным машинам по умолчанию в полтора раза больше, чем имеющийся физический. За эти значения в конфигурационном файле /etc/nova/nova.conf отвечают параметры:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;cpu_allocation_ratio=16.0&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ram_allocation_ratio=1.5&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В целом, по рекомендациям в списках рассылки OpenStack для памяти выбирают значение 0.9. Также рекомендуется задать резервирование оперативной памяти при помощи параметра reserved_host_memory_mb в nova.conf. Обычно в расчетах можно руководствоваться закладывая на накладные расходы порядка 100 Мб на одну виртуальную машину. Обязательно нужно предусмотреть swap, как минимум вдвое больший чем этот параметр. Для процессора коэффициент сильно зависит от нагрузки. Обычно память становится раньше «бутылочным горлышком», чем ресурсы центрального процессора. Если запускается много требовательных к ЦП приложений типа Hadoop, то коэффициент выставляется ближе к 2, а иногда и к 1. Если основная нагрузка веб-сервера, то число можно увеличить вплоть до 16 заданного по умолчанию. Если вы не можете разделить типы нагрузки, то можно попробовать использовать коэффициент от 2 до 5.&lt;/p&gt;</description>
			</item>
			<item>
				<title>My third article on OpenStack Glance was published</title>
				<link>https://markelov.dev/posts/my-third-article-on-openstack-glance/</link>
				<pubDate>Fri, 12 Jun 2015 09:46:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/my-third-article-on-openstack-glance/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/my-third-article-on-openstack-glance/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;My third article on OpenStack Glance was published in Russian magazine Samag 6/15 (p. 12-14). Read the full in paper.&lt;/p&gt;&#xA;&lt;p&gt;Вышла моя третья статья цикла посвященного OpenStack в ж-ле &amp;ldquo;Системный администратор&amp;rdquo; 6/15. Полная версия в печатном номере.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://samag.ru/archive/article/2958&#34;&gt;http://samag.ru/archive/article/2958&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Знакомство с простейшим HOT шаблоном сервиса оркестрации OpenStack</title>
				<link>https://markelov.dev/posts/hot-openstack/</link>
				<pubDate>Mon, 08 Jun 2015 05:25:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/hot-openstack/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/hot-openstack/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Службы Heat позволяют автоматизировать управление жизненным циклом наборов облачных сервисов (виртуальными машинами, сетями, томами, группами безопасности и т.д.) как единым целым, объединяя их в так называемые стеки (stack). Задачи могут быть как простыми, например развертывание виртуальной машины, таки и более сложными, например старт комплексного приложения из многих машин и его масштабирование в зависимости от информации передаваемой модулем телеметрии. Для описания стеков используются специальные, одновременно легко читаемые человеком и дружественные к обработке машиной форматы описания ресурсов, их ограничений, зависимостей и параметров:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Работа с OpenStack Telemetry (Ceilometer)</title>
				<link>https://markelov.dev/posts/openstack-telemetry-ceilometer/</link>
				<pubDate>Tue, 02 Jun 2015 21:23:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/openstack-telemetry-ceilometer/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/openstack-telemetry-ceilometer/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Сервис OpenStack Telemetry (Ceilometer) — компонент облака OpenStack, отвечающий за сбор, хранение метрик и мониторинг использования ресурсов в первую очередь для целей биллинга. Помимо сбора метрик работы облака Ceilometer также собирает информацию о событиях происходящих в работающей системе. Название сервиса Ceilometer происходит от названия прибора, используемого метеорологами для измерения высоты облаков над поверхностью земли.&lt;/p&gt;&#xA;&lt;p&gt;Сервис спроектирован как расширяемый за счет подключаемых агентов сбора информации и легко маштабируемый горизонтально. Ceilometer поддерживает два способа сбора данных. Предпочтительный метод сбора при помощи очереди сообщений. Реализуется сервисом ceilometer-collector. Данный сервис запускается на одном или более управляющих узлах и отслеживает очередь сообщений. Сборщик получает уведомления от инфраструктурных сервисов (Nova, Glance, Cinder, Neutron, Swift, Keystone, Heat), затем преобразует их в сообщения телеметрии и отправляет обратно в очередь сообщений. Сообщения телеметрии записываются в хранилище без преобразований. Второй, менее предпочтительный способ - через опрашивающие инфраструктуру агенты. При помощи вызовов API или других инструментов агенты периодически запрашивают у сервисов необходимую информацию.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Моя презентация с Openstack Meetup на РИТ&#43;&#43;</title>
				<link>https://markelov.dev/posts/openstack-meetup/</link>
				<pubDate>Thu, 21 May 2015 16:47:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/openstack-meetup/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;http://www.slideshare.net/amarkelov/rit-open-stdock150521&#34;&gt;http://www.slideshare.net/amarkelov/rit-open-stdock150521&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Настройка работы Docker и OpenStack</title>
				<link>https://markelov.dev/posts/docker-openstack/</link>
				<pubDate>Mon, 11 May 2015 09:31:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/docker-openstack/</guid>
				<description>&lt;p&gt;Первое с чего мы начнем — это установка Docker и необходимых пакетов. Обращаю внимание, что этот вариант установки подходит только для тестовых сред. Для «боевой установки» следует собрать rpm-пакет с драйвером Docker и не устанавливать на вычислительные узлы средства, применяемые при разработке. Действия выполняем на вычислительном узле:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[root@os2 ~]# yum -y install net-tools docker-io&#xA;python-pip git&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Также обратите внимание на то, что мы устанавливаем пакет net-tools, который в современных дистрибутивах при установке по умолчанию заменен на iproute,а утилиты из его состава имеют статус устаревших. Нам он понадобится ради команды ifconfig, которая используется драйвером Docker.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Пара новых статей про OpenStack и СПО</title>
				<link>https://markelov.dev/posts/openstack/</link>
				<pubDate>Sun, 10 May 2015 10:22:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/openstack/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/openstack/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;В журнале &amp;ldquo;Системный администратор&amp;rdquo; 5/2015 опубликована вторая статья из моего цикла про OpenStack. Полная версия в печатной версии журнала. &lt;a href=&#34;http://samag.ru/archive/article/2936&#34;&gt;http://samag.ru/archive/article/2936&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Также вышла небольшая заметка в журнале &amp;ldquo;Бизнес и Информационные технологии&amp;rdquo; (БИТ). Тема номера - свободное программное обеспечение &lt;a href=&#34;http://l.facebook.com/l.php?u=http%3A%2F%2Fbit.samag.ru%2Farchive%2Fmore%2F151&amp;amp;h=ZAQG29Nr4&amp;amp;enc=AZPFzlvKV8-0lrWf4RhEY37vuoswg1-d87mXNNEO7P-fN24XPC4sW3GcOB_c9PFcKC99sWqzwHC3yX1y2jBl6xLpJT9aqbI9a7autmtq64AE_3GudREtVZEZ7wLtuHJAGBo7_EW-V4gMYvs_AgXwk1X5QB58_1BZbhyaFNsxyOGken6eKuYXspfETmrJsJJCt0LQuYe--CoJ83-K1SWhCGaA&amp;amp;s=1&#34;&gt;http://bit.samag.ru/archive/more/151&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>First article of the series of my articles on OpenStack</title>
				<link>https://markelov.dev/posts/first-article-of-series-of-my-articles/</link>
				<pubDate>Wed, 08 Apr 2015 14:37:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/first-article-of-series-of-my-articles/</guid>
				<description>&lt;p&gt;First article of the series of my articles on OpenStack was published in Russian magazine &amp;ldquo;Системный администратор&amp;rdquo; 4/2015 &lt;a href=&#34;http://samag.ru/archive/article/2922&#34;&gt;http://samag.ru/archive/article/2922&lt;/a&gt; . Read the full version in paper. Online later.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/first-article-of-series-of-my-articles/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Заметки по поиску неисправностей в сервисах Swift</title>
				<link>https://markelov.dev/posts/swift/</link>
				<pubDate>Wed, 01 Apr 2015 09:53:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/swift/</guid>
				<description>&lt;p&gt;Сервисы Swift пишут сообщения об ошибках в системный журнал /var/log/messages. Как правило там могут быть trace-сообщения Python. &lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/swift/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Проверьте что все сервисы запущенны при помощи команды lsof -i и что они работают на правильных портах. Если вы не нашли в списке одну из служб, вы можете попытаться запустить ее вручную, указав исполнимому файлу ваш конфигурационный файл. Например: &lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[root@sw3 ~]# swift-object-server&#xA;/etc/swift/object-server.conf &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Traceback (most recent call last): &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  File &amp;#34;/usr/bin/swift-object-server&amp;#34;,&#xA;line 27, in  &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt; ...&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;LookupError: No loader given in section&#xA;&amp;#39;filter:recon&amp;#39; &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Сервис не запускается и из вывода видно, что в данном случае имеется ошибка конфигурационного файла в секции recon.&lt;/p&gt;</description>
			</item>
			<item>
				<title>OpenStackClient — новый официальный проект OpenStack</title>
				<link>https://markelov.dev/posts/openstackclient-openstack/</link>
				<pubDate>Sat, 21 Mar 2015 20:39:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/openstackclient-openstack/</guid>
				<description>&lt;p&gt;Недавно &lt;a href=&#34;http://git.openstack.org/cgit/openstack/governance/tree/reference/projects.yaml&#34;&gt;список официальных проектов OpenStack&lt;/a&gt; пополнился еще одним проектом — OpenStackClient&lt;/p&gt;&#xA;&lt;p&gt;Утилита командной строки openstack представляет собой единый унифицированный клиент для доступа к OpenStack API. В целом, OpenStackClient позволяет делать тоже самое, что и утилиты каждого сервиса (nova, neutron, keystone-manage и др.),  но при помощи единой команды и унифицированного формата.&lt;/p&gt;&#xA;&lt;p&gt;Добавление утилиты в RDO сводится к установке пакета:&lt;/p&gt;&#xA;&lt;p&gt;[root@os1 ~]# yum -y install  python-openstackclient&lt;/p&gt;&#xA;&lt;p&gt;Для аутентификации клиент использует ту же схему, что и другие утилиты, за исключением замены устаревших  «тенантов» (OS_TENANT_NAME) на «проекты». Пример моего keystonerc тестовой среды:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Курсы и экзамены по облачным технологиям в ближайшие месяцы</title>
				<link>https://markelov.dev/posts/blog-post-13/</link>
				<pubDate>Tue, 17 Mar 2015 07:47:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-13/</guid>
				<description>&lt;p&gt;В ближайшие месяцы читаю в &lt;a href=&#34;http://www.inventa.ru/learn/courses/747/&#34;&gt;Инвенте&lt;/a&gt; курсы:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;27 апреля 2015 - &lt;a href=&#34;http://www.inventa.ru/learn/courses/3411/175651/&#34;&gt;CL210 Администрирование OpenStack&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;5 Мая 2015 - &lt;a href=&#34;http://www.inventa.ru/learn/courses/3411/175659/&#34;&gt;RH403 Администрирование Satellite 6&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;12 Мая 2015 - &lt;a href=&#34;http://www.inventa.ru/learn/courses/3411/5504/&#34;&gt;RH442 Мониторинг и настройка производительности промышленных систем Red Hat&lt;/a&gt; (обновленно до RHEL 7)&lt;/li&gt;&#xA;&lt;li&gt;18 Мая 2015 - &lt;a href=&#34;http://www.inventa.ru/learn/courses/3411/61537/&#34;&gt;RH318 Администрирование Red Hat Enterprise Virtualization&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;1 Июня 2015 - &lt;a href=&#34;http://www.inventa.ru/learn/courses/3411/5503/&#34;&gt;RH436 Управление хранением данных на предприятии&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;8 Июня 2015 - &lt;a href=&#34;http://www.inventa.ru/learn/courses/3411/175653/&#34;&gt;RH280 Администрирование PaaS OpenShift Enterprise&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Ну и до кучи экзамены:&lt;/p&gt;&#xA;&lt;p&gt;20 апреля - EX401&lt;/p&gt;</description>
			</item>
			<item>
				<title>Записи вебинаров об облачных продуктах Red Hat на русском</title>
				<link>https://markelov.dev/posts/red-hat-9/</link>
				<pubDate>Thu, 26 Feb 2015 18:34:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-9/</guid>
				<description>&lt;p&gt;Соберу в одном месте ссылки на свои вебинары, где велась запись. БОльшая часть информации еще актуальна.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;28 Окт 2014 - &lt;a href=&#34;https://sas.elluminate.com/site/external/jwsdetect/playback.jnlp?psid=2014-10-28.0133.M.A5A87BEE8EB083311B878F6B8BC096.vcr&amp;amp;sid=819&#34;&gt;Docker и контейнеры в RHEL7&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;29 Авг 2014 - &lt;a href=&#34;https://sas.elluminate.com/site/external/jwsdetect/playback.jnlp?psid=2014-08-29.0030.M.C11805B5D826A8307C287ACE06772C.vcr&amp;amp;sid=819&#34;&gt;Red Hat Enterprise Linux OpenStack: обзор технологии и демонстрация установки и работы&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;21 Дек 2013 - &lt;a href=&#34;https://sas.elluminate.com/site/external/jwsdetect/playback.jnlp?psid=2013-12-19.2332.M.80C22FAD758DF12489A2D5C24F466F.vcr&amp;amp;sid=819&#34;&gt;Red Hat Cloud Forms: Управляйте вашей виртуальной, частной и гибридной облачной инфраструктурой&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;15 Фев 2014 - &lt;a href=&#34;https://events.yandex.ru/lib/talks/1661/&#34;&gt;Решения виртуализации и облачная инфраструктура, построение гетерогенного облака средствами Red Hat&lt;/a&gt; (Moscow Yandex Virtualization Meetup)&lt;/li&gt;&#xA;&lt;li&gt;20 Ноя 2013 - &lt;a href=&#34;https://sas.elluminate.com/site/external/jwsdetect/playback.jnlp?psid=2013-11-18.2334.M.978CFD3263E01935454DD1D8778562.vcr&amp;amp;sid=819&#34;&gt;Управление аутентификацией и авторизацией в Red Hat Enterprise Linux IdM (FreeIPA)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt; Приятного просмотра :)&lt;/p&gt;</description>
			</item>
			<item>
				<title>Перу и Боливия за 24 дня. Первая часть из двух.</title>
				<link>https://markelov.dev/posts/24/</link>
				<pubDate>Fri, 11 Jul 2014 21:50:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/24/</guid>
				<description>&lt;p&gt;&lt;em&gt;Ниже опыт индивидуального путешествия по Перу и Боливии. План маршрута разрабатывали самостоятельно (лично мой вклад – на уровне погрешности J). Знание испанского – на уровне «ла квента порфавор» J&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;В сухом остатке: 2 человека, 24 дня, 12 перелетов, температура от -16 до +35, высота от 0 до 5000+ метров над уровнем моря, еда от жареных морских свинок до сырых осьминогов и кальмаров. В тех районах, где мы были – малярии нет, так что таблетки опционально. Прививки от желтой лихорадки, брюшного тифа и все остальное, что рекомендует ВОЗ – обязательно.&lt;/em&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>HP Insight Control for Red Hat Enterprise Virtualization</title>
				<link>https://markelov.dev/posts/hp-insight-control-for-red-hat/</link>
				<pubDate>Wed, 21 May 2014 20:05:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/hp-insight-control-for-red-hat/</guid>
				<description>&lt;p&gt;Год назад компания HP анонсировала бета-версию Insight Control for Red Hat Enterprise Virtualization — подключаемого модуля для RHEV, позволяющего из единой консоли управлять как виртуальной инфраструктурой, так и физическими хостами, которые лежат в ее основе, а также поддерживаемым сетевым оборудованием. Сейчас это программное обеспечение выросло из версии беты и готово к промышленному применению. Для работы требуется минимум RHEV 3.3. Ниже я привел несколько снимков экрана self-hosted RHEV-M, развернутого на ProLiant ML 350G8. Они, пусть и не полностью но демонстрируют основной функционал подключаемого модуля:&lt;/p&gt;</description>
			</item>
			<item>
				<title>RHEV 3.1. Установка гипервизора и системы управления на один хост - All-in-One plugin</title>
				<link>https://markelov.dev/posts/rhev-31-all-in-one-plugin/</link>
				<pubDate>Wed, 19 Dec 2012 15:15:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhev-31-all-in-one-plugin/</guid>
				<description>&lt;p&gt;С выходом версии Red Hat Enverprise Virtualization 3.1 в составе открытой системы виртуализации появился не поддерживаемый для промышленной эксплуатации, но крайне полезный для тестов и демонстраций так называемый all-in-one plugin, который легко позволяет установить на одну систему и гипервизор, и систему управления. По сути с его помощью можно легко сделать то, что в октябре на Partner Enablement Training в IBM и Dell в Москве инженеры наших партнеров делали вручную c актуальной на тот момент версии RHEV 3.0.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Второй семинар из серии «Red Hat: продукты и технологии»</title>
				<link>https://markelov.dev/posts/red-hat-6/</link>
				<pubDate>Thu, 29 Nov 2012 14:31:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-6/</guid>
				<description>&lt;p&gt;УЦ Инвента совместно с Представительством компании Red Hat в России объявляют о проведении второго бесплатного семинара из серии «Red Hat: продукты и технологии». Первый семинар в октябре собрал 170 человек, и мы рады продолжить серию. Серия семинаров предназначена для технических специалистов – администраторов Linux-систем. На наших семинарах вы сможете подробно узнать о новых версиях, продуктах и технологиях Red Hat, особенностях их внедрения и использования, правилах лицензирования, программах обучения и сертификации.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Q&amp;A о семинаре «Red Hat: продукты и технологии»</title>
				<link>https://markelov.dev/posts/q-red-hat/</link>
				<pubDate>Mon, 24 Sep 2012 13:46:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/q-red-hat/</guid>
				<description>&lt;p&gt;Q: Почему все еще нет подтверждения?&lt;br&gt;&#xA;A: Интерес к семинару превзошел наши ожидания. Зарегистрировалось 300+ человек. Мы не хотим никому отказывать. На планируемой площадке просто не хватит места всех разместить. Мы выбираем подходящий конференц-зал/аудиторию. Об изменившемся месте проведения мы сообщим в письме-подтверждении регистрации.&lt;/p&gt;&#xA;&lt;p&gt;Q: Что за &amp;ldquo;раздача сертификатов&amp;rdquo;?&lt;br&gt;&#xA;A: Это подтверждение участия в семинаре и не имеет никакого отношения к экзаменам или курсам Red Hat. Поскольку мы планируем раздачу призов наиболее активным участникам серии семинаров, сертификаты служили бы подтверждением того, что человек посетил те или иные семинары. Поскольку зарегистрировалось более 300 человек, мы вероятнее всего откажемся от выдачи бумажных сертификатов и будем вести электронный учет участников семинаров.&lt;br&gt;&#xA;Сохраним лес вместе! :)&lt;/p&gt;</description>
			</item>
			<item>
				<title>Запуск серии бесплатных семинаров «Red Hat: продукты и технологии»</title>
				<link>https://markelov.dev/posts/red-hat/</link>
				<pubDate>Wed, 19 Sep 2012 11:09:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat/</guid>
				<description>&lt;p&gt;Вот и появился повод для поста :)&lt;/p&gt;&#xA;&lt;p&gt;УЦ Инвента совместно с Представительством компании Red Hat в России объявляют о запуске серии бесплатных семинаров «Red Hat: продукты и технологии». Семинары предназначены для технических специалистов – администраторов Linux-систем. На наших семинарах вы сможете подробно узнать о новых версиях, продуктах и технологиях Red Hat, особенностях их внедрения и использования, правилах лицензирования, программах обучения и сертификации.&lt;/p&gt;&#xA;&lt;p&gt;Семинары будут проводиться на регулярной основе в течение года. По окончании каждого семинара вы получите сертификат о его прослушивании.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Tuned в RHEL6</title>
				<link>https://markelov.dev/posts/tuned-rhel6/</link>
				<pubDate>Sun, 15 Jul 2012 15:58:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/tuned-rhel6/</guid>
				<description>&lt;p&gt;Попробую реанимировать блог,  а то вся активность в последние полгода была исключительно в твиттере :)&lt;/p&gt;&#xA;&lt;p&gt;Сегодня немного о новом (по сравнению с пятой версией Red Hat Enterprise Linux) демоне tuned. Демон предназначен для динамической оптимизации поведения севера или рабочей станции под различными нагрузками. В первую очередь, вам стоит посмотреть в сторону tuned, если вас интересуют вопросы настройки производительности и/или экономии электроэнергии. С последним вопросом простой пользователь в первую очередь сталкивается при работе с лэптопом от батареи. &lt;/p&gt;</description>
			</item>
			<item>
				<title>Экзамены RHCA в России</title>
				<link>https://markelov.dev/posts/rhca-2/</link>
				<pubDate>Thu, 02 Feb 2012 10:56:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhca-2/</guid>
				<description>&lt;p&gt;Сегодня меня наконец авторизовали на прием экзаменов RHCA, так что теперь не обязательно лететь в Европу чтобы попытаться их сдать. В ближайшее время экзамены и цены появятся в расписании на сайте &lt;a href=&#34;http://www.inventa.ru/&#34;&gt;Инвенты&lt;/a&gt;. Но в целом, можно ориентироваться и на текущее &lt;a href=&#34;http://www.inventa.ru/training/schedule.shtml&#34;&gt;расписание.&lt;/a&gt; После каждого курса, на пятый день - экзамен.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Системный инженер Linux в Инвенту</title>
				<link>https://markelov.dev/posts/linux/</link>
				<pubDate>Mon, 30 Jan 2012 13:18:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/linux/</guid>
				<description>&lt;p&gt;Нам нужен системный инженер Linux :)&lt;/p&gt;&#xA;&lt;p&gt;Ведущий в России партнер компании Red Hat  и сертифицированный центр обучения Red Hat приглашает на работу  системного инженера Linux.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Обязанности:&lt;/strong&gt; Участие в разработке и реализации проектов по развертыванию Linux-систем для заказчиков. Техническое сопровождение развернутых систем. Технический pre-sale. Переводы технической документации.  В дальнейшем возможна преподавательская деятельность (при желании сотрудника).&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Требования:&lt;/strong&gt; Высшее образование, отличное знание и практический опыт администрирования Linux/Unix-систем, свободное чтение технической литературы на английском языке, наличие сертификата RHCE либо готовность к сдаче экзамена RHCE в течение первого месяца работы.  Приветствуется: знание технологий виртуализации, опыт публичных выступлений, базовые навыки администрирования ОС Windows&lt;/p&gt;</description>
			</item>
			<item>
				<title>Презентация с ROSS-2011 &#34;Частное облако на СПО сегодня&#34;</title>
				<link>https://markelov.dev/posts/ross-2011/</link>
				<pubDate>Thu, 14 Apr 2011 10:11:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/ross-2011/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;http://www.slideshare.net/amarkelov/open-source-private-cloud-ross2011-markelov&#34; title=&#34;Open source private cloud. ROSS-2011. Markelov&#34;&gt;&lt;strong&gt;Open source private cloud. ROSS-2011. Markelov&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;View more &lt;a href=&#34;http://www.slideshare.net/&#34;&gt;presentations&lt;/a&gt; from &lt;a href=&#34;http://www.slideshare.net/amarkelov&#34;&gt;amarkelov&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Twitter</title>
				<link>https://markelov.dev/posts/twitter/</link>
				<pubDate>Sat, 09 Apr 2011 18:19:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/twitter/</guid>
				<description>&lt;p&gt;Решил, наконец, завести учетную запись в Twitter (&lt;a href=&#34;http://twitter.com/amarkelov&#34;&gt;http://twitter.com/amarkelov&lt;/a&gt;) для сообщений, на которые тратить целый пост «жирно», например, ссылок на интересные ресурсы.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Единый профиль по экзаменам Red Hat</title>
				<link>https://markelov.dev/posts/red-hat-3/</link>
				<pubDate>Fri, 18 Mar 2011 14:11:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-3/</guid>
				<description>&lt;p&gt;Последние 10 лет после каждого сданного экзамена RHCE по новой версии ОС Red Hat присваивал новые уникальные 15-значные так называемые RHCE numbers по которым отследить историю сертификации специалиста было затруднительно. Начиная с экзаменов по 6-ке Red Hat пообещал сделать единые уникальные ID как это принято у других вендоров. Как оказалось, новые ID «задним числом» были выданы и текущим сертифицированным специалистам. Теперь можно в одном списке посмотреть всю историю сданных экзаменов. Пример по &lt;a href=&#34;https://www.redhat.com/wapps/training/certification/verify.html?certNumber=110-898-798&amp;amp;verify=Verify&#34;&gt;ссылке&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Использование SELinux совместно с iptables</title>
				<link>https://markelov.dev/posts/selinux-iptables/</link>
				<pubDate>Thu, 17 Mar 2011 09:05:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/selinux-iptables/</guid>
				<description>&lt;p&gt;Dan Walsh, отвечающий в Red Hat за развитие SELinux опубликовал на Linux.com статью, посвященную использованию SELinux совместно с брандмауэром. &lt;a href=&#34;http://www.linux.com/learn/tutorials/421152-using-selinux-and-iptables-together&#34;&gt;Ссылка&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>VMware View Client for iPad</title>
				<link>https://markelov.dev/posts/vmware-view-client-for-ipad/</link>
				<pubDate>Fri, 11 Mar 2011 11:16:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/vmware-view-client-for-ipad/</guid>
				<description>&lt;p&gt;На днях вышел VMware View клиент для iPad. Подробнее можно почитать, например, в &lt;a href=&#34;http://www.vm4.ru/2011/03/vvc-vmware-view-client-for-ipad.html&#34;&gt;блоге&lt;/a&gt; у Михаила Михеева. Сегодня поставил себе клиент и попробовал на нашем стенде VMware View в лабе. Работает шустро. Можно работать с офисными программами, слушать музыку. Единственное неудобство с переключением языка (официально поддерживается только английская клавиатура). Из-за этого некоторые знаки типа двоеточия на доп. клавиатуре не вводятся. “Переключалку”  Windows нужно оставить в EN, а язык менять кнопкой на клавиатуре iPad стандартным способом.&lt;br&gt;&#xA;Ниже несколько снимков с экрана (кликабельны).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Советы по оптимизации производительности</title>
				<link>https://markelov.dev/posts/blog-post-4/</link>
				<pubDate>Wed, 09 Mar 2011 12:45:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-4/</guid>
				<description>&lt;p&gt;С удовольствием читаю интересный технический блог «&lt;a href=&#34;http://blog.aboutnetapp.ru/&#34;&gt;about NetApp&lt;/a&gt;», в основном посвященный софтверной компании NetApp. На днях там появилась заметка с рекомендациями по оптимизации производительности, которые равно применимы к любой ИТ-системе. Хотя казалось бы советы очевидны, нередко ими пренебрегают что вызывает только деградацию производительности. &lt;a href=&#34;http://blog.aboutnetapp.ru/archives/839&#34;&gt;Читаем тут&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Red Hat Satellite от Novell</title>
				<link>https://markelov.dev/posts/red-hat-satellitete-novell/</link>
				<pubDate>Sat, 05 Mar 2011 08:50:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-satellitete-novell/</guid>
				<description>&lt;p&gt;Компания Novell &lt;a href=&#34;http://www.novell.com/news/press/2011/2/novell-rolls-out-advanced-linux-systems-management-solution.html&#34;&gt;анонсировала&lt;/a&gt; новый продукт SUSE Manager для управления Linux-инфраструктурой. Изобретать велосипед не стали, а просто пересобрали &lt;a href=&#34;http://spacewalk.redhat.com/&#34;&gt;Spacewalk&lt;/a&gt; - открытый ранее продукт Red Hat Satellite :) А что? Открытое ПО :)&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/red-hat-satellitete-novell/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Сегодня день тестирования FreeIPA 2</title>
				<link>https://markelov.dev/posts/freeipa-2/</link>
				<pubDate>Tue, 15 Feb 2011 10:13:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/freeipa-2/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/freeipa-2/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Решение &lt;a href=&#34;http://freeipa.org/page/Main_Page&#34;&gt;FreeIPA 2&lt;/a&gt;  «доросло» до стадии первого релиз-кандидата¸ и на сегодня назначен &lt;a href=&#34;https://fedoraproject.org/wiki/Test_Day:2011-02-15_FreeIPAv2&#34;&gt;Fedora-15 Test Day&lt;/a&gt;, посвященный FreeIPA2. В свое время FreeIPA 1.X после появления в прайс-листе Red Hat (под именем Red Hat IPA) был оттуда удален, а сам проект производил впечатление «мертвого». Однако, в последнее время разработка активизировалась, в частности клиентская часть IPA уже входит в RHEL6.&lt;/p&gt;&#xA;&lt;p&gt;В двух словах FreeIPA2 ИТ-специалисту можно описать как “AD для Linux”.  FreeIPA2 включает в себя  в качестве основы механизмов управления следующие продукты: 389 Directory Server, MIT Kerberos, NTP, DNS и службу управления жизненным циклом сертификатов Dogtag. Решение включат в себя веб-интерфейс и утилиты управления командной строки. Согласно дорожной карте уже в марте должен выйти финальный релиз.&lt;br&gt;&#xA; &lt;/p&gt;</description>
			</item>
			<item>
				<title>Почему я предпочитаю использовать англоязычный интерфейс</title>
				<link>https://markelov.dev/posts/blog-post-17/</link>
				<pubDate>Mon, 27 Dec 2010 15:05:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-17/</guid>
				<description>&lt;p&gt;Пример. Было:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/blog-post-17/img-001.png&#34; alt=&#34;&#34;&gt; &lt;/p&gt;&#xA;&lt;p&gt;Стало:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/blog-post-17/img-002.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Перевод однозначно не может быть лучше оригинала. И «косячат» не только работающие за еду бесплатно переводчики СПО-проектов, которые часто не являются профессионалами, но и переводчики продуктов, продающихся сотнями миллионов экземпляров. Я  по привычке использования открытых продуктов, честно потратил 20 мин времени, пытаясь отыскать способ отправить отчет об ошибке, но так и не нашел. Единственное более-менее похожее – это &lt;a href=&#34;http://connect.microsoft.com/&#34;&gt;http://connect.microsoft.com/&lt;/a&gt; но там принимаются отчеты об ошибках в продуктах статуса бета-версии.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Неофициальная статистика по сертификациям Red Hat</title>
				<link>https://markelov.dev/posts/red-hat-5/</link>
				<pubDate>Mon, 13 Dec 2010 13:56:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-5/</guid>
				<description>&lt;p&gt;Официально Red Hat, насколько мне известно, нигде не выкладывает статистику по обладателям сертификатов, но сотрудники GLS периодически на запросы выдают такую информацию на Certification Forums.&lt;/p&gt;&#xA;&lt;p&gt;В октябре 2006 года было  14,866 «действующих» RHCE и 14,129 RHCT.&lt;br&gt;&#xA;На ноябрь этого года было 33,303 «действующих» RHCE и  27,537 RHCT.&lt;br&gt;&#xA;В марте 2008 было около 200 RHCA, в ноябре 2010 - 322.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Вышел Spacewalk 1.2 с ограниченной поддержкой PostgreSQL</title>
				<link>https://markelov.dev/posts/spacewalk-12-postgresql/</link>
				<pubDate>Sat, 20 Nov 2010 01:35:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/spacewalk-12-postgresql/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/spacewalk-12-postgresql/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.redhat.com/archives/spacewalk-announce-list/2010-November/msg00000.html&#34;&gt;Вышла&lt;/a&gt; новая версия открытой платформы управления жизненным циклом Linux-инфраструктурой Spacewalk 1.2. Забавно, что случилось это спустя две недели после выхода RHN Satellite 5.4, который основан на Spacewalk. Видимо, разработчиков слишком торопили с выходом RHEL 6 :) Одно из важных обновлений в этой версии — возможность использовать PostgreSQL вместо Oracle. Как минимум сейчас работает:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;синхронизация контента при помощи satellite-sync и spacewalk-repo-sync;&lt;/li&gt;&#xA;&lt;li&gt;rhnpush;&lt;/li&gt;&#xA;&lt;li&gt;регистрация клиентов;&lt;/li&gt;&#xA;&lt;li&gt;операции с yum;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Можно предположить, что RHN Satellite 6.0, если он будет основан на Spacewalk 2.0, полностью избавится от зависимости в СУБД Oracle. Если верить &lt;a href=&#34;https://fedorahosted.org/spacewalk/roadmap&#34;&gt;дорожной карте&lt;/a&gt; проекта  Spacewalk, то это произойдет примерно через год.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Два интересных сайта посвященных открытому ПО</title>
				<link>https://markelov.dev/posts/blog-post/</link>
				<pubDate>Fri, 19 Nov 2010 09:12:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post/</guid>
				<description>&lt;p&gt;&amp;hellip; и ссылки на материалы по виртуализации Red Hat.&lt;/p&gt;&#xA;&lt;p&gt;Хотел бы поделиться ссылками на два относительно новых проекта коллег из технической команды НЦПР (ранее VDEL) - &lt;a href=&#34;http://www.ossportal.ru/&#34;&gt;www.ossportal.ru&lt;/a&gt; и &lt;a href=&#34;http://www.bureausolomatina.ru/&#34;&gt;www.bureausolomatina.ru&lt;/a&gt;. Оба сайта интересы с точки зрения постоянно пополняющейся коллекции различных технических информационных материалов, посвященных корпоративному открытому ПО. В первую очередь это облачные вычисления и технологии виртуализации Red Hat, СУБД Enterprise DB, Zenoss, Alfresco и другие продукты, которые на российском рынке представляет VDEL/НЦПР.  При этом, первый из двух сайтов предоставляет возможность добавлять материалы всем, кто готов поделиться опытом использования соответствующих продуктов.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Изменения в сертификациях и курсах по RHEL6</title>
				<link>https://markelov.dev/posts/rhel6/</link>
				<pubDate>Sun, 14 Nov 2010 10:17:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhel6/</guid>
				<description>&lt;p&gt;Как и предполагалось, сразу за RHN Satellite 5.4 вышла следующая версия корпоративного дистрибутива RHEL 6. Поскольку с выходом «шестерки» NDA по изменениям в обучении и сертификации Red Hat снимается, я кратко напишу о них в блоге.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Изменения в курсах линейки RHCE&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Курс RH033 заменяется на RH124 Red Hat System Administration I, RH131  заменяется на RH134 Red Hat System Administration II, RH253 на RH254 Red Hat System Administration III.&lt;/p&gt;&#xA;&lt;p&gt;Методика проведения курса полностью изменилась. Учебник теперь больше похож на «рабочую тетрадь», которую слушатель  наполняет самостоятельно во время занятий. Теории там практически нет, в основном — ссылки на man и документацию. Таким образом, если раньше теоретически слушатель, пропустивший день занятия, мог самостоятельно прочитать главы учебника и нагнать коллег, то теперь это будет затруднительно.  Основным носителем знаний теперь выступает преподаватель, и качество курса практически на 100% зависит от него. Сам процесс обучения стал очень интерактивным и использует более десятка современных подходов к обучению, заставляя слушателя постоянно работать и находиться в контакте с преподавателем. Больше не используется подход «лекция»- «практика». Насколько я знаю, ни у кого из ИТ-вендоров такого подхода к обучению нет. На мой взгляд, с одной стороны это должно поднять качество обучения, если курс проводится с опытным  преподавателем, с другой стороны это резко повышает требования к преподавателю. У преподавателя больше нет «за спиной» слайдов и учебника с материалом, а только методические рекомендации по проведению курса. Я, честно говоря, не хотел бы оказаться на месте преподавателя, который только начнет читать курсы по «шестерке», не имея опыта по старым версиям. &lt;/p&gt;</description>
			</item>
			<item>
				<title>Вышел Satellite 5.4. Теперь можно ждать RHEL6.</title>
				<link>https://markelov.dev/posts/satellite-54-rhel6/</link>
				<pubDate>Mon, 01 Nov 2010 10:57:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/satellite-54-rhel6/</guid>
				<description>&lt;p&gt;Одно из необходимых условий для выхода RHEL6 выполнено. На днях стала доступна версия RHN Satellite 5.4 - решения для обслуживания  жизненного цикла Linux-инфраструктуры. Из Release Notes: «RHN Satellite 5.4 supports Red Hat Enterprise Linux 6 clients and content, due to SHA256 feature work. &lt;em&gt;Previous versions of Satellite do not provide support for Red Hat Enterprise Linux 6 clients.&lt;/em&gt;»&lt;br&gt;&#xA;Ждем GA в ноябре?&lt;/p&gt;</description>
			</item>
			<item>
				<title>Фото. Российская делегация на 2010 EMEA Red Hat Training Partner Conference</title>
				<link>https://markelov.dev/posts/2010-emea-red-hat-training-partner/</link>
				<pubDate>Tue, 19 Oct 2010 19:12:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/2010-emea-red-hat-training-partner/</guid>
				<description>&lt;p&gt;Во главе с Йенсом Циманном. «Общественный дом» вечером перед TTT по RHEL 6. По моему на фото уместились  почти все действующие преподаватели Red Hat в России :)&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/2010-emea-red-hat-training-partner/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/2010-emea-red-hat-training-partner/img-002.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>«Дом» для  virt tools</title>
				<link>https://markelov.dev/posts/virt-tools/</link>
				<pubDate>Fri, 15 Oct 2010 11:13:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/virt-tools/</guid>
				<description>&lt;p&gt;У virt tools появился &lt;a href=&#34;http://virt-tools.org/&#34;&gt;свой сайт&lt;/a&gt;, который постепенно наполняется различным содержимым: статьи, руководства. В первую очередь, сайт будет полезен работающим с такими дистрибутивами как Fedora, Debian, Ubuntu и  RHEL, использующими API виртуализации &lt;a href=&#34;http://libvirt.org/&#34;&gt;libvirt&lt;/a&gt;, который используют утилиты virt tools. По большей части на сайте пока информация для начинающих пользователей.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Статья про RHEV</title>
				<link>https://markelov.dev/posts/rhev-2/</link>
				<pubDate>Sat, 02 Oct 2010 18:54:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhev-2/</guid>
				<description>&lt;p&gt;На сайте журнала &amp;ldquo;Системный администратор&amp;rdquo; доступна моя обзорная статья про систему виртуализации от Red Hat. &lt;a href=&#34;http://www.samag.ru/cgi-bin/go.pl?q=articles%3Bn%3D07.2010%3Ba%3D09&#34;&gt;Ссылка&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Бесплатный сертификационный тест CLP 11  для RHCE</title>
				<link>https://markelov.dev/posts/clp-11-rhce/</link>
				<pubDate>Tue, 14 Sep 2010 08:25:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/clp-11-rhce/</guid>
				<description>&lt;p&gt;Компания Novell &lt;a href=&#34;http://www.novell.com/communities/node/11878/rhce-clp-exam-beta&#34;&gt;сообщила&lt;/a&gt; о бесплатном (пока он в стадии бета-версии) экзамене 051-732: Novell Certified Linux Professional 11 for Red Hat Certified Engineers. Экзамен CLP для RHCE в отличие от самого экзамена CLP не является практическим, а сдается в VUE. Для подготовки к экзамену можно, например, использовать бесплатный курс Upgrading to Novell Certified Linux Professional 11 , материалы которого доступны на &lt;a href=&#34;http://www.novell.com/training/courseware/ts_proj_info.jsp?pid=30803&#34;&gt;сайте Novell&lt;/a&gt;. Зарегистрироваться на экзамен можно через сайт &lt;a href=&#34;http://www.pearsonvue.com/novell&#34;&gt;Pearson VUE&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Курсы Red Hat в Стамбуле</title>
				<link>https://markelov.dev/posts/red-hat-4/</link>
				<pubDate>Sun, 12 Sep 2010 06:54:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-4/</guid>
				<description>&lt;p&gt;Совместил приятное с полезным. Отчитал пару RHCE-шных курсов в Стамбуле :) Город красивый, за полторы недели вечерами после занятий успел осмотреть все основные достопримечательности.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Клиент доставки удаленного рабочего стола SPICE портирован на N900 :)</title>
				<link>https://markelov.dev/posts/spice-n900/</link>
				<pubDate>Wed, 04 Aug 2010 17:22:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/spice-n900/</guid>
				<description>&lt;p&gt;Скачать клиент можно &lt;a href=&#34;http://spice-space.org/page/SpiceClientN900&#34;&gt;тут&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/spice-n900/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Перенаправление USB устройств в RHEV</title>
				<link>https://markelov.dev/posts/usb-rhev/</link>
				<pubDate>Tue, 03 Aug 2010 08:29:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/usb-rhev/</guid>
				<description>&lt;p&gt;Для того, чтобы штатно через User Portal подключиться SPICE-клиентом к виртуальному рабочему месту достаточно IP-связанности между клиентом, менеджером RHEV-M и гипервизором RHEV-H. Для того, чтобы локальные USB-устройства перенаправлялись в виртуальную машину, помимо этого необходима IP-связанность между клиентом и виртуальной машиной. Таким образом, подключить &amp;ldquo;флешку&amp;rdquo; или USB-принтер к изолированной от сети виртуальной машине не получиться. Для взаимодействия между клиентом и виртуальной машиной используется TCP-порт 32023. Журнал с отладочной информацией редиректора расположен в %temp%\usbrdrctrl*.log. Дополнительная информация &lt;a href=&#34;https://access.redhat.com/kb/docs/DOC-34926&#34;&gt;тут&lt;/a&gt;.&lt;br&gt;&#xA;&lt;strong&gt;UPD&lt;/strong&gt;. Насколько я понимаю, это ограничение будет сохраняться лишь до тех пор, пока перенаправление USB в RHEV основывается на наработках &lt;a href=&#34;http://www.incentivespro.com/&#34;&gt;http://www.incentivespro.com/&lt;/a&gt;. Когда перенаправление USB будет реализовано самим  протоколом SPICE, видимо это ограничение будет снято.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Статья про RHEV в «Системном администраторе»</title>
				<link>https://markelov.dev/posts/rhev/</link>
				<pubDate>Mon, 26 Jul 2010 06:06:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhev/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/rhev/img-001.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;В сдвоенном №7-8 журнала «&lt;a href=&#34;http://www.samag.ru/&#34;&gt;Системный администратор&lt;/a&gt;» вышел мой достаточно подробный обзор системы виртуализации Red Hat Enterprise Virtualization.&lt;/p&gt;&#xA;&lt;p&gt;«&lt;em&gt;В ноябре 2009 года компания Red Hat анонсировала доступность первого продукта из портфолио Red Hat Enterprise Virtualization (RHEV) под названием Red Hat Enterprise Virtualization for Servers (RHEV-S), а уже в марте этого года небезызвестная компания IBM назвала данный продукт, помимо конкурентов от VMware, Citrix и Microsoft, в качестве одного из  основных в стратегии развития решений виртуализации на платформе x86. [1] В конце июня 2010 года вышел следующий из продуктов линейки -  Red Hat Enterprise Virtualization for Desktops (RHEV-D), включающий в себя реализацию нового открытого протокола для работы с виртуальными рабочими местами SPICE. Давайте вместе изучим текущее состояние портфолио решений виртуализации от Red Hat, и посмотрим что нас ждет в ближайшем будущем&lt;/em&gt;».&lt;/p&gt;</description>
			</item>
			<item>
				<title>Материалы по виртуализации с Red Hat Summit</title>
				<link>https://markelov.dev/posts/red-hat-summit/</link>
				<pubDate>Wed, 07 Jul 2010 09:45:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-summit/</guid>
				<description>&lt;p&gt;На сайте Red Hat опубликован ряд презентаций и учебных материалов с прошедшего в июне саммита в Бостоне.  По &lt;a href=&#34;http://www.redhat.com/promo/summit/2010/presentations/&#34;&gt;ссылке&lt;/a&gt;  доступны все материалы, а в этом посте я хотел бы выделить те, которые имеют отношение к виртуализации KVM и решению RHEV:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.redhat.com/promo/summit/2010/presentations/taste_of_training/Summit_2010_Xen_KVM.pdf&#34;&gt;Лекция&lt;/a&gt; посвященная миграции с Xen на KVM&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.redhat.com/promo/summit/2010/presentations/summit/whats-new/wed/vvaldez-2-rhev-best-practices/vvaldez_new_w_2_rhev_best_practices_adv_use.pdf&#34;&gt;Презентация&lt;/a&gt; Red Hat Enterprise Virtualization Best Practices &amp;amp; Advanced Use&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.redhat.com/promo/summit/2010/presentations/summit/whats-new/wed/iheim-310-rhev/Summit2010-RHEV-M-Architecture.pdf&#34;&gt;Презентация&lt;/a&gt; Red Hat Enterprise Virtualization Architecture&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.redhat.com/promo/summit/2010/presentations/summit/whats-next/wed/bburns-1130-kvm/kvm-in-rhel6.pdf&#34;&gt;Презентация&lt;/a&gt; KVM in Red Hat Enterprise Linux 6&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.redhat.com/promo/summit/2010/presentations/summit/decoding-the-code/wed/mwagner-2-kvm/summit_jbw_2010_kvm_performance.pdf&#34;&gt;Презентация&lt;/a&gt; Achieving Peak Performance from Red Hat KVM-Based Virtualization&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.redhat.com/promo/summit/2010/presentations/summit/decoding-the-code/thurs/mbooth-1020-v2v/v2v_summit_talk.pdf&#34;&gt;Презентация&lt;/a&gt; V2V Moving VMware &amp;amp; Xen Virtual Machines to Red Hat Enterprise Virtualization / KVM&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.redhat.com/promo/summit/2010/presentations/summit/decoding-the-code/thurs/ghuizenga-200/NEW-Virtualization-KVM-at-IBM-Posting-version.pdf&#34;&gt;Презентация&lt;/a&gt; Virtualization - Consolidation &amp;amp; Performance Data to Help Maximize Server Utilization&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.redhat.com/promo/summit/2010/presentations/summit/in-the-weeds/thurs/riel-420-kernel/summit2010-kvm-optimizations.pdf&#34;&gt;Презентация&lt;/a&gt; Kernel Virtualization Optimizations for KVM&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.redhat.com/promo/summit/2010/presentations/summit/in-the-weeds/fri/ipilcher-945-online/summit-Final.pdf&#34;&gt;Презентация&lt;/a&gt; Storage Reconfiguration with Red Hat Enterprise Linux &amp;amp; Red Hat Enterprise Virtualization&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
			</item>
			<item>
				<title>Руководство по работе KVM c брандмауэром</title>
				<link>https://markelov.dev/posts/kvm-c/</link>
				<pubDate>Fri, 02 Jul 2010 08:27:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/kvm-c/</guid>
				<description>&lt;p&gt;Daniel Berrange, являющийся одним из разработчиков libvirt опубликовал в списке рассылки list-libvirt краткое руководство по совместному использованию iptables и KVM. Читать &lt;a href=&#34;https://www.redhat.com/archives/libvir-list/2010-June/msg00762.html&#34;&gt;тут&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>RHEL6 Beta 2</title>
				<link>https://markelov.dev/posts/rhel6-beta-2/</link>
				<pubDate>Wed, 30 Jun 2010 18:51:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhel6-beta-2/</guid>
				<description>&lt;p&gt;Первая бета-версия флагманского корпоративного дистрибутива была представлена в апреле. Сегодня вышла вторая версия. Собственно, качаем &lt;a href=&#34;http://www.redhat.com/rhel/beta/&#34;&gt;тут&lt;/a&gt;. В &lt;a href=&#34;https://rhn.redhat.com&#34;&gt;RHN&lt;/a&gt;, в отличие от FTP , похоже, еще лежат старые ISO.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Объявлена стоимость подписки на VDI от Red Hat</title>
				<link>https://markelov.dev/posts/vdi-red-hat/</link>
				<pubDate>Wed, 30 Jun 2010 15:02:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/vdi-red-hat/</guid>
				<description>&lt;p&gt;Наконец на сайте Red Hat появился официальный GPL-ценник на VDI. На &lt;a href=&#34;https://www.redhat.com/apps/store/rhev/desktops/&#34;&gt;страничке&lt;/a&gt; приведена стоимость годовой подписки для Red Hat Enterprise Virtualization for Desktops Starter Kit, включающая в себя шесть управляемых RHEV-M хостов Red Hat Enterprise Virtualization Hypervisor и возможность запуска ста виртуальных машин. Если брать стандартный вариант подписки, то зная цену одного упровляемого хоста RHEV, получаем, что VDI-дополнение к RHEV на 25 виртуальных машин стоит $375. Схема расчета простая: отдельно приобретается подписка на каждый сокет сервера ($499 за сокет при стандартной подписке) и отдельно подписка на запуск виртуальных машин, которая прибавляется к серверным подпискам.&lt;/p&gt;</description>
			</item>
			<item>
				<title>RHEV 2.2 c поддержкой VDI</title>
				<link>https://markelov.dev/posts/rhev-22-c-vdi/</link>
				<pubDate>Thu, 24 Jun 2010 09:42:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhev-22-c-vdi/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;http://investors.redhat.com/releasedetail.cfm?ReleaseID=482060&#34;&gt;Анонсирован&lt;/a&gt; выход RHEV 2.2, включающего в себя помимо серверной виртуализации, &lt;a href=&#34;http://www.redhat.com/virtualization/rhev/desktop/features/&#34;&gt;реализацию VDI&lt;/a&gt; на основе протокола SPICE. В качестве виртуальных рабочих мест и клиентов VDI поддерживаются как Linux, так и Windows. Согласно документам имеется перенаправление USB-устройств в виртуальные машины. В последней бета-версии которую я смотрел использовалась версия протокола 0.3, где этой поддержки не было. Будем качать — тестировать&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Из связанных с RHEV новостей, можно также отметить:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://fedorahosted.org/pipermail/rhevm-api/2010-June/000256.html&#34;&gt;Выход&lt;/a&gt; первого «чернового» релиза RESTful интерфейса к Red Hat Virtualization Enterprise Manager. До этого был единственный вариант написания скриптов использованием PowerShell API.&lt;/li&gt;&#xA;&lt;li&gt;Совместный с Cisco &lt;a href=&#34;http://investors.redhat.com/releasedetail.cfm?ReleaseID=482061&#34;&gt;анонс&lt;/a&gt; интегрированного решения Cisco Unified Computing System и RHEV, позволяющего получать виртуальным машинам прямой доступ к устройствам ввода/вывода и повысить защиту виртуальной инфраструктуры за счет технологии Cisco Virtual Network Link.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Внешний вид пользовательского портала RHEV-D:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Сравнение защищенности гипервизоров</title>
				<link>https://markelov.dev/posts/blog-post-6/</link>
				<pubDate>Fri, 18 Jun 2010 13:56:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-6/</guid>
				<description>&lt;p&gt;Безусловно интересный для всех технических специалистов интересующихся виртуализацией документ «&lt;a href=&#34;http://www.redhat.com/f/pdf/rhev/kvm_security_comparison.pdf&#34;&gt;KVM Security Comparison&lt;/a&gt;» от &lt;a href=&#34;http://www.atsec.com/&#34;&gt;Atsec information security corporation&lt;/a&gt;. Сравниваются гипервизоры KVM, в том виде как он присутствует в RHEL 5.4 под управлением RHEV Manager, Xen version 3.4 и VMWare ESX Server version 4.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Workaround: установка XP/2003 в Fedora 13 (KVM/libvirt)</title>
				<link>https://markelov.dev/posts/workaround-xp2003-fedora-13-kvmlibvirt/</link>
				<pubDate>Mon, 07 Jun 2010 07:31:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/workaround-xp2003-fedora-13-kvmlibvirt/</guid>
				<description>&lt;p&gt;Налетел на баг &lt;a href=&#34;https://bugzilla.redhat.com/show_bug.cgi?id=579348&#34;&gt;579348&lt;/a&gt; при установке виртуальной машины WindowsXP. После перезагрузки процесс установки останавливается на сообщении: «Booting from hard disk.A disk read error has occurred». Workaround описанный в bugzilla работает. Необходимо выбрать загрузочным устройтвом iso-образ дистрибутива и после того как сообщение «press any key to boot form CDROM» повисит несколько секунд загрузка продолжится с жесткого диска.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/workaround-xp2003-fedora-13-kvmlibvirt/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Red Hat Enterprise Virtualization: Xeon Core i7 Inside</title>
				<link>https://markelov.dev/posts/red-hat-enterprise-virtualization-xeon/</link>
				<pubDate>Thu, 27 May 2010 07:02:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-enterprise-virtualization-xeon/</guid>
				<description>&lt;p&gt;Недавно в русскоязычной блогосфере появился &lt;a href=&#34;http://blog.vadmin.ru/2010/05/red-hat-enterprise-virtualization.html&#34;&gt;перевод&lt;/a&gt; заметки с ресурса vcritical.com «&lt;a href=&#34;http://www.vcritical.com/2010/05/red-hat-enterprise-virtualization-pentium-ii-inside&#34;&gt;Red Hat Enterprise Virtualization: Pentium II Inside»&lt;/a&gt;. Собственно, если посмотреть бета версию RHEV 2.2 то выбор типа CPU осуществляется в настройках кластера виртуальных машин. Вот как это выглядит на снимке с экрана:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/red-hat-enterprise-virtualization-xeon/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Право X для директорий в Linux</title>
				<link>https://markelov.dev/posts/x-linux/</link>
				<pubDate>Tue, 25 May 2010 10:45:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/x-linux/</guid>
				<description>&lt;p&gt;Всего три типа разрешений и всего для трех уровней: владелец файла, группа-владелец, остальные. Запутаться в них все равно, что «запутаться в трех соснах». Однако, права доступа к файлам и директориям - одна из тех самых сложных «простых» тем, которые, как показывает практика, вызывают у начавших изучать GNU\Linux достаточно много вопросов.&lt;/p&gt;&#xA;&lt;p&gt;Для того, чтобы правильно интерпретировать установленные на файл разрешения, необходимо знать разрешения, установленные на директорию, в которой расположен файл. Причем мы сейчас говорим не о каком-либо «наследовании» разрешений, а о том что они всегда работают в связке «права на директорию-права на файл в ней».&lt;/p&gt;</description>
			</item>
			<item>
				<title>Дистрибутив RHEL 6 Beta доступен для тестирования</title>
				<link>https://markelov.dev/posts/rhel-6-beta/</link>
				<pubDate>Wed, 21 Apr 2010 12:59:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhel-6-beta/</guid>
				<description>&lt;p&gt;Спустя три года после выхода RHEL 5, компания Red Hat выпустила Бета-версию следующего шестого релиза. &lt;a href=&#34;http://press.redhat.com/2010/04/21/red-hat-enterprise-linux-6-beta-available-today-for-public-download/&#34;&gt;Подробности&lt;/a&gt; и ссылка на ISO-образ на сайте Red Hat.&lt;/p&gt;</description>
			</item>
			<item>
				<title>РАСПО предлагает публиковать результаты гостендеров по СПО в открытом виде</title>
				<link>https://markelov.dev/posts/blog-post-16/</link>
				<pubDate>Tue, 30 Mar 2010 08:20:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-16/</guid>
				<description>&lt;p&gt;РАСПО обратилась к государственным ведомствам РФ с предложением опубликовать в открытом доступе результаты работ по государственным контрактам по теме свободного ПО.&lt;/p&gt;&#xA;&lt;p&gt;Юридический комитет РАСПО подготовил перечень работ по тематике СПО, выполненных по государственному заказу на бюджетные средства в Российской Федерации в период с 2003 по 2009 гг. Общее количество таких работ - порядка 40, это и аналитические обзоры, и разработанные программные решения.&lt;/p&gt;&#xA;&lt;p&gt;Соответствующие письма от имени РАСПО направлены во все ведомства, выступавшие в качестве госзаказчика.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Компания Red Hat обновила решение виртуализации RHEV 2.2 beta</title>
				<link>https://markelov.dev/posts/red-hat-rhev-22-beta/</link>
				<pubDate>Mon, 29 Mar 2010 14:29:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-rhev-22-beta/</guid>
				<description>&lt;p&gt;Основные изменения:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Поддержка одной и той-же платформой управления для серверов и для VDI. Хотя в RHN каналы для серверного решения и VDI разнесены, технически там один и тот-же дистрибутив.&lt;/li&gt;&#xA;&lt;li&gt;Импорт и экспорт в OVF.&lt;/li&gt;&#xA;&lt;li&gt;Утилита для миграции V2V с VMware и Xen. Пока поддерживаются только виртуальные машины RHEL.&lt;/li&gt;&#xA;&lt;li&gt;Хранилище данных с информацией по хостам и данным мониторинга для создания пользовательских отчетов&lt;/li&gt;&#xA;&lt;li&gt;Поддержка ОЗУ в виртуальных машинах увеличена до 256GB&lt;/li&gt;&#xA;&lt;li&gt;Ядро гипервизора обновлено до ядра RHEL 5.5&lt;/li&gt;&#xA;&lt;li&gt;Улучшена производительность на операциях ввода-вывода при работе с «тонкими» дисками и снэпшотами.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://press.redhat.com/2010/03/29/red-hat-announces-beta-availability-of-red-hat-enterprise-virtualization-2-2/&#34;&gt;Ссылка&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Переход к сloud computing в России</title>
				<link>https://markelov.dev/posts/loud-computing/</link>
				<pubDate>Thu, 18 Mar 2010 12:37:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/loud-computing/</guid>
				<description>&lt;p&gt;Вот в свете &lt;a href=&#34;http://www.cnews.ru/news/top/index.shtml?2010%2F03%2F18%2F383157&#34;&gt;новости&lt;/a&gt; на cnews, что если в дата-центре вашего &amp;ldquo;белого и пушистого&amp;rdquo; сервис-провайдера вместе с тысячью &amp;ldquo;белых и пушистых&amp;rdquo; машин других заказчиков окажутся машинки какого-нибудь &amp;ldquo;злодея&amp;rdquo;?&lt;/p&gt;</description>
			</item>
			<item>
				<title>System x Virtualization Strategies</title>
				<link>https://markelov.dev/posts/system-x-virtualization-strategies/</link>
				<pubDate>Thu, 11 Mar 2010 12:52:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/system-x-virtualization-strategies/</guid>
				<description>&lt;p&gt;В феврале компания IBM &lt;a href=&#34;http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/redp4480.html?Open&#34;&gt;опубликовала&lt;/a&gt; на портале Redbooks шестидесятистраничный документ &amp;ldquo;System x Virtualization Strategies&amp;rdquo;. В документе приведен краткий технический обзор решений основных вендоров серверной виртуализации. IBM выделяют четверых игроков: VMware, Red Hat (KVM), Microsoft и Citrix. Информация на данный момент вполне актуальна, и если вам интересно с высоты птичьего полета окинуть взглядом все четыре решения не читая на каждом из сайтов вендоров о том, что именно его технология самая лучшая и не открывая кучу вкладок в браузере, IBM собрал для вас все в одном PDF. Процитирую заключительные фразы документа: &amp;ldquo;VMware is still the dominant market leader, but the other offerings are carving out niches. Red Hat&amp;rsquo;s Enterprise Virtualization offering has already become popular as the basis for many cloud solutions; Microsoft is gaining significant traction with the small, medium business (SMB) market space; and Citrix is a leading alternative for companies that want the features, reliability, and backing of a stable company but lower costs for an enterprise virtualization solution.&amp;rdquo;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Владельцы сертификатов LPIC-1 автоматически получают статус Novell CLA</title>
				<link>https://markelov.dev/posts/lpic-1-novell-cla/</link>
				<pubDate>Wed, 10 Feb 2010 13:13:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/lpic-1-novell-cla/</guid>
				<description>&lt;p&gt;Сегодня пришла рассылка от LPI, с информацией о том, что заполнив форму на сайте Novell можно «автоматом» получить сертификацию Novell CLA. Жаль уже не актуально :) Но тем кому интересно, могут ознакомиться с деталями соглашения между Novell и Linux Professional Institute на &lt;a href=&#34;http://www.lpi.org/eng/certification/lpi_and_novell_partnership&#34;&gt;этой&lt;/a&gt; страничке.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Доступ к файлам виртуальных машин ESX при помощи libguestfs</title>
				<link>https://markelov.dev/posts/esx-libguestfs/</link>
				<pubDate>Wed, 13 Jan 2010 13:33:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/esx-libguestfs/</guid>
				<description>&lt;p&gt;Richard W.M. Jones в своем блоге опубликовал интересный &lt;a href=&#34;http://rwmj.wordpress.com/2010/01/06/examine-vmware-esx-with-libguestfs/&#34;&gt;пост&lt;/a&gt; о работе при помощи утилит libguestfs с образами VMware ESX4. Немного дополнив, напишу, в чем суть. Во-первых нам понадобятся пакеты fuse-sshfs и guestfish. Первый позволяет монтировать при помощи FUSE удаленную файловую систему по SSH FTP, а второй установит в систему интерактивную командную оболочку, из которой можно получать доступ к образам дисков виртуальных машин, в том числе и vmdk. Естественно, в системе должны присутствовать стандартные компоненты виртуализации Fedora, в частности, работающий демон libvirtd.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Архитектура корпоративной почтовой системы на Zimbra Collaboration Suite</title>
				<link>https://markelov.dev/posts/zimbra-collaboration-suite/</link>
				<pubDate>Wed, 13 Jan 2010 06:09:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/zimbra-collaboration-suite/</guid>
				<description>&lt;p&gt;Немного об архитектуре Zimbra Collaboration Suite, для того чтобы было понятно &amp;ldquo;а что же там внутри?&amp;rdquo;. Референсная схема почтовой системы приведена ниже:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/zimbra-collaboration-suite/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;К основным компонентам почтовой системы относятся почтовые серверы Zimbra, выполняющие определенные функциональные роли в почтовой системе (Роли: Zimbra mailbox server, Zimbra LDAP, Zimbra MTA, Edge).&lt;/p&gt;&#xA;&lt;p&gt;Zimbra mailbox server – выделенный сервер, управляющий всем содержимым почтовых ящиков, включая письма, контакты, календарь, заметки, файлы, прикрепленные к письмам. Исполняет функции MDA. Сообщения поступают от сервера Zimbra MTA и затем пропускаются через созданные фильтры. Далее сообщения индексируются и помещаются в корректный почтовый ящик. В дополнение к Zimbra mailbox server подключаются отдельные тома для хранения резервных копий и фалов журналов.&lt;/p&gt;</description>
			</item>
			<item>
				<title>VMware Zimbra</title>
				<link>https://markelov.dev/posts/vmware-zimbra/</link>
				<pubDate>Wed, 13 Jan 2010 05:20:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/vmware-zimbra/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/vmware-zimbra/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Вчера компания VMware &lt;a href=&#34;http://www.vmware.com/company/news/releases/zimbra.html&#34;&gt;анонсировала&lt;/a&gt; приобретение &lt;a href=&#34;http://www.zimbra.com/&#34;&gt;Zimbra&lt;/a&gt; у Yahoo. Zimbra одна из лучших открытых систем коллективной работы, а в редакции Network Edition с коммерческой поддержкой представляет вполне достойную альтернативу MS Exchange, особенно с точки зрения стоимости. VMware в первую очередь Zimbra интересна в качестве сервиса работающего в «облаке» и поставляющегося по модели SaaS. В настоящее время Zimbra имеет более 55 миллионов оплаченных почтовых ящиков и эта цифра быстро растет. Сравнение с технической точки зрения различных редакций Zimbra Collaboration Suite и список функций доступен по &lt;a href=&#34;http://files.zimbra.com/website/docs/Zimbra%20Collaboration%20Suite%20Feature%20List.pdf&#34;&gt;ссылке&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Паравиртуализационные драйвера для Windows</title>
				<link>https://markelov.dev/posts/windows/</link>
				<pubDate>Fri, 11 Dec 2009 11:18:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/windows/</guid>
				<description>&lt;p&gt;Относительно недавно в RHN появились подписанные паравиртуализационные драйвера для поддержки ОС Microsoft в среде виртуализации RHEL. Соответствующий пакет называется virtio-win и доступен в каналах RHEL Desktop Supplementary и RHEL Supplementary.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/windows/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;После установки пакета необходимо смонтировать полученный iso-образ /usr/share/virtio-win/virtio-win-1.0.0.iso в виртуальную машину Windows и проинсталлировать два msi-пакета с дисковыми и сетевыми драйверами. Внутри iso-образа содержаться как 32-р, так и 64-р драйвера.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/windows/img-002.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Поддерживаются Windows XP (только 32-р и только драйвер сети), Windows Server 2003 и Windows Server 2008. Лицензия - GPLv2 и проприоритарная Microsoft.&lt;/p&gt;</description>
			</item>
			<item>
				<title>VDI-решение от Red Hat теперь open source</title>
				<link>https://markelov.dev/posts/vdi-red-hat-open-source/</link>
				<pubDate>Fri, 11 Dec 2009 08:22:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/vdi-red-hat-open-source/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/vdi-red-hat-open-source/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Компания Red Hat опубликовала исходные коды основы своего VDI-решения Red Hat Enterprise Virtualization for Desktops. Исходные коды клиента и сервера SPICE, а также инструкции по сборки и другая документация доступны на сайте &lt;a href=&#34;http://www.spice-space.org/&#34;&gt;www.spice-space.org&lt;/a&gt; &amp;ldquo;Бинарники&amp;rdquo; для Windows обещаны ближайшем будущем, сборка для Fedora 12 уже выложена в соответствующем yum-репозитории. Данные наработки изначально принадлежали компании Qumranet, поглощенной Red Hat в 2008 году.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ресурсы по RHEV for Servers</title>
				<link>https://markelov.dev/posts/rhev-for-servers/</link>
				<pubDate>Thu, 05 Nov 2009 08:47:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhev-for-servers/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/rhev-for-servers/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;По &lt;a href=&#34;http://www.redhat.com/virtualization/rhev/server/library&#34;&gt;ссылке&lt;/a&gt; представлена библиотека ресурсов, посвященных Red Hat Enterprise Virtualization for Servers. Описания возможностей решения (HA, Live Migration, Image Management и других), cравнения с конкурентами по функционалу и цене, калькулятор TCO Whitepaper по SAP Server, Oracle Database, Microsoft Exchange и другим продуктам.&lt;/p&gt;&#xA;&lt;p&gt;Вторая &lt;a href=&#34;http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Virtualization&#34;&gt;ссылка&lt;/a&gt; ведет на техническую документацию по RHEV: руководства по внедрению, администрированию.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Red Hat Enterprise Virtualization for Servers доступен</title>
				<link>https://markelov.dev/posts/red-hat-enterprise-virtualization-for/</link>
				<pubDate>Wed, 04 Nov 2009 17:02:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-enterprise-virtualization-for/</guid>
				<description>&lt;p&gt;Вчера компания Red Hat &lt;a href=&#34;http://investors.redhat.com/releasedetail.cfm?ReleaseID=421405&#34;&gt;анонсировала&lt;/a&gt; доступность платформы Red Hat Enterprise Virtualization (RHEV), состоящей на данный момент из следующих компонентов: решение для централизованного управления виртуальными машинами Red Hat Enterprise Virtualization Manager (RHEV Manager) и Red Hat Enterprise Virtualization Hypervisor (RHEV Hypervisor) — фактически специализированного мини-дистрибутива Linux, включающего в себя гипервизор KVM. Данные продукты созданы на основе технологий компании Qumranet, приобретенной около года назад, и работы проекта oVirt.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/red-hat-enterprise-virtualization-for/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Red Hat Enterprise Virtualization Manager позволяет при помощи графического интерфейса управлять виртуальными машинами, пулами логических и физических ресурсов, образами ВМ, обеспечивает высокую доступность ВМ, кластеризацию и возможность &amp;ldquo;живой миграции&amp;rdquo; ВМ. Сам сервер работает на платформе Windows 2003, в том числе и в кластере. В качестве базы данных используется MS SQL Server 2005 или SQL Server 2005 Express. Опционально Red Hat Enterprise Virtualization Manager может управлять RHEL 5.4. Управляющая консоль работает на Windows XP SP2 и старше.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Работа с образами дисков виртуальных машин через libguestfs</title>
				<link>https://markelov.dev/posts/libguestfs/</link>
				<pubDate>Wed, 14 Oct 2009 07:42:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/libguestfs/</guid>
				<description>&lt;p&gt;В Fedora 11 включен ряд инструментов, значительно упрощающих работу с образами дисков виртуальных машин из операционной системы хоста. Утилиты, разработанные в рамках &lt;a href=&#34;http://libguestfs.org/&#34;&gt;libguestfs&lt;/a&gt;, используют код ядра Linux и qemu и, соответственно, позволяют получить доступ к файловым системам, с которыми умеют работать Linux и qemu, включая ext2/3/4, btrfs, FAT, NTFS, тома LVM и различные варианты схем хранения разделов Virtual Machine DisK format (vmdk) и qcow1/2. Также библиотека корректно работает с метками SELinux.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Нужен ли Red Hat Password Sync?</title>
				<link>https://markelov.dev/posts/red-hat-password-sync/</link>
				<pubDate>Tue, 06 Oct 2009 12:53:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-password-sync/</guid>
				<description>&lt;p&gt;Проверял синхронизацию пользователей, паролей и групп между тестовым доменом AD и RHDS 8 при помощи службы Red Hat Password Sync. На обоих серверах необходимо получить сертификаты и включить LDAPS. На контроллере домена AD устанавливается служба Password Sync, а со стороны RHDS - Windows Sync Agreement, примерно так же, как настраивается репликация между двумя серверами каталогов RHDS. Настройка и отладка достаточно трудоемка. Для пользователя синхронизируется порядка четырех десятков атрибутов, из которых большая часть одинакова в схемах обоих серверов каталогов. Для гетерогенной среды, где сохраняется AD, и необходимо осуществлять аутентификацию как Linux, так и Windows систем, особых преимуществ Password Sync по сравнению с единственным каталогом AD + Services for Unix мне в голову не приходит. Если же отказываться от AD совсем, то проще использовать IPA, который изначально &amp;ldquo;заточен&amp;rdquo; под аутентификацию. В случае использования Kerberos, смысла в Password Sync еще меньше.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Упрощенная настройка iSCSI target при помощи targets.conf</title>
				<link>https://markelov.dev/posts/iscsi-target-targetsconf/</link>
				<pubDate>Mon, 28 Sep 2009 07:50:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/iscsi-target-targetsconf/</guid>
				<description>&lt;p&gt;Около года назад я &lt;a href=&#34;http://markelov.blogspot.com/2008/11/iscsi-target-initiator-rhelfedora.html&#34;&gt;писал&lt;/a&gt; в блоге про настройку iSCSI target и initiator в RHEL5. Начиная с версии 5.3 настройка target значительно упростилась. Теперь не нужно прописывать несколько команд tgtadm в /etc/rc.local, а достаточно создать файл /etc/tgt/targets.conf вида:&lt;/p&gt;&#xA;&lt;p&gt;backing-store /dev/xvda5&lt;/p&gt;&#xA;&lt;p&gt;и запустить tgtd. Подробнее — в man tgt-admin.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Вышли RHEL 5.4 и RHN Satellite 5.3</title>
				<link>https://markelov.dev/posts/rhel-54-rhn-satellite-53/</link>
				<pubDate>Thu, 03 Sep 2009 10:06:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhel-54-rhn-satellite-53/</guid>
				<description>&lt;p&gt;Вчера одновременно вышли очередные релизы операционной системы &lt;a href=&#34;http://press.redhat.com/2009/09/02/innovation-without-disruption-red-hat-enterprise-linux-5-4-now-available/&#34;&gt;Red Hat Enterprise Linux 5.4&lt;/a&gt; и платформы управления Linux-инфраструктурой &lt;a href=&#34;http://press.redhat.com/2009/09/02/red-hat-network-satellite-5-3-available-today/&#34;&gt;Red Hat Network Satellite 5.3&lt;/a&gt;. Про основные новшества RHEL 5.4 я &lt;a href=&#34;http://markelov.blogspot.com/2009/07/red-hat-red-hat-enterprise-linux-54.html&#34;&gt;уже писал&lt;/a&gt;. Повторюсь лишь, что помимо Xen, в дистрибутив добавлена поддержка гипервизора KVM. Что касается Satellite, то там &amp;ldquo;море&amp;rdquo; нового. Основное: поддержка сервера автоматизированной установки cobbler, синхронизация каналов с мастер-сервером, модуль политики SELinux для Satellite, поддержка клиентов Solaris на архитектурах UltraSPARC T1 (sun4v) и X86_64. Про все остальные новшества и изменения как всегда можно прочесть в release notes.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Развитие проекта sVirt в Fedora 11/RHEL</title>
				<link>https://markelov.dev/posts/svirt-fedora-11rhel/</link>
				<pubDate>Tue, 01 Sep 2009 08:41:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/svirt-fedora-11rhel/</guid>
				<description>&lt;p&gt;Я уже &lt;a href=&#34;http://markelov.blogspot.com/2009/02/svirt.html&#34;&gt;рассказывал&lt;/a&gt; в своем блоге о проекте sVirt, позволяющем изолировать при помощи мандатного контроля доступа гипервизор и отдельные виртуальные машины друг от друга. Если вы еще не знакомы с концепцией MAC, MLS и MSC, то вы можете почитать соответствующие &lt;a href=&#34;http://markelov.blogspot.com/search/label/SELinux&#34;&gt;записи в моем блоге с меткой SELinux&lt;/a&gt;. Не буду повторяться, а просто скажу, что уникальные преимущества в плане защищенности, доступные в операционных системах общего назначения с открытым исходным кодом уже можно живьем &amp;ldquo;пощупать&amp;rdquo; и в системах виртуализации (Fedora 11), а с выходом RHEL 5.4 и внедрить на предприятии.&lt;/p&gt;</description>
			</item>
			<item>
				<title>MCT... &amp;quot;I live again...&amp;quot; :)</title>
				<link>https://markelov.dev/posts/mct-live-again/</link>
				<pubDate>Thu, 20 Aug 2009 14:17:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/mct-live-again/</guid>
				<description>&lt;p&gt;Наверное первый раз за последние полтора-два года &amp;ldquo;достал с полки&amp;rdquo; свой подзаржавевший MCT :) На этой неделе дочитываю в Инвенте 2282 Designing a Microsoft Windows Server 2003 Network and Active Directory Infrastructure. По уровню сложности - 100 level. И правда, по сравнению с тем-же 400-очковым 423 Red Hat Enterprise Directory Services and Authentication просто курорт, хотя мне всегда курсы Microsoft давались тяжелее :)&lt;/p&gt;&#xA;&lt;p&gt;&amp;ndash; Post From My iPhone&lt;/p&gt;</description>
			</item>
			<item>
				<title>Spacewalk 0.6</title>
				<link>https://markelov.dev/posts/spacewalk-06/</link>
				<pubDate>Sun, 09 Aug 2009 07:38:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/spacewalk-06/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/spacewalk-06/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;В эту пятницу была &lt;a href=&#34;https://www.redhat.com/archives/spacewalk-announce-list/2009-August/msg00000.html&#34;&gt;анонсирована&lt;/a&gt; версия 0.6 платформы управления жизненным циклом Linux-инфраструктуры &lt;a href=&#34;https://fedorahosted.org/spacewalk/&#34;&gt;Spacewalk&lt;/a&gt;. Spacewalk под именем Red Hat Network Satellite Server имеет давнюю, с 2001 года, историю разработки. В настоящее время - это open source продукт, открытый по лицензии GPL2. Начиная с версии 0.6 Spacewalk поддерживает актуальную версию Fedora 11 и работу с виртуальными машинами KVM в дополнение к Xen. В текущей версии сделан еще один шаг в сторону поддержки помимо Oracle открытой СУБД PostgreSQL. Соответствующий код для поддержки инфраструктуры PostgreSQL уже присутствует, а окончательная интеграция ожидается в начале 2010 года. Другие новшества и исправления в Spacewalk 0.6:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Red Hat представила Red Hat Enterprise Linux 5.4 Beta с поддержкой KVM</title>
				<link>https://markelov.dev/posts/red-hat-red-hat-enterprise-linux-54/</link>
				<pubDate>Thu, 02 Jul 2009 08:36:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-red-hat-enterprise-linux-54/</guid>
				<description>&lt;p&gt;С первого числа в RHN доступна бета-версия Red Hat Enterprise Linux 5.4. Период бета-тестирования определен до 13 августа.&lt;/p&gt;&#xA;&lt;p&gt;Основные особенности RHEL 5.4:&lt;/p&gt;&#xA;&lt;p&gt;Гипервизор KVM. В дополнение к гипервизору Xen в RHEL 5.4 появился KVM. В KVM поддерживается широкий спектр ОС, включая Microsoft Windows XP, Windows Server 2003 и Windows Server 2008. Без модификации могут запускаться как 32-р так и 64-р ОС. Для запуска паравиртуализированных гостевых ОС доступны драйвера, обеспечивающие улучшенную производительность сети и I/O. Естественно, все libvirt-овские утилиты в 5.4 поддерживают KVM. Кластер на KVM пока TP.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Руководства Red Hat Reference Architecture Series</title>
				<link>https://markelov.dev/posts/red-hat-reference-architecture-series/</link>
				<pubDate>Sun, 07 Jun 2009 06:24:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-reference-architecture-series/</guid>
				<description>&lt;p&gt;Если я не ошибаюсь, данные руководства раньше лежали только на партнерской части сайта Red Hat. В любом случае ссылка будет небесполезной. Среди Reference Architectures есть руководства по созданию решений высокой доступности, виртуализации, в том числе SAP, IBM DB2 и Oracle 10g в виртуализированной среде RHEL. Для доступа к документации необходимо заполнить небольшую форму. Список руководств &lt;a href=&#34;http://www.redhat.com/rhel/resource_center/reference_architecture.html#rhel&#34;&gt;тут&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Новое имя проекта Fedora Directory Server - &#34;389&#34;</title>
				<link>https://markelov.dev/posts/fedora-directory-server-389/</link>
				<pubDate>Fri, 08 May 2009 08:06:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fedora-directory-server-389/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://www.redhat.com/archives/fedora-directory-users/2009-May/msg00031.html&#34;&gt;Анонсирована&lt;/a&gt; смена имени проекта Fedora Directory Server на &amp;ldquo;Проект 389&amp;rdquo;. В первую очередь смысл ребрендинга в том, чтобы подчеркнуть, что FDS - это не &amp;ldquo;Сервер каталогов для дистрибутива Fedora&amp;rdquo;. FDS работает на множестве различных дистрибутивов Linux, например, debian, gentoo, ubuntu и других, а также под управлением различных операционных систем, например, Solaris или HP/UX 11.&lt;/p&gt;&#xA;&lt;p&gt;После ряда иттераций, разработчики остановились на самом лаконичном имени - числе 389. Почему именно число 389? Думаю, это станет очевидным, если набрать команду grep ldap /etc/services :)&lt;/p&gt;</description>
			</item>
			<item>
				<title>Изменения в порядке сдачи экзаменов Red Hat</title>
				<link>https://markelov.dev/posts/red-hat-8/</link>
				<pubDate>Thu, 07 May 2009 11:56:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-8/</guid>
				<description>&lt;p&gt;С первого мая в порядке приема экзаменов Red Hat произошли некоторые изменения. В первую очередь нужно отметить, что экзамены как были performance-based, так и остались. Никаких шагов в сторону &amp;ldquo;поставь галочку&amp;rdquo; или &amp;ldquo;выбери правильный ответ&amp;rdquo; не планируется. Было сокращено время экзамена RHCE с пяти с половиной часов до трех с половиной, а время экзамена RHCT - до 2 часов с трех. Изменения ни в один из пяти экзаменов, обязательных для RHCA, пока внесены не были, и они по-прежнему длятся от двух до восьми часов.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Новая версия FDS 1.2.0</title>
				<link>https://markelov.dev/posts/fds-120/</link>
				<pubDate>Tue, 07 Apr 2009 13:34:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fds-120/</guid>
				<description>&lt;p&gt;Вчера вышла новая версия Fedora Directory Server 1.2.0. Из нового:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Улучшения в механизме репликации серверов (startTLS, SASL, Kerberos)&lt;/li&gt;&#xA;&lt;li&gt;64-битные счетчики&lt;/li&gt;&#xA;&lt;li&gt;возможность отключить анонимные подключения к каталогу&lt;/li&gt;&#xA;&lt;li&gt;новые скрипты: remove-ds.pl для удаления экземпляра каталога и remove-ds-admin.pl - некий &amp;ldquo;hard reset&amp;rdquo;, для того чтобы привести систему в состояние сразу после &amp;ldquo;yum install fedora-ds&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;Новая консоль и Windows Password Sync для синхронизации с Microsoft AD&lt;/li&gt;&#xA;&lt;li&gt;Расширение ACI (новые динамические фильтры)&lt;/li&gt;&#xA;&lt;li&gt;Исправлено более 200 ошибок, найденных с прошлого релиза&lt;/li&gt;&#xA;&lt;li&gt;Новая схема, которая изначально включает расширения для autofs, samba и множества других приложений&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/fds-120/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Впечатления от «Дня открытых технологий»</title>
				<link>https://markelov.dev/posts/blog-post-18/</link>
				<pubDate>Tue, 07 Apr 2009 11:02:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-18/</guid>
				<description>&lt;p&gt;В конце прошлой недели летали с Андреем Мегановым на конференцию «День открытых технологий» в столицу Республики Коми – Сыктывкар. Мероприятие посетило около 70 человек, хотя рассчитывали на несколько меньшее число слушателей. При этом пятеро участников приехало из других городов Республики. В основном аудиторию составляли ИТ-специалисты различного профиля. Зал был заполнен полностью, и практически не пустел до самого вечера - до последних докладов, и, судя по отзывам в форуме сообщества UNIX Коми, слушателям конференция понравилось не меньше, чем докладчикам :) Слайды презентаций появятся в ближайшее время на &lt;a href=&#34;http://unixkomi.ru/&#34;&gt;http://unixkomi.ru&lt;/a&gt; .&lt;/p&gt;</description>
			</item>
			<item>
				<title>&#34;Get The Facts&#34; про виртуализацию</title>
				<link>https://markelov.dev/posts/get-facts/</link>
				<pubDate>Tue, 07 Apr 2009 06:29:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/get-facts/</guid>
				<description>&lt;p&gt;Еще один пример подтасовки фактов - &amp;ldquo;&lt;a href=&#34;http://blogs.technet.com/virtualization/archive/2009/04/03/Top-10-VMWare-myths-video.aspx&#34;&gt;Top 10 VMWare myths video&lt;/a&gt;&amp;rdquo;. В данном случае сравнивают продукт которого нет с продуктом который давным-давно в production. Не буду повторяться, уже до меня &lt;a href=&#34;http://www.gabesvirtualworld.com/?p=445&#34;&gt;написали&lt;/a&gt; и &lt;a href=&#34;http://blog.vadmin.ru/2009/04/10-vmware-microsoft.html&#34;&gt;перевели&lt;/a&gt;. &lt;a href=&#34;http://blog.vadmin.ru/2009/04/10-vmware-microsoft.html&#34;&gt;Читаем&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Доклад по виртуализации RedHat</title>
				<link>https://markelov.dev/posts/redhat/</link>
				<pubDate>Tue, 31 Mar 2009 04:08:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/redhat/</guid>
				<description>&lt;p&gt;В середине апреля планирую рассказать на &lt;a href=&#34;http://www.rootconf.ru/&#34;&gt;RootConf-2009&lt;/a&gt; про текущее состояние и перспективы развития виртуализации с использованием технологий Fedora/Red Hat. Преимущества по сравнению с проприетарными решениями, обзор средств создания отказоустойчивых решений, а также управления и развертывания виртуальных машин. Краткий обзор мандатного контроля доступа (SELinux), применяемого для защиты и разграничения доступа виртуальных машин. Доклад &lt;a href=&#34;http://www.rootconf.ru/papers2009/12319.html&#34;&gt;подтвержден&lt;/a&gt;, так что через пару недель можно будет пообщаться вживую. :) Кроме того, организаторы обещают после конференции выложить видеозаписи всех докладов в свободный доступ. А в конце этой недели лечу в Сыктывкар на «&lt;a href=&#34;http://www.russianfedora.ru/news/09-03-16-01&#34;&gt;День свободных технологий&lt;/a&gt;».&lt;/p&gt;</description>
			</item>
			<item>
				<title>Забавный ролик, представленный на конкурс  Linux Foundation</title>
				<link>https://markelov.dev/posts/linux-foundation/</link>
				<pubDate>Tue, 17 Mar 2009 10:37:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/linux-foundation/</guid>
				<description>&lt;p&gt;Посмотрел некоторые из роликов, представленных на конкурс &amp;ldquo;&lt;a href=&#34;http://linux-foundation.org/weblogs/press/2009/01/25/linux-foundation-announces-formal-kick-off-for-%e2%80%9cwe%e2%80%99re-linux%e2%80%9d-video-contest/&#34;&gt;Мы Linux&lt;/a&gt;&amp;rdquo;, который проводил Linux Foundation. Больше всего понравился этот:&lt;/p&gt;&#xA;&lt;p&gt;:)&lt;/p&gt;</description>
			</item>
			<item>
				<title>RHEL на Cisco Unified Computing System</title>
				<link>https://markelov.dev/posts/rhel-cisco-unified-computing-system/</link>
				<pubDate>Tue, 17 Mar 2009 08:50:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhel-cisco-unified-computing-system/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/rhel-cisco-unified-computing-system/img-001.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Про то, что Cisco вышла на серверный рынок с &lt;a href=&#34;http://www.cisco.com/en/US/netsol/ns944/index.html&#34;&gt;Unified Computing System&lt;/a&gt; все уже наверно наслышаны. Выглядит красиво и интересно. Безусловно данное решение для ЦОД не было бы представлено заказчикам без уже сформированной экосистемы партнеров. В разрезе Red Hat это выглядит &lt;a href=&#34;http://www.redhat.com/promo/cisco/&#34;&gt;так&lt;/a&gt;. В двух словах:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Cisco - OEM-партнер Red Hat; ждем обновления Cisco GPL :)&lt;/li&gt;&#xA;&lt;li&gt;Red Hat Enterprise Linux 5.3 (как сам по себе, так и внутри VMware VI) сертифицирован на оборудовании Cisco, а компоненты решения Red Hat Enterprise Virtualization, включая средства управления и гипервизор на основе KVM, будут сертифицированы по мере выхода;&lt;/li&gt;&#xA;&lt;li&gt;Поддержку первого и второго уровня для RHEL на своем оборудовании будет оказывать непосредственно Cisco;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
			</item>
			<item>
				<title>Off topic - award :)</title>
				<link>https://markelov.dev/posts/off-topic-award/</link>
				<pubDate>Thu, 12 Mar 2009 10:13:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/off-topic-award/</guid>
				<description>&lt;p&gt;Спустя несколько месяцев с момента присвоения RHCDS, пришла посылка из Red Hat (см. фото) :) В коробке размерами с советский стандартный почтовый ящик в куче поролона обнаружился этот небольшой стеклянный предмет :)&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/off-topic-award/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Зато в RHCA-посылке обещают комплектацию побогаче, даже какой-то jacket – заставили указать свой размер :) Вот только осталось дождаться, когда вместе со мной таких ожидающих наберется двадцать штук, т.к. эти «регалии» именные, и на завод отправляют заказ при наборе минимальной партии. Похоже, мы с товарищем из VDEL получим сей award одновременно, хотя он «отстрелялся» на год раньше :)&lt;/p&gt;</description>
			</item>
			<item>
				<title>Курс по корпоративным сервисам каталогов и аутентификации</title>
				<link>https://markelov.dev/posts/blog-post-10/</link>
				<pubDate>Sun, 08 Mar 2009 10:57:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-10/</guid>
				<description>&lt;p&gt;Через две недели буду читать в &lt;a href=&#34;http://rhd.ru/&#34;&gt;Инвенте&lt;/a&gt; курс &lt;a href=&#34;https://www.redhat.com/courses/rh423_red_hat_enterprise_directory_services_and_authentication/&#34;&gt;RH423 Red Hat Enterprise Directory Services and Authentication&lt;/a&gt;. Сколько раз он проводился в России можно пересчитать по пальцам на одной руке :) Что касается меня, то это будет первый опыт чтения курсов из линейки RHCA, хотя инженерные курсы я начал читать в 2005 году. По сравнению с предыдущей версией курса, которая основывалась на RHDS 7.x, материал новой обновлен до &lt;a href=&#34;https://www.redhat.com/directory_server/&#34;&gt;RHDS 8.0&lt;/a&gt;. Кроме того, добавлен принципиально новый модуль по продукту &lt;a href=&#34;https://www.redhat.com/enterprise_ipa/&#34;&gt;Red Hat Enterprise IPA&lt;/a&gt; - решению с открытым исходным кодом для управления доступом и учетными данными. Обновленная программа курса доступна на &lt;a href=&#34;https://www.redhat.com/courses/rh423_red_hat_enterprise_directory_services_and_authentication/details/&#34;&gt;данной&lt;/a&gt; страничке.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Виртуализация: планы Red Hat</title>
				<link>https://markelov.dev/posts/red-hat-10/</link>
				<pubDate>Tue, 24 Feb 2009 17:55:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-10/</guid>
				<description>&lt;p&gt;Компания Red Hat озвучила свои планы относительно будущего развития своих технологий виртуализации с открытым исходным кодом. Под брендом &amp;ldquo;Red Hat Enterprise Virtualization&amp;rdquo; будет доступен ряд продуктов для серверной виртуализации, виртуализации настольных ОС и отдельный гипервизор. Кроме того, технологии виртуализации все также будут поставляться как составная часть операционной системы Red Hat Enterprise Linux.&lt;/p&gt;&#xA;&lt;p&gt;С подробностями вы можете ознакомиться по &lt;a href=&#34;http://www.redhat.com/virtualization-strategy/&#34;&gt;приведенной ссылке&lt;/a&gt;, а я лишь озвучу основные моменты, добавив некоторые комментарии.&lt;/p&gt;&#xA;&lt;p&gt;В рамках Red Hat Enterprise Linux планируется миграция с гипервизора Xen на KVM. За счет унификации работы через libvirt для конечного заказчика данный процесс должен пройти безболезненно. Поддержка Xen будет осуществляться минимум до 2014 года. Нужно заметить. что KVM уже был доступен в Fedora 7, а в RHEL5 появится, начиная с версии 5.4, позже в этом году. RHEL6 будет изначально поставляться с KVM.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Citrix XenServer теперь бесплатно</title>
				<link>https://markelov.dev/posts/citrix-xenserver/</link>
				<pubDate>Tue, 24 Feb 2009 17:52:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/citrix-xenserver/</guid>
				<description>&lt;p&gt;Борьба за заказчика на рынке средств виртуализации идет весьма плотная, и обстановка на «полях сражений» меняется день ото дня. Вчера компания Citrix объявила, что новая версия платформы виртуализации &lt;a href=&#34;http://citrix.com/English/ps2/products/product.asp?contentID=683148&#34;&gt;Citrix® XenServer™&lt;/a&gt; будет распространятся бесплатно. Скачать бесплатную версию ПО можно будет с сайта Citrix к концу следующего месяца. Также нужно отметить, что Citrix, традиционно работая в тесном партнерстве с Microsoft, предлагает решение для управления объединенными виртуальными ЦОД, построенными на технологиях Microsoft и Citrix - &lt;a href=&#34;http://www.citrix.com/English/ps2/products/feature.asp?contentID=1687093&amp;amp;ntref=hp_promo1_US%2F&#34;&gt;Citrix Essentials for XenServer and Hyper-V&lt;/a&gt;. Продукт Citrix Essentials, который в том числе поможет и Microsoft в продвижении своих технологий виртуализации, безусловно, не бесплатен.&lt;/p&gt;</description>
			</item>
			<item>
				<title>VMware vCenter Server 2.5 для Linux</title>
				<link>https://markelov.dev/posts/vmware-vcenter-server-25-linux/</link>
				<pubDate>Tue, 24 Feb 2009 17:49:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/vmware-vcenter-server-25-linux/</guid>
				<description>&lt;p&gt;Уже доступен, правда, пока что в статусе Technical Preview. В настоящий момент можно скачать в виде виртуальной машины, и для работы требуется платформа виртуализации от VMware, в которой эту виртуальную машину необходимо запускать. В качестве платформы может выступать ESX Server, VMware Player, VMware Server или VMware Workstation. В качестве СУБД используется Oracle (в традиционной версии для Windows у вас есть выбор между Oracle и MS SQL).&lt;/p&gt;&#xA;&lt;p&gt;Для управления все также требуется VMware Infrastructure Client, установленный на клиентскую машину под управлением Windows.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Red Hat и Microsoft расширяют сотрудничество в области виртуализации</title>
				<link>https://markelov.dev/posts/red-hat-microsoft/</link>
				<pubDate>Mon, 16 Feb 2009 21:14:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-microsoft/</guid>
				<description>&lt;p&gt;Microsoft и Red Hat подписали соглашения, в рамках которых компании будут обеспечивать тестирование, сертификацию и совместную техническую поддержку общих заказчиков, использующих технологии серверной виртуализации. Были подписаны два соглашения. По одному из них Red Hat присоединяется к программе Microsoft Server Virtualization Validation Program (SVVP), которая обеспечивает официальную поддержку Microsoft виртуальных машин, работающих в среде виртуализации Red Hat Enterprise, и второе соглашение, направленное на сертификацию гостевых машин Red Hat Enterprise Linux, работающих в Windows Server Hyper-V.&lt;br&gt;&#xA;Важно отметить, что данные соглашения не касаются лицензирования, патентов или иных вопросов, связанных с интеллектуальной собственностью. Также речь не идет о каких-либо финансовых отчислениях, за исключением обычных расходов на сертификацию и тестирование ПО.&lt;br&gt;&#xA;Ссылки:&lt;br&gt;&#xA;&lt;a href=&#34;http://www.press.redhat.com/2009/02/16/red-hat-moves-to-expand-server-virtualization-interoperability/&#34;&gt;Пресс релиз Red Hat&lt;/a&gt;.&lt;br&gt;&#xA;&lt;a href=&#34;http://www.redhat.com/promo/svvp/&#34;&gt;FAQ и технические детали&lt;/a&gt;.&lt;br&gt;&#xA;&lt;a href=&#34;http://blogs.technet.com/virtualization/archive/2009/02/15/Microsoft-and-Red-Hat-Joint-Technical-Support.aspx&#34;&gt;Анонс в блоге&lt;/a&gt; Mike Neil (General manager of virtualization at Microsoft)&lt;/p&gt;</description>
			</item>
			<item>
				<title>Скринкаст: oVirt - демонстрация интерфейса</title>
				<link>https://markelov.dev/posts/ovirt-15/</link>
				<pubDate>Sun, 15 Feb 2009 14:39:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/ovirt-15/</guid>
				<description>&lt;p&gt;Выложил свой «первый блин» в области «скринкастостроения», посвященный Open Source-реализации системы виртуализации oVirt. Видео записал еще неделю назад, но склеить два куска в один и наложить звук, руки дошли только сегодня. Для записи использовался Istanbul, а сам конечный продукт сознательно делался «быстро и грязно» с первого прогона. Целью данной работы я ставил, в первую очередь, оценку трудозатрат. Перед просмотром рекомендуется прочитать краткий &lt;a href=&#34;http://markelov.blogspot.com/2009/02/ovirt.html&#34;&gt;рассказ&lt;/a&gt; о том, что же представляет собой данная система виртуализации.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Востребованность специалистов по различным платформам</title>
				<link>https://markelov.dev/posts/blog-post-14/</link>
				<pubDate>Tue, 10 Feb 2009 14:12:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-14/</guid>
				<description>&lt;p&gt;В качестве эксперимента задал поиск по ключевым словам в вакансиях на hh.ru за месяц. В OO.o Calc это выглядит примерно так:&lt;img src=&#34;https://markelov.dev/posts/blog-post-14/img-001.png&#34; alt=&#34;&#34;&gt;Windows - Найдено 720 вакансий&lt;br&gt;&#xA;Linux - Найдено 410 вакансий&lt;br&gt;&#xA;Solaris - Найдено 60 вакансий&lt;br&gt;&#xA;VMware - Найдено 33 вакансии&lt;br&gt;&#xA;Регион: Россия&lt;br&gt;&#xA;Профессиональная область: Информационные технологии/Интернет/Телеком&lt;br&gt;&#xA;выводить: за месяц&lt;/p&gt;&#xA;&lt;p&gt;Получается примерный расклад &amp;ldquo;известности&amp;rdquo; работодателям различных названий платформ, который должен коррелировать с востребованностью специалистов по соответствующим платформам.&lt;/p&gt;</description>
			</item>
			<item>
				<title>sVirt = Виртуализация &#43; Мандатный контроль доступа</title>
				<link>https://markelov.dev/posts/svirt/</link>
				<pubDate>Mon, 09 Feb 2009 19:55:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/svirt/</guid>
				<description>&lt;p&gt;Продолжу рассказ про перспективные разработки в области виртуализации. Давайте рассмотрим отдельно стоящий сервер, к которому в силу тех или иных причин злоумышленник получил доступ с привилегиями администратора. Плохо? Безусловно. Теперь у злоумышленника &amp;ldquo;ключи&amp;rdquo; от всех выполняющихся на сервере служб. А теперь представьте, что в роли сервера у нас машина с гипервизором, в котором работает какое-то количество виртуальных машин. Ситуация хуже во много раз: &amp;ldquo;плохие парни&amp;rdquo; получают доступ сразу ко всем виртуальным машинам. Тем более, что опасность увеличивается, благодаря использованию в случае гостевых операционных систем локальных механизмов атаки. Оставим в стороне конкретные технологии и конкретных вендоров. Не важно, чья модель безопаснее - Microsoft, VMWare, Citrix, Sun, etc. Никто не будет спорить, что от потенциальных уязвимостей не застрахован никто, вне зависимости от размеров возможной площади атаки.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Впечатления от oVirt</title>
				<link>https://markelov.dev/posts/ovirt/</link>
				<pubDate>Fri, 06 Feb 2009 18:25:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/ovirt/</guid>
				<description>&lt;p&gt;На пару дней взял в лабе четыре сервера, на которых развернул &lt;a href=&#34;http://ovirt.org/&#34;&gt;oVirt&lt;/a&gt; - Open Source-реализацию системы виртуализации, находящуюся в стадии разработки, но имеющую весьма высокий потенциал. Объясню почему. Когда говорят о бесплатных продуктах, подобных ESXi и Hyper-V, нужно понимать, что, хотя они и бесплатны, но масштабируемое решение на них никоим образом не построить. Если вы возьмете десять физических серверов и установите на них гипервизор, то у вас и будет десять отдельно стоящих серверов без функций централизованного управления, горячей миграции, отказоустойчивости и т.д. За все, без чего виртуализация превращается в &amp;ldquo;красивую игрушку&amp;rdquo;, нужно платить.&lt;/p&gt;</description>
			</item>
			<item>
				<title>VMware открыла Virtual Desktop Client под лицензией LGPL</title>
				<link>https://markelov.dev/posts/vmware-virtual-desktop-client-lgpl/</link>
				<pubDate>Wed, 04 Feb 2009 08:01:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/vmware-virtual-desktop-client-lgpl/</guid>
				<description>&lt;p&gt;Good news. :) Компания VMware &lt;a href=&#34;http://www.vmware.com/company/news/releases/view_open_client.html&#34;&gt;открыла&lt;/a&gt; исходный код Virtual Desktop Client. Собственно, наверное, это в первую очередь повлечет появление большого числа клиентских устройств, сертифицированных для &lt;a href=&#34;http://www.vmware.com/products/view/&#34;&gt;VMware View&lt;/a&gt; (бывший VMware VDI). Больше устройств, больше конкуренция, ниже цены. Кроме того, видимо стоит ожидать появление клиента во всех основных дистрибутивах Linux.&lt;/p&gt;</description>
			</item>
			<item>
				<title>I am RHCA</title>
				<link>https://markelov.dev/posts/i-am-rhca/</link>
				<pubDate>Wed, 28 Jan 2009 16:05:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/i-am-rhca/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/i-am-rhca/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Подготовка к более чем двадцати четырем часам лабораторных, разбитых на пять экзаменов, заняла чуть больше года. Сегодня пришли &lt;a href=&#34;https://www.redhat.com/training/certification/verify/?rhce_cert_display%3Acertno=805008329232638&amp;amp;rhce_cert_display%3Averify_cb=Verify&#34;&gt;результаты&lt;/a&gt; последнего экзамена по настройке производительности, который иначе как &amp;ldquo;black magic&amp;rdquo; назвать нельзя :) Для интересующихся: &lt;a href=&#34;https://www.redhat.com/certification/rhca/first_rhca/&#34;&gt;интервью&lt;/a&gt; с первым Red Hat Certified Architect Флорианом Брендом, &lt;a href=&#34;https://www.redhat.com/certification/rhca/index.html?id=home&#34;&gt;обзор&lt;/a&gt; сертификации и &lt;a href=&#34;https://www.redhat.com/certification/rhca/faq/&#34;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Вышел релиз Red Hat Enterprise Linux 5.3</title>
				<link>https://markelov.dev/posts/red-hat-enterprise-linux-53/</link>
				<pubDate>Wed, 21 Jan 2009 11:29:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-enterprise-linux-53/</guid>
				<description>&lt;p&gt;Рядом с часами появилось сообщение &amp;ldquo;доступно 181 обновление&amp;rdquo; :) Анонс основных нововведений - &lt;a href=&#34;http://www.press.redhat.com/2009/01/20/red-hat-enterprise-linux-53-offers-customers-new-features-and-capabilities/&#34;&gt;тут&lt;/a&gt;. По &lt;a href=&#34;http://www.redhat.com/docs/manuals/enterprise/#RHEL5.3&#34;&gt;этой&lt;/a&gt; ссылке - Release Notes.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Управление динамическим распределением задач на уровне ОС</title>
				<link>https://markelov.dev/posts/blog-post-9/</link>
				<pubDate>Tue, 20 Jan 2009 09:42:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-9/</guid>
				<description>&lt;p&gt;&amp;ldquo;Большие системы&amp;rdquo; для конечного пользователя означают значительные инвестиции в вычислительные ресурсы, и сразу же возникает вопрос эффективного управления этими мощностями. На этот раз оставим виртуализацию в стороне и рассмотрим динамическое управление ресурсами в пределах одной отдельно взятой операционной системы. Где это необходимо? Примеры:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Веб-сервер, поддерживающий несколько экземпляров одного и того же приложения;&lt;/li&gt;&#xA;&lt;li&gt;Сервер, поддерживающий разные приложения (например СУБД и Apache) или HPC-приложения, каждое из которых должно работать с заданными параметрами быстродействия;&lt;/li&gt;&#xA;&lt;li&gt;Сервер, поддерживающий приложения, нагружающие разные ресурсы (подсистемы) этого сервера, но требующие заданный уровень сервиса.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;В замечаниях к выпуску Enterprise Linux 5 можно встретить такую фразу:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Новая версия Spacewalk 0.4</title>
				<link>https://markelov.dev/posts/spacewalk-04/</link>
				<pubDate>Mon, 19 Jan 2009 12:05:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/spacewalk-04/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/spacewalk-04/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;На днях &lt;a href=&#34;https://www.redhat.com/archives/spacewalk-announce-list/2009-January/msg00000.html&#34;&gt;вышла&lt;/a&gt; новая версия open source решения для обслуживания всего жизненного цикла Linux-инфраструктуры - &lt;a href=&#34;http://www.redhat.com/spacewalk/&#34;&gt;Spacewalk&lt;/a&gt; 0.4. Spacewalk представляет собой открытый по лицензии GPL2 продукт Red Hat Network Satellite Server, имеющий давнюю, с 2001 года, историю разработки.&lt;/p&gt;&#xA;&lt;p&gt;Основные усовершенствования:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;интеграция с Cobbler/Koan (о Cobbler я &lt;a href=&#34;http://markelov.blogspot.com/2009/01/cobbler-red-hat-magazine.html&#34;&gt;писал&lt;/a&gt; в блоге пару недель назад). Требуется версия cobbler &amp;gt;=1.4, которая пока что присутствует в репозитории epel-testing. Предполагается, что Cobbler заменит соответствующую подсистему в Spacewalk, а в дальнейшем, видимо, и в Red Hat Network Satellite Server;&lt;/li&gt;&#xA;&lt;li&gt;начата работа над реализацией доверительных отношений между Организациями и реализацией &amp;ldquo;общих каналов&amp;rdquo; программного обеспечения (Multi-Org II);&lt;/li&gt;&#xA;&lt;li&gt;улучшения в поддержке разных архитектур в пределах одного сервера для 64-разрядных систем;&lt;/li&gt;&#xA;&lt;li&gt;Набор новых API (channel.access.*, channel.org.*, package.*);&lt;/li&gt;&#xA;&lt;li&gt;Модули SELinux для компонентов Spacewalk (Ура! Раньше первый пункт при установке звучал как &amp;ldquo;выключите SELinux&amp;rdquo; :) ;&lt;/li&gt;&#xA;&lt;li&gt;Поиск по online-документации в Spacewalk. (Мелочь, а приятно);&lt;/li&gt;&#xA;&lt;li&gt;Справочная документация обновлена с учетом последних изменений;&lt;/li&gt;&#xA;&lt;li&gt;Продолжается миграция частей кода с perl на java;&lt;/li&gt;&#xA;&lt;li&gt;Улучшенна интеграция с базовой системой. satellite-httpd удален, поскольку теперь используется стандартный httpd;&lt;/li&gt;&#xA;&lt;li&gt;С момента выхода версии 0.3 исправлено более сотни различных ошибок.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;В качестве платформы все еще необходимо использовать RHEL/CentOS/etc, но уже начата работа по созданию репозитория для Fedora 10.&lt;/p&gt;</description>
			</item>
			<item>
				<title>И снова о памяти в Linux - /proc/meminfo</title>
				<link>https://markelov.dev/posts/linux-procmeminfo/</link>
				<pubDate>Tue, 13 Jan 2009 11:46:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/linux-procmeminfo/</guid>
				<description>&lt;p&gt;В продолжение &lt;a href=&#34;http://markelov.blogspot.com/2009/01/binfree.html&#34;&gt;поста&lt;/a&gt; о команде free, посмотрим на более полный источник об использовании памяти - специальную виртуальную файловую систему /proc, являющуюся общей точкой доступа к структурам данных ядра, а именно - на информацию /proc/meminfo. Вывод команды cat:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[andrey@server1 ~]$  cat /proc/meminfo&#xA;MemTotal:      1945312 kB&#xA;MemFree:         48980 kB&#xA;Buffers:          2248 kB&#xA;Cached:         171092 kB&#xA;SwapCached:        256 kB&#xA;Active:         622380 kB&#xA;Inactive:        32504 kB&#xA;HighTotal:     1048256 kB&#xA;HighFree:         3176 kB&#xA;LowTotal:       897056 kB&#xA;LowFree:         45804 kB&#xA;SwapTotal:     2048276 kB&#xA;SwapFree:      2047868 kB&#xA;Dirty:            2696 kB&#xA;Writeback:         400 kB&#xA;AnonPages:      481592 kB&#xA;Mapped:         137244 kB&#xA;Slab:            34244 kB&#xA;PageTables:       7276 kB&#xA;NFS_Unstable:        0 kB&#xA;Bounce:              0 kB&#xA;CommitLimit:   2433156 kB&#xA;Committed_AS:  1277084 kB&#xA;VmallocTotal:   114680 kB&#xA;VmallocUsed:     14232 kB&#xA;VmallocChunk:    99948 kB&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Пройдемся сверху вниз с некоторыми комментариями по части из этих значений.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Команда /bin/free &#34;в картинках&#34;</title>
				<link>https://markelov.dev/posts/binfree/</link>
				<pubDate>Thu, 08 Jan 2009 16:01:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/binfree/</guid>
				<description>&lt;p&gt;Команда free выводит информацию об общем числе свободной и использованной памяти, включая swap. Для того, чтобы было понятнее, как трактовать вывод команды, на приведенном ниже рисунке я показал результат исполнения команды free в Dom0 на моем рабочем ноутбуке:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/binfree/img-001.png&#34; alt=&#34;&#34;&gt;Ключ -m говорит о том, что размер памяти нужно выводить в мегабайтах. Еще один ключ -l позволяет посмотреть сколько памяти использовано в каждой из зон:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[andrey@server1 ~]$ free -l&#xA;           total    used     free shared buffers  cached&#xA;Mem:       1819648 1807228    12420      0   56504 1257716&#xA;Low:        738260  728896     9364&#xA;High:      1081388 1078332     3056&#xA;-/+ buffers/cache:  493008  1326640&#xA;Swap:      2048276       8  2048268&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Если бы я отдал эту же команду на установленной 64-разрядной ОС, то в строке, относящейся к ZONE_HIGMEM, я бы увидел 0. Обзор модели памяти Linux можно почитать в &lt;a href=&#34;http://www.ibm.com/developerworks/ru/library/l-memmod/index.html&#34;&gt;статье&lt;/a&gt; на IBM developerWorks Россия. Если же вы готовы к &amp;ldquo;глубокому погружению&amp;rdquo;, то ничего лучше &amp;ldquo;&lt;a href=&#34;http://www.books.ru/shop/books/534927&#34;&gt;Ядро Linux. 3-е издание&lt;/a&gt;&amp;rdquo; Бовет, Чезати на русском языке я не видел.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Cobbler: новое видео в Red Hat Magazine</title>
				<link>https://markelov.dev/posts/cobbler-red-hat-magazine/</link>
				<pubDate>Thu, 08 Jan 2009 10:13:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/cobbler-red-hat-magazine/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/cobbler-red-hat-magazine/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Не так давно я уже &lt;a href=&#34;http://markelov.blogspot.com/2008/12/fedorarhel.html&#34;&gt;писал&lt;/a&gt; в блоге про создание сервера инсталляции. Кстати, пользуясь случаем, дам ссылку еще на одну отличную &lt;a href=&#34;http://red-hat-moscow-times.blogspot.com/2007/08/rhel.html&#34;&gt;статью&lt;/a&gt; по теме, которая уже проскальзывала в комментариях. Так вот, ознакомившись с этими материалами, вы наверняка могли заметить, что создание сервера для сетевой установки хотя и не сложный, но достаточно комплексный процесс, затрагивающий настройку нескольких служб. Есть ли способ упростить настройку сервиса для конечного пользователя - системного администратора?&lt;/p&gt;&#xA;&lt;p&gt;Такой способ есть, и он заключается в использовании ПО Cobbler, которое упрощает сетевую установку операционных систем, что особенно необходимо при масштабных инсталляциях, например, в дата-центрах. Вчера в Red Hat Magazine &lt;a href=&#34;http://www.redhatmagazine.com/2009/01/07/video-spotlight-on-cobbler/&#34;&gt;появилось видео-интервью&lt;/a&gt; с разработчиком Cobbler - Michael DeHaan.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Приоритет ввода/вывода процесса и ionice</title>
				<link>https://markelov.dev/posts/ionice/</link>
				<pubDate>Tue, 06 Jan 2009 16:05:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/ionice/</guid>
				<description>&lt;p&gt;В планировщике ввода/вывода CFQ (подробнее о планировщиках ввода/вывода можно почитать &lt;a href=&#34;http://www.rhd.ru/docs/articles/schedulers/&#34;&gt;тут&lt;/a&gt;), который используется по умолчанию, начиная с ядра версии 2.6.18 (кстати, в последнем издании &lt;a href=&#34;http://markelov.blogspot.com/2007/10/blog-post_22.html&#34;&gt;Understanding the Linux Kernel&lt;/a&gt; описано ядро 2.6.11, и там в соответствующей главе пишут про упреждающий конвейер - Anticipatory) есть интересная возможность вручную присваивать приоритет ввода/вывода конкретному процессу. На практике эти манипуляции осуществляются при помощи утилиты ionice.&lt;/p&gt;&#xA;&lt;p&gt;Можно задать три класса ввода/вывода:&lt;/p&gt;&#xA;&lt;p&gt;3. Idle - получает доступ к диску только тогда, когда другие процессы не требуют ввода/вывода. При &amp;ldquo;нормальной&amp;rdquo; работе системы такой процесс не должен испытывать проблем с производительностью.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ресурсы по SELinux в Интернет</title>
				<link>https://markelov.dev/posts/selinux/</link>
				<pubDate>Wed, 24 Dec 2008 22:36:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/selinux/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/selinux/img-001.png&#34; alt=&#34;&#34;&gt;&lt;br&gt;&#xA;Начал собирать ссылки, посвященные SELinux в сети на страницах &lt;a href=&#34;http://wiki.russianfedora.ru/index.php/SELinux&#34;&gt;нашей Wiki&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Fedora Linux Security Guide</title>
				<link>https://markelov.dev/posts/fedora-linux-security-guide/</link>
				<pubDate>Mon, 22 Dec 2008 05:22:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fedora-linux-security-guide/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/fedora-linux-security-guide/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Руководство &lt;a href=&#34;http://docs.fedoraproject.org/selinux-user-guide/&#34;&gt;Security-Enhanced Linux User Guide&lt;/a&gt;, про которое я писал ранее, уже сменило статус с черновика на готовый документ, а вчера Eric Christensen &lt;a href=&#34;http://fedora-sparks.blogspot.com/2008/12/linux-security-guide.html&#34;&gt;опубликовал&lt;/a&gt; черновой вариант &lt;a href=&#34;https://fedorahosted.org/securityguide/&#34;&gt;Fedora Linux Security Guide&lt;/a&gt; (&lt;a href=&#34;https://bugzilla.redhat.com/show_bug.cgi?id=476471&#34;&gt;Bugzilla Bug&lt;/a&gt;). В целом завершить работу планируется к выходу Fedora 11, а сейчас создатели документа с удовольствием выслушают отклики/исправления/замечания от сообщества пользователей и разработчиков Fedora. HTML-версия документа &lt;a href=&#34;http://sparks.fedorapeople.org/Security_Guide/&#34;&gt;тут&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Книги по мониторингу и настройке производительности</title>
				<link>https://markelov.dev/posts/blog-post-12/</link>
				<pubDate>Sun, 21 Dec 2008 18:42:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-12/</guid>
				<description>&lt;p&gt;На ресурсе IBM Redbooks нашел несколько интересных для себя книг в формате PDF по настройке производительности операционных систем.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/sg245287.html?Open&#34;&gt;Tuning IBM System x Servers for Performance&lt;/a&gt;. Рассмотрены вопросы настройки производительности Windows, Linux и ESX Server на System x. Естественно, часть информации не специфична именно для System x. Более тысячи страниц, датировано февралем 2007 года&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/redp3861.html?Open&#34;&gt;Tuning Red Hat Enterprise Linux on IBM eServer xSeries Servers&lt;/a&gt;. Помимо настройки непосредственно операционной системы, затронуты вопросы производительности Apache, LDAP, серверов баз данных. Июль 2005, сто пятьдесят страниц.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ресурсы Russian Fedora</title>
				<link>https://markelov.dev/posts/russian-fedora-2/</link>
				<pubDate>Thu, 18 Dec 2008 08:29:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/russian-fedora-2/</guid>
				<description>&lt;p&gt;Заработали &lt;a href=&#34;http://bugzilla.russianfedora.ru/&#34;&gt;Bugzilla&lt;/a&gt; и &lt;a href=&#34;http://forum.russianfedora.ru/index.php&#34;&gt;форум&lt;/a&gt;. Страница &amp;ldquo;&lt;a href=&#34;http://www.russianfedora.ru/about/join&#34;&gt;Как присоединиться&lt;/a&gt;&amp;rdquo; с которой можно подписаться на списки рассылки. К следующему четвергу в wiki должны быть списки To Do по основным направлениям, и можно будет брать и раздавать задачи :)&lt;/p&gt;</description>
			</item>
			<item>
				<title>I am RHCDS</title>
				<link>https://markelov.dev/posts/i-am-rhcds/</link>
				<pubDate>Mon, 15 Dec 2008 15:44:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/i-am-rhcds/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/i-am-rhcds/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Пришли результаты EX436, а вместе с ними сертификат Red Hat Certified Datacenter Specialist :) До RHCA &lt;a href=&#34;https://www.redhat.com/training/certification/verify/?rhce_cert_display%3Acertno=805008329232638&amp;amp;rhce_cert_display%3Averify_cb=Verify&#34;&gt;остался всего один экзамен&lt;/a&gt;, но это уже на следующий год. :)&lt;/p&gt;</description>
			</item>
			<item>
				<title>Создаём сервер сетевой установки Fedora/RHEL</title>
				<link>https://markelov.dev/posts/fedorarhel-2/</link>
				<pubDate>Tue, 09 Dec 2008 08:35:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fedorarhel-2/</guid>
				<description>&lt;p&gt;С разрешения редакции размещена моя статья из 11/2008 номера журнала &amp;ldquo;Системный администратор&amp;rdquo;:&lt;/p&gt;&#xA;&lt;p&gt;Дистрибутив Fedora использует для установки весьма мощную и многофункциональную программу Anaconda, поддерживающую различные режимы работы и сценарии инсталляции. Вместе с рядом других технологий, в частности Spacewalk-сервером, вы можете значительно облегчить процесс развертывания и обслуживания вашей Linux-инфраструктуры.&lt;/p&gt;&#xA;&lt;p&gt;Однако сегодня мы оставим Spacewalk-сервер в стороне и рассмотрим, как можно автоматизировать самую начальную стадию жизненного цикла серверов/рабочих станций – их развертывание. При этом в процессе установки мы постараемся обойтись без вмешательства оператора при помощи так называемого сервера сетевой установки. Для организации такого сервера мы используем следующие технологии:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Построение HA-кластера с использованием RHCS и GFS в RHEL 5</title>
				<link>https://markelov.dev/posts/ha-rhcs-gfs-rhel-5/</link>
				<pubDate>Sun, 07 Dec 2008 19:37:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/ha-rhcs-gfs-rhel-5/</guid>
				<description>&lt;p&gt;Цель поста - продемонстрировать создание тестовой конфигурации кластера высокой доступности с использованием Red Hat Cluster Suite и кластерной файловой системы Global File System.&lt;/p&gt;&#xA;&lt;p&gt;При создании HA-кластера используем следующее ПО/технологии. Все они являются полностью открытыми и для них доступен исходный код:&lt;/p&gt;&#xA;&lt;p&gt;- Red Hat Enterprise Linux Advanced Platform 5.1&lt;br&gt;&#xA;-- Red Hat Cluster Suite (в том числе web-интерфейс Conga, qdiskd и clvmd);&lt;br&gt;&#xA;-- Global File System;&lt;br&gt;&#xA;-- udev.&lt;/p&gt;&#xA;&lt;p&gt;Вместо RHEL можно использовать CentOS, Scientific Linux и другие подобные.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Полная линейка курсов RHCA в России</title>
				<link>https://markelov.dev/posts/rhca/</link>
				<pubDate>Tue, 02 Dec 2008 09:20:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhca/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/rhca/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Подписав соглашение с компанией Red Hat, Инвента стала первым учебным центром, авторизованным для проведения курсов &lt;a href=&#34;https://www.redhat.com/certification/rhca/&#34;&gt;RHCA&lt;/a&gt; на территории России и Казахстана.&lt;/p&gt;&#xA;&lt;p&gt;Теперь и в России появилась возможность подготовить специалистов, чья квалификация позволит профессионально спроектировать и успешно развернуть в масштабах крупной корпоративной IT-инфраструктуры самые сложные архитектурные решения на базе Red Hat Enterprise Linux. Наличие в штате компании специалистов уровня RHCA гарантирует максимальную отдачу от внедрения таких продуктов, как RHN Satellite Server, Directory Server, Certificate System, Cluster Suite, Global File System.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Виртуализация: Red Hat vs Hyper-V vs VMWare</title>
				<link>https://markelov.dev/posts/red-hat-vs-hyper-v-vs-vmware/</link>
				<pubDate>Tue, 25 Nov 2008 16:15:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-vs-hyper-v-vs-vmware/</guid>
				<description>&lt;p&gt;Краткое сравнение с точки зрения функций в таблицах.&lt;/p&gt;&#xA;&lt;p&gt;Red Hat и Hyper-V:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/red-hat-vs-hyper-v-vs-vmware/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;К картинке можно добавить, что с точки зрения гостевых ОС, в Hyper-V поддерживаются только Windows и SLES 10 от Novell, а что касается Red Hat Enterprise Linux virtualization, то поддерживаются как Windows, так и Linux и UNIX-системы (включая NetBSD, FreeBSD и Solaris).&lt;/p&gt;&#xA;&lt;p&gt;Red Hat и VMWare:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/red-hat-vs-hyper-v-vs-vmware/img-002.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Выход Fedora 10</title>
				<link>https://markelov.dev/posts/fedora-10/</link>
				<pubDate>Tue, 25 Nov 2008 09:10:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fedora-10/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/fedora-10/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;25 ноября 2008 года выходит десятая версия дистрибутива Fedora под кодовым названием &amp;ldquo;Cambridge&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Основные технологические улучшения:&lt;/p&gt;&#xA;&lt;p&gt;NetworkManager — В NetworkManager появилась возможность создания общих соединений, что позволяет использовать систему с установленной Fedora в качестве общего хаба. При наличии единственного проводного или беспроводного подключения на втором беспроводном сетевом интерфейсе за несколько щелчков мыши пользователь может создать новую беспроводную ad-hoc сеть. Таким образом находящиеся вблизи устройства могут использовать данную сеть для доступа в Интернет.&lt;/p&gt;</description>
			</item>
			<item>
				<title>&#34;День рождения&#34; Russian Fedora в МИФИ (дополнение о respin)</title>
				<link>https://markelov.dev/posts/russian-fedora-respin/</link>
				<pubDate>Fri, 21 Nov 2008 21:38:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/russian-fedora-respin/</guid>
				<description>&lt;p&gt;Я не хотел озвучивать ответ на вопрос, который волновал многих, узнавших о проекте Russian Fedora, и узурпировать право рассказать о Fedora Respin у Аркадия Шейна. Поэтому я просто дам ссылку на &lt;a href=&#34;http://tigro.info/blog/index.php?id=572&#34;&gt;сообщение в его блоге&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>&#34;День рождения&#34; Russian Fedora в МИФИ</title>
				<link>https://markelov.dev/posts/russian-fedora-3/</link>
				<pubDate>Thu, 20 Nov 2008 20:17:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/russian-fedora-3/</guid>
				<description>&lt;p&gt;Сегодня в МИФИ состоялись пресс-конференция и мероприятия, посвященные запуску проекта Russian Fedora. Десятая версия Fedora выходит через пять дней. К моменту ее выхода будет публично доступна инфраструктура (CMS, wiki, система контроля версий), относящаяся непосредственно к нашей локальной Russian Fedora. На сайте проекта и будет более подробно рассказано о конкретных шагах, которые уже сделаны и которые еще будут сделаны в ближайшее время. Это и локальный respin, и предстоящие мероприятия в ВУЗах, и Install Party, etc. Конечно, обо всем я постараюсь писать в этом блоге. Ну а сегодня есть силы только выложить фото :) После официальной части у нас было достаточно времени на живое общение за кружечкой Гиннеса с Максом Спеваком, который, нужно отметить, в России впервые :)&lt;/p&gt;</description>
			</item>
			<item>
				<title>Настройка Device-Mapper Multipath в RHEL 5</title>
				<link>https://markelov.dev/posts/device-mapper-multipath-rhel-5/</link>
				<pubDate>Sat, 15 Nov 2008 17:41:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/device-mapper-multipath-rhel-5/</guid>
				<description>&lt;p&gt;В данном посте я хочу описать шаги для настройки Multipath при помощи dm-multipath. Device Mapper Multipathing (DM-Multipath) позволяет &amp;ldquo;собрать&amp;rdquo; несколько маршрутов ввода/вывода между сервером и дисковым массивом в единое целое, и рассматривать доступный по нескольким путям массив как одно мета-устройство. Например, если сервер с двумя двух-портовыми HBA подключен к одному и тому же массиву, то сервер, в самом простейшем случае, будет &amp;ldquo;видеть&amp;rdquo; четыре устройства /dev/sd{a,b,c,d}. При помощи dm-multipath можно собрать из них агрегирующее все четыре пути мета-устройство /dev/dm-N, обеспечив прозрачную для операционной системы и приложений конфигурацию, отказоустойчивую в случае выхода из строя HBA, кабеля или коммутатора (если каждый HBA подключен через свой коммутатор).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Выступление Макса Спевака (Fedora Project) в МИФИ 20 ноября</title>
				<link>https://markelov.dev/posts/fedora-project-20/</link>
				<pubDate>Sat, 15 Nov 2008 08:31:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fedora-project-20/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/fedora-project-20/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Я уже &lt;a href=&#34;http://markelov.blogspot.com/2008/10/russian-fedora.html&#34;&gt;писал в блоге&lt;/a&gt; об анонсе проекта Russian Fedora. В течение этого месяца в ходе обсуждений инициатива обросла конкретными идеями, и были сделаны первые шаги в их воплощении. Инициатива Russian Fedora распадается на два направления - техническое и организационное. В качестве одного из шагов во втором направлении 20 ноября состоится пресс-конференция, а после нее - встреча с лидером Fedora Project (с 2006 по 2008) Максом Спеваком (Max Spevack). В настоящее время Макс отвечает за стратегию Red Hat по работе с комьюнити. Также на встрече будет проанонсирован ряд конкретных шагов (в том числе в техническом плане), осуществление которых планируется в рамках Russian Fedora, и направленных на то, чтобы сделать Fedora дистрибутивом, подходящим для российских пользователей «из коробки», а также инициативы в плане локализации. На встрече помимо Макса Спивака планируются выступления руководителей Европейского Red Hat и компании VDEL.&lt;br&gt;&#xA;О подробностях регистрации на мероприятие читайте на &lt;a href=&#34;http://www.opennet.ru/opennews/art.shtml?num=18912&#34;&gt;opennet.ru&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Статья &#34;Создание сервера сетевой установки Fedora/RHEL&#34;</title>
				<link>https://markelov.dev/posts/fedorarhel/</link>
				<pubDate>Wed, 12 Nov 2008 10:27:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fedorarhel/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/fedorarhel/img-001.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;В ноябрьском номере журнала &amp;ldquo;&lt;a href=&#34;http://www.samag.ru/&#34;&gt;Системный администратор&lt;/a&gt;&amp;rdquo; выходит моя статья &amp;ldquo;Создание сервера сетевой установки Fedora/RHEL&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Дистрибутив Fedora использует для установки весьма мощную и многофункциональную программу Anaconda, поддерживающую различные режимы работы и сценарии инсталляции. Вместе с рядом других технологий, в частности Spacewalk-сервером, вы можете значительно облегчить процесс развертывания и обслуживания вашей Linux-инфраструктуры.&lt;br&gt;&#xA;Однако сегодня мы оставим Spacewalk-сервер в стороне, и рассмотрим, как можно автоматизировать самую начальную стадию жизненного цикла серверов/рабочих станций – их развертывание. При этом в процессе установки мы постараемся обойтись без вмешательства оператора при помощи так называемого сервера сетевой установки.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Новые версии Red Hat Network Satellite 5.2 и Spacewalk 0.3</title>
				<link>https://markelov.dev/posts/red-hat-network-satellite-52-spacewalk/</link>
				<pubDate>Tue, 11 Nov 2008 10:03:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-network-satellite-52-spacewalk/</guid>
				<description>&lt;p&gt;В начале этого месяца вышла новая версия open source решения для управления Linux-инфраструктурой - &lt;a href=&#34;http://www.redhat.com/spacewalk/&#34;&gt;Spacewalk&lt;/a&gt;. Также обновился основанный на Spacewalk продукт &lt;a href=&#34;http://www.redhat.com/red_hat_network/&#34;&gt;Red Hat Network Satellite Server&lt;/a&gt;. К сожалению, планы по поводу возможности установки Spacewalk на Fedora перенесены на следующую версию - 0.4, которая должна появится в середине декабря. Пока что в качестве базовой ОС необходимо использовать Red Hat Enterprise Linux (или CentOS и т.п.). Из нововведений можно отметить новый API, возможность синхронизации серверов Spacewalk между собой, улучшенную систему поиска, исправление более четырех десятков различных ошибок.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Настройка iSCSI target и initiator в RHEL/Fedora</title>
				<link>https://markelov.dev/posts/iscsi-target-initiator-rhelfedora/</link>
				<pubDate>Sun, 09 Nov 2008 11:10:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/iscsi-target-initiator-rhelfedora/</guid>
				<description>&lt;p&gt;Как известно, при использовании существующей сетевой инфраструктуры iSCSI представляет собой недорогую альтернативу FC, а для целей обучения и тестирования вообще не заменим, поскольку, в ряде случаев, можно обойтись без дорогостоящего оборудования. Безусловно, существует и множество &amp;ldquo;боевых&amp;rdquo; конфигураций, когда по тем или иным причинам стоит отдать предпочтение iSCSI. В этом посте я хочу кратко описать настройку iSCSI target и iSCSI initiator в Red Hat Enterprise Linux и Fedora. Нужно отметить, что до версии RHEL 5.2 поддержка iSCSI target присутствовала в статусе Technology Preview. Поддержка же iSCSI initiator присутствует в полном объеме еще с Red Hat Enterprise Linux 4.&lt;/p&gt;</description>
			</item>
			<item>
				<title>AMD и Red Hat: живая миграция виртуальных машин между ЦП AMD и Intel</title>
				<link>https://markelov.dev/posts/amd-red-hat-amd-intel/</link>
				<pubDate>Fri, 07 Nov 2008 10:53:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/amd-red-hat-amd-intel/</guid>
				<description>&lt;p&gt;Достаточно интересный пятиминутный ролик на &lt;a href=&#34;http://www.youtube.com/watch?v=EuhU6jJjpAQ&#34;&gt;youtube.com&lt;/a&gt; , показывающий процесс &amp;ldquo;живой миграции&amp;rdquo; виртуальной машины между серверами, работающими на платформах AMD и Intel. Насколько я знаю, у VMware такой возможности нет, а у Microsoft, собственно, нет и &amp;ldquo;живой миграции&amp;rdquo; :) Помимо прочего, можно посмотреть как выглядит интерфейс управления системы виртуализации с открытым исходным кодом oVirt. Как ожидается, к промышленному применению система виртуализации будет готова к концу года, а тестировать ее можно уже и &lt;a href=&#34;http://www.ovirt.org/&#34;&gt;сейчас&lt;/a&gt;.&lt;br&gt;&#xA;&lt;a href=&#34;http://www.amd.com/gb-uk/Corporate/VirtualPressRoom/0,,51_104_543%7E128781,00.html&#34;&gt;Пресс релиз.&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>EX401 is done!</title>
				<link>https://markelov.dev/posts/ex401-is-done/</link>
				<pubDate>Mon, 03 Nov 2008 13:17:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/ex401-is-done/</guid>
				<description>&lt;p&gt;По сравнению с предыдущими лабами EX401 показался относительно простым. 3,5 часа - &amp;ldquo;внедрение&amp;rdquo;, 1,5 часа - задачи виртуализации. &lt;a href=&#34;https://www.redhat.com/training/certification/verify/?rhce_cert_display%3Acertno=805008329232638&amp;amp;rhce_cert_display%3Averify_cb=Verify&#34;&gt;3/5 от RHCA - сделано&lt;/a&gt; :)&lt;/p&gt;</description>
			</item>
			<item>
				<title>Использование LVM snapshots для упрощения работы с виртуальными машинами</title>
				<link>https://markelov.dev/posts/lvm-snapshots/</link>
				<pubDate>Sun, 26 Oct 2008 17:43:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/lvm-snapshots/</guid>
				<description>&lt;p&gt;Использование мгновенных снимков LVM (Snapshots, снапшоты) при работе с виртуальными машинами позволяет получить ряд полезных преимуществ:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;быстрое, за считанные минуты, развертывание стандартных конфигураций;&lt;/li&gt;&#xA;&lt;li&gt;создание/удаление машин, для которых требуется быстрый возврат к стандартной конфигурации (тестовые/учебные машины, машины без сохранения конфигурации);&lt;/li&gt;&#xA;&lt;li&gt;экономия места дискового хранилища.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Продемонстрируем работу на примере дистрибутива Fedora/RHEL с использованием гипервизора Xen. Задача разбивается на следующие шаги:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;создание логического тома;&lt;/li&gt;&#xA;&lt;li&gt;установка на логический том виртуальной машины;&lt;/li&gt;&#xA;&lt;li&gt;удаление &amp;ldquo;машинозависимой&amp;rdquo; информации;&lt;/li&gt;&#xA;&lt;li&gt;создание снапшота логического тома;&lt;/li&gt;&#xA;&lt;li&gt;копирование и редактирование конфигурационного файла DomU;&lt;/li&gt;&#xA;&lt;li&gt;создание домена;&lt;/li&gt;&#xA;&lt;li&gt;для создания следующего домена переходим к пункту 4.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Если вы плохо знакомы с устройством и командами LVM2, то перед тем, как читать дальнейший текст, ознакомьтесь, например, с русскоязычной сатьей на &lt;a href=&#34;http://www.ibm.com/developerworks/ru/library/l-lvm2/&#34;&gt;IBM developerWorks Россия&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Linux Foundation: Примерная стоимость разработки Fedora 9 - $10.8 биллионов</title>
				<link>https://markelov.dev/posts/linux-foundation-fedora-9-108/</link>
				<pubDate>Wed, 22 Oct 2008 12:13:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/linux-foundation-fedora-9-108/</guid>
				<description>&lt;p&gt;На сайте Linux Foundation &lt;a href=&#34;http://www.linuxfoundation.org/publications/estimatinglinux.php&#34;&gt;опубликована статья&lt;/a&gt;, в которой рассматривается методика и приводятся расчеты стоимости разработки Fedora, если бы этот дистрибутив разрабатывался как проприетарная операционная система. У авторов статьи получилась примерная цифра $10.8 биллионов в долларах США 2008 года. Отдельно оценивалась стоимость разработки только ядра Linux, которая составила $1.4 биллионов.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Установка пара-виртуализированных гостевых систем при помощи kickstart cо Spacewalk- или Satellite-сервера &#34;в картинках&#34;</title>
				<link>https://markelov.dev/posts/kickstart-c-spacewalk-satellite/</link>
				<pubDate>Wed, 15 Oct 2008 11:24:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/kickstart-c-spacewalk-satellite/</guid>
				<description>&lt;p&gt;1) Подготавливам хост-систему&lt;/p&gt;&#xA;&lt;p&gt;Для начала убедимся, что хост-система зарегистрирована на Satellite- (или Spacewalk-) сервере. В случае, если это Sattelite-сервер, необходимо, чтобы система была подписана на каналы:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Red Hat Network Tools for Red Hat Enterprise Linux Server&lt;/li&gt;&#xA;&lt;li&gt;RHEL Virtualization&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Конечно, хост-система должна быть загружена с использованием ядра xen, и на ней должны быть установлены соответствующие пакеты. В противном случае отдаем команду:&lt;/p&gt;&#xA;&lt;p&gt;[root@rhel5 ~]# yum install -y xen virtual-manager kernel-xen&lt;/p&gt;&#xA;&lt;p&gt;и перезагружаемся с новым ядром. Убедиться, что система загружена с ядром xen, можно по выводу uname:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Анонс проекта Russian Fedora на Российском СПО-Саммите</title>
				<link>https://markelov.dev/posts/russian-fedora/</link>
				<pubDate>Wed, 08 Oct 2008 15:45:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/russian-fedora/</guid>
				<description>&lt;p&gt;Сегодня на Russian Open Source Summit (&lt;a href=&#34;http://www.ross-ru.ru/&#34;&gt;http://www.ross-ru.ru/&lt;/a&gt;) был анонсирован новый проект и проведен круглый стол, посвященный старту программы Russian Fedora, направленной на поддержку СПО-сообщества. Организаторами инициативы стали Red Hat, VDEL и ВНИИНС им. Соломатина.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/russian-fedora/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Полномасштабный запуск программы намечен на декабрь 2008 года. До этого времени будет сформировано ядро проекта, получен некий фидбэк от российского сообщества пользователей и разработчиков СПО. Это в большей степени организационный проект, который преследует следующие цели:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Настраиваем TLS/SASL-шифрование и аутентификацию в MTA Sendmail</title>
				<link>https://markelov.dev/posts/tlssasl-mta-sendmail-2/</link>
				<pubDate>Tue, 07 Oct 2008 09:54:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/tlssasl-mta-sendmail-2/</guid>
				<description>&lt;p&gt;При помощи механизма STARTTLS и сертификатов мы попробуем настроить взаимную аутентификацию и шифрование пересылаемой почты между двумя почтовыми серверами с MTA Sendmail. Также при помощи TLS защитим отправляемую клиентами на сервер почту и настроим почтовый релей для пересылки корреспонденции только тех пользователей, которые предъявят сертификат, выданный нашим центром сертификации (CA).&lt;/p&gt;&#xA;&lt;p&gt;STARTTLS (RFC 2487) является расширением протокола SMTP. STARTTLS в первую очередь предназначен для поддержки TLS-шифрования и аутентификации между двумя почтовыми серверами. Но как вы увидите далее, он с успехом может применяться и почтовыми клиентами.&lt;/p&gt;</description>
			</item>
			<item>
				<title>SELinux User Guide для Fedora 10</title>
				<link>https://markelov.dev/posts/selinux-user-guide-fedora-10/</link>
				<pubDate>Tue, 07 Oct 2008 07:52:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/selinux-user-guide-fedora-10/</guid>
				<description>&lt;p&gt;Релиз Fedora 10 не за горами, и уже сейчас желающие могут протестировать бета-версию дистрибутива. Еще одна бета-версия, но уже руководства по SELinux для Fedora 10, также доступна для ознакомления уже сейчас. Security-Enhanced Linux User Guide особенно актуален с учетом относительного «информационного голода» в том, что касается данной реализации системы мандатного контроля доступа. &lt;a href=&#34;http://mdious.fedorapeople.org/drafts/html/&#34;&gt;Приятного чтения&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Happy birthday Fedora!</title>
				<link>https://markelov.dev/posts/happy-birthday-fedora/</link>
				<pubDate>Wed, 24 Sep 2008 09:43:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/happy-birthday-fedora/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/happy-birthday-fedora/img-001.png&#34; alt=&#34;&#34;&gt;&lt;br&gt;&#xA;Пять лет и девять версий :) Приятно осознавать что там есть и моя сотня килобайт :)&lt;/p&gt;</description>
			</item>
			<item>
				<title>VMWare и Linux - более тесная интеграция</title>
				<link>https://markelov.dev/posts/vmware-linux/</link>
				<pubDate>Thu, 18 Sep 2008 10:31:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/vmware-linux/</guid>
				<description>&lt;p&gt;Хорошие новости. На конференции VMworld 2008 в Лас-Вегасе было объявлено о некоторых шагах, планируемых VMWare в рамках более широкой поддержки операционной систмы GNU/Linux:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Будет добавлена поддержка переноса машин P2V в VMware Converter для дистрибутивов RHEL, Ubuntu и SLES.&lt;/li&gt;&#xA;&lt;li&gt;VirtualCenter будет работать не только на Windows Server, но и на Linux. Добавляется поддержка кроссплатформенной базы данных и LDAP.&lt;/li&gt;&#xA;&lt;li&gt;VCB научиться работать на уровне файлов внутри виртуальных машин Linux. Возможно, появиться поддержка VCB proxy на Linux.&lt;/li&gt;&#xA;&lt;li&gt;VirtualCenter Client для Linux. Отпадет необходимость установки Windows на рабочей станции администратора VI.&lt;/li&gt;&#xA;&lt;li&gt;Улучшения за счет поддержки паравиртуализации на Linux-гостях.&lt;/li&gt;&#xA;&lt;li&gt;VMware Tools для большего числа дистрибутивов Linux (Debian, Gentoo, CentOS и openSUSE).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://vmetc.com/2008/09/17/linux-strategy-and-roadmap-ta3201/&#34;&gt;Источник&lt;/a&gt;. &amp;ldquo;Подсмотренно&amp;rdquo; в &lt;a href=&#34;http://www.vm4.ru/&#34;&gt;блоге Михаила Михеева&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Вышла новая версия свободного решения для управления Linux-инфраструктурой Spacewalk 0.2</title>
				<link>https://markelov.dev/posts/linux-spacewalk-02/</link>
				<pubDate>Wed, 17 Sep 2008 07:37:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/linux-spacewalk-02/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/linux-spacewalk-02/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Вчера &lt;a href=&#34;https://www.redhat.com/archives/spacewalk-list/2008-September/msg00041.html&#34;&gt;вышла&lt;/a&gt; новая версия ПО Spacewalk - open source решения для управления Linux-инфраструктурой. Spacewalk представляет собой давно развиваемый и открытый в июне этого года по лицензии GPL2 продукт Red Hat Network Satellite Server.&lt;/p&gt;&#xA;&lt;p&gt;Улучшения:&lt;/p&gt;&#xA;&lt;p&gt;- Для меня самое приятное, это то, что можно на одном сервере поддерживать несколько дистрибутивов, например, Fedora и CentOS.&lt;br&gt;&#xA;- Улучшенный поиск по опубликованным на сервере Spacewalk ошибкам/исправлениям&lt;br&gt;&#xA;- Новый API&lt;br&gt;&#xA;- Продолжен перевод кода с perl на java&lt;br&gt;&#xA;- По сравнению с релизом 0.1 исправленно 38 ошибок&lt;br&gt;&#xA;- Перевод всех rpm-пакетов на систему сборки koji&lt;br&gt;&#xA;- В репозитории теперь будут храниться два релиза - текущий и предыдущий (см. &lt;a href=&#34;https://hosted.fedoraproject.org/spacewalk/wiki/HowToInstall#Installation&#34;&gt;https://hosted.fedoraproject.org/spacewalk/wiki/HowToInstall#Installation&lt;/a&gt;)&lt;/p&gt;</description>
			</item>
			<item>
				<title>Видео: oVirt - система виртуализации c открытым исходным кодом</title>
				<link>https://markelov.dev/posts/ovirt-c/</link>
				<pubDate>Thu, 11 Sep 2008 07:55:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/ovirt-c/</guid>
				<description>&lt;p&gt;На «виртуальных страницах» журнала Red Hat Magazine размещены две части видео о новой системе виртуализации c открытым исходным кодом oVirt (&lt;a href=&#34;http://www.ovirt.org/&#34;&gt;http://www.ovirt.org/&lt;/a&gt;). Система включает в себя управляющее ПО и гипервизор на основе KVM. В роликах можно увидеть, как выглядит графический интерфейс управляющего ПО и процесс развертывания гипервизора (embedded hypervisor).&lt;/p&gt;&#xA;&lt;p&gt;В настоящий момент проект находится в стадии бета-тестирования. Исходный код и двоичные файлы доступны на официальном сайте. К концу года проект должен быть готов к промышленному применению. В качестве гостевых операционных систем могут выступать как Red Hat Enterprise Linux так и Microsoft Windows.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Переход на новые репозитории и ключи для Fedora 8 и Fedora 9</title>
				<link>https://markelov.dev/posts/fedora-8-fedora-9/</link>
				<pubDate>Wed, 10 Sep 2008 14:02:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fedora-8-fedora-9/</guid>
				<description>&lt;p&gt;После инциндента с компроментацией инфраструктурных серверов Fedora, были заменены ключи, используемые для подписи пакетов, и изменено месторасположение репозиториев с обновлениями. Процедура перехода на новые репозитории максимально упрощена.&lt;/p&gt;&#xA;&lt;p&gt;Сегодня для систем, работающих со старыми репозиториями, стали доступны обновления:&lt;/p&gt;&#xA;&lt;p&gt;[root@f9-server ~]# yum check-update&lt;br&gt;&#xA;Loaded plugins: presto, refresh-packagekit&lt;br&gt;&#xA;PackageKit.i386&lt;/p&gt;&#xA;&lt;p&gt;0.2.5-1.fc9 updates&lt;br&gt;&#xA;PackageKit-libs.i386  0.2.5-1.fc9 updates&lt;br&gt;&#xA;fedora-release.noarch  9-5.transition updates&lt;br&gt;&#xA;gnome-packagekit.i386  0.2.5-2.fc9 updates&lt;br&gt;&#xA;yum-packagekit.i386  0.2.5-1.fc9 updates&lt;/p&gt;&#xA;&lt;p&gt;После установки пакетов утилиты yum, PackageKit и pirut будут видеть новые репозитории и достаточно большое число обновленных пакетов:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Новые курсы Red Hat в России</title>
				<link>https://markelov.dev/posts/red-hat-11/</link>
				<pubDate>Mon, 08 Sep 2008 11:40:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-11/</guid>
				<description>&lt;p&gt;Несколько месяцев назад компания Red Hat объявила о доступности новых курсов в рамках компетенции RHCE. Как минимум в одном московском учебном центре они уже стоят в расписании, и у меня, c учетом загрузки на основной работе, есть возможность их в этом УЦ прочесть :)&lt;/p&gt;&#xA;&lt;p&gt;Первый курс посвящен виртуализации в Red Hat Enterprise Linux, а второй - методикам и средствам устранения неисправностей в Linux.&lt;/p&gt;&#xA;&lt;p&gt;Кратко о курсах:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.europe.redhat.com/training/course/RH184&#34;&gt;RH184&lt;/a&gt; Виртуализация в Red Hat Enterprise Linux (2 дня)&lt;/p&gt;</description>
			</item>
			<item>
				<title>&#34;Книжная полка&#34; журнала &#34;Системный администратор&#34; (Часть 2)</title>
				<link>https://markelov.dev/posts/2/</link>
				<pubDate>Mon, 01 Sep 2008 06:16:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/2/</guid>
				<description>&lt;p&gt;Продолжение &lt;a href=&#34;http://markelov.blogspot.com/2008/07/1.html&#34;&gt;поста&lt;/a&gt; с материалами &amp;ldquo;Книжной полки&amp;rdquo; журнала &amp;ldquo;Системный администратор&amp;rdquo;&amp;hellip; В декабре, когда планирую поехать &amp;ldquo;добить&amp;rdquo; RHCA, сделаю, пожалуй, в написании обзоров первый перерыв за полтора года. А пока продолжаю выкладывать обзоры из относительно старых номеров.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/2/img-001.jpg&#34; alt=&#34;&#34;&gt;Защитные средства с открытыми исходными текстами&lt;br&gt;&#xA;Тони Хаулет&lt;br&gt;&#xA;Издательство:«БИНОМ»&lt;br&gt;&#xA;Год издания:2007&lt;br&gt;&#xA;Количество страниц:608&lt;br&gt;&#xA;ISBN:978-5-94774-629-7&lt;/p&gt;&#xA;&lt;p&gt;Большинство компаний малого и среднего бизнеса не могут позволить себе наличие в штате инженера по информационной безопасности (ИБ) и отдельный бюджет на средства защиты информации. В таких случаях вопросами ИБ занимается сетевой или системный администратор, который не может уделять достаточно времени (и средств из общего IT-бюджета) на выбор, приобретение, изучение и внедрение средств ИБ. Именно для такой, весьма широкой, аудитории IT-специалистов и предназначена книга. Положительными сторонами книги можно считать, что рассмотренные концепции требуют минимального уровня компьютерной и сетевой подготовки. И, конечно, описанное в книге ПО поставляется с открытыми исходными текстами, в большинстве случаев стоя столько, сколько вы заплатите провайдеру за потраченный на скачивание трафик.&lt;br&gt;&#xA;Издание носит практический характер и, что часто случается в книгах, посвященных открытому программному обеспечению, не забывает и администраторов Windows-систем. Всего рассмотрено около 50 программ и наборов инструментов. Из них примерно треть работает в среде Windows. Необходимо заметить, что хотя в подзаголовок вынесено «Учебное пособие», это издание скорее структурированный сборник описаний ПО. Кроме того, оригинал вышел в 2005 году, а IT‑технологии на месте не стоят. Какие же классы защитных средств рассмотрены в книге? Общие средства уровня ОС, межсетевые экраны, сканеры портов, сканеры уязвимостей, сетевые анализаторы, системы обнаружения вторжений, средства анализа и управления, криптографические средства, средства для беспроводных систем и менее актуальный для России класс судебных средств.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Статья &#34;Настройка TLS/SASL-шифрования и аутентификации в MTA Sendmail&#34;</title>
				<link>https://markelov.dev/posts/tlssasl-mta-sendmail/</link>
				<pubDate>Fri, 29 Aug 2008 07:12:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/tlssasl-mta-sendmail/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/tlssasl-mta-sendmail/img-001.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;В августовском номере журнала «&lt;a href=&#34;http://www.samag.ru/&#34;&gt;Системный администратор»&lt;/a&gt; опубликована моя статья &amp;ldquo;Настройка TLS/SASL-шифрования и аутентификации в MTA Sendmail&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;При помощи механизма STARTTLS и сертификатов мы попробуем настроить взаимную аутентификацию и шифрование пересылаемой почты между двумя почтовыми серверами с MTA Sendmail. Также при помощи TLS защитим отправляемую клиентами на сервер почту и настроим почтовый релей для пересылки корреспонденции только тех пользователей, которые предъявят сертификат, выданный нашим центром сертификации (CA).&lt;/p&gt;&#xA;&lt;p&gt;STARTTLS (RFC 2487) является расширением протокола SMTP. И в первую очередь предназначен для поддержки TLS-шифрования и аутентификации между двумя почтовыми серверами. Но как мы увидим далее он с успехом может применяться и почтовыми клиентами.&amp;rdquo;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Новый &#34;Мастер&#34; в system-config-selinux</title>
				<link>https://markelov.dev/posts/system-config-selinux/</link>
				<pubDate>Thu, 28 Aug 2008 10:12:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/system-config-selinux/</guid>
				<description>&lt;p&gt;Ден Уолш &lt;a href=&#34;http://danwalsh.livejournal.com/22020.html&#34;&gt;рассказал&lt;/a&gt; о добавлении в утилиту system-config-selinux мастера Boolean Lockdown Wizard. Он позволяет включать/выключать/сбрасывать в значение по умолчанию переключатели SELinux (booleans). Самое приятное отличие этого мастера от пункта Boolean в system-config-selinux - это возможность на финальном шаге через GUI сохранить текущее значение переключателей в файл.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/system-config-selinux/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Когда поддержка сформированных таким образом файлов будет добавлена в IPA, системный администратор сможет централизованно применять соответствующие настройки ко всем или части машин на предприятии.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Spacewalk - загружаем содержимое канала и регистрируем систему</title>
				<link>https://markelov.dev/posts/spacewalk/</link>
				<pubDate>Fri, 22 Aug 2008 13:32:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/spacewalk/</guid>
				<description>&lt;p&gt;После &lt;a href=&#34;http://markelov.blogspot.com/2008/08/spacewalk-open-source-linux.html&#34;&gt;установки Spacewalk-сервера&lt;/a&gt; необходимо как минимум :&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Создать один базовый канал, содержащий пакеты определенной ОС. В настоящий момент из-за технческих ограничений на одном сервере нельзя одновременно создавать каналы нескольких дистрибутивов (Fedora, CentOS, или RHEL), но можно создавать каналы разных версий одного дистрибутива,например, CentOS 5 и 4.&lt;/li&gt;&#xA;&lt;li&gt;Создать ключ активации&lt;/li&gt;&#xA;&lt;li&gt;Зарегистрировать на сервере вашу систему&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Естественно, перед этим вам нужно выкачать пакеты, которые мы будем заливать в соответствующий канал.&lt;/p&gt;&#xA;&lt;p&gt;Для Fedora 9 утилитой wget:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Spacewalk - open source решение для управления Linux-инфраструктурой уровня предприятия</title>
				<link>https://markelov.dev/posts/spacewalk-open-source-linux/</link>
				<pubDate>Tue, 19 Aug 2008 12:48:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/spacewalk-open-source-linux/</guid>
				<description>&lt;p&gt;В июне 2008 года компания Red Hat анонсировала проект Spacewalk, являющийся open source решением для управления Linux-инфраструктурой. Spacewalk представляет собой открытый по лицензии GPL2 продукт Red Hat Network Satellite Server, имеющий давнюю, с 2001 года, историю разработки.&lt;/p&gt;&#xA;&lt;p&gt;Сервер Spacewalk обслуживает весь жизненный цикл Linux-инфраструктуры и решает следующие задачи:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Сбор информации о системах (аппаратное обеспечение и установленное ПО)&lt;/li&gt;&#xA;&lt;li&gt;Установка и обновление операционных систем&lt;/li&gt;&#xA;&lt;li&gt;Установка и обновление программного обеспечения&lt;/li&gt;&#xA;&lt;li&gt;Установка систем при помощи kickstart-файлов&lt;/li&gt;&#xA;&lt;li&gt;Управление и распространение конфигурационных файлов&lt;/li&gt;&#xA;&lt;li&gt;Мониторинг систем&lt;/li&gt;&#xA;&lt;li&gt;Установка виртуальных машин&lt;/li&gt;&#xA;&lt;li&gt;Запуск/остановка/настройка виртуальных машин&lt;/li&gt;&#xA;&lt;li&gt;Работа с географически-распределенной сетью&lt;/li&gt;&#xA;&lt;li&gt;Автоматизация задач системного администрирования&lt;/li&gt;&#xA;&lt;li&gt;Распределение ролей администраторов и группировка систем&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Установка Spacewalk несколько сложнее, чем Satellite Server, в основном за счет того, что сервер баз данных нужно ставить отдельно.&lt;br&gt;&#xA;Последняя версия Satellite Server 5.1 Устанавливается на Red Hat Enterprise Linux 4 AS и поставляется вместе со встроенной базой данных (Oracle Server 9.2 Embedded Database), но при желании можно использовать отдельную БД на отдельном сервере. Самый простой способ инсталляции Spacewalk - установить бесплатный Oracle Database 10g Express Edition.&lt;br&gt;&#xA;На сайте помимо исходных кодов анонсированы два репозитория с бинарными rpm-пакетами для Red Hat Enterprise Linux 5 (CentOS) и Fedora 9. Пакеты серверной части решения в настоящий момент присутствуют только в репозиториях для Red Hat Enterprise Linux 5 (CentOS).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Создание &#34;живой флешки&#34; с Fedora 9 одним кликом - liveusb-creator</title>
				<link>https://markelov.dev/posts/fedora-9-liveusb-creator/</link>
				<pubDate>Fri, 15 Aug 2008 08:32:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fedora-9-liveusb-creator/</guid>
				<description>&lt;p&gt;Если вы хотите попробовать работу с Fedora, но не хотите удалять существующую операционную систему и возиться с записью дисков, у вас есть возможность создать так называемую &amp;ldquo;живую флешку&amp;rdquo; (Live USB Key). У &amp;ldquo;флешки&amp;rdquo; есть одно неоспоримое приемущество перед &amp;ldquo;живым диском&amp;rdquo; (LiveCD) - на самом же носителе можно сохранять какие-либо данные между перезагрузками и настройки операционной системы.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/fedora-9-liveusb-creator/img-001.png&#34; alt=&#34;&#34;&gt;&lt;br&gt;&#xA;Для того, чтобы понизить &amp;ldquo;порог вхождения&amp;rdquo; пользователей с других операционных систем, была разработанна кросплатформенная графическая утилита для создания &amp;ldquo;живой флешки&amp;rdquo; одним кликом мыши. При необходимости сама утилитка выкачает необходимый iso-образ. Можно выбрать между 32- и 64-разрядными образами Fedora 9 или 8. Также можно выбрать образ с KDE вместо Gnome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Руководства по подготовке к экзаменам RHCA.</title>
				<link>https://markelov.dev/posts/rhca-3/</link>
				<pubDate>Mon, 11 Aug 2008 13:59:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhca-3/</guid>
				<description>&lt;p&gt;Руководство по подготовке к лабораторным сертификационным экзаменам RHCE/RHCT доступно уже давно. В том числе и в переводе на &lt;a href=&#34;http://www.rhd.ru/rhce_prepguide.php&#34;&gt;русский язык.&lt;/a&gt; А вот руководства по подготовке к &amp;ldquo;старшим&amp;rdquo; экзаменам на RHCA/RHCSS/RHCDS я заметил только несколько недель назад, хотя они выложены уже около года. Самое главное в этих руководствах - список тем соответствующего экзамена на Certificate of Expertise (с сентября прошлого года Certificates of Expertise отмечают каждую из сданных &amp;ldquo;лаб&amp;rdquo;).&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.redhat.com/certification/ex333/prep_guide/&#34;&gt;EX333 Security: Network Services&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://https//www.redhat.com/certification/ex423/prep_guide/&#34;&gt;EX423 Directory Services and Authentication&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.redhat.com/certification/ex429/prep_guide/&#34;&gt;EX429 SELinux Policy Administration&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.redhat.com/certification/ex401/prep_guide/&#34;&gt;EX401 Deployment, Virtualization, and Systems Management Exam&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.redhat.com/certification/ex436/prep_guide/&#34;&gt;EX436 Clustering and Storage Management Exam&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.redhat.com/certification/ex442/prep_guide/&#34;&gt;EX442 System Monitoring and Performance Tuning&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;В прошлую пятницу сдавал в Farnborough самый длинный из всех экзаменов - &lt;a href=&#34;https://www.redhat.com/certification/ex333/prep_guide/&#34;&gt;EX333 Security: Network Services&lt;/a&gt; (3+3 часа). Экзамен показался сложнее, чем EX423 Directory Services and Authentication (по широте охвата тем), но в принципе отведенного времени вполне хватило. Вторую часть даже закончил на сорок минут раньше :). Кстати, Farnborough - является местом проведения одноименного авиасалона. На фотографии рядом с офисом Red Hat, который перебрался туда из Guilford, видно огромное металлическое сооружение (71 на 26 метров), назначение которого в первый раз меня поставило в тупик. Оказалось, что оно исключительно декоративное/познавательное.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Sectool — утилита аудита безопасности систем основанных на Fedora/RHEL</title>
				<link>https://markelov.dev/posts/sectool-fedorarhel/</link>
				<pubDate>Tue, 05 Aug 2008 14:24:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/sectool-fedorarhel/</guid>
				<description>&lt;p&gt;sectool — &lt;a href=&#34;https://fedorahosted.org/sectool/wiki/WishList&#34;&gt;активно развивающийся&lt;/a&gt; инструмент аудита настроек безопасности и локальная IDS для дистрибутивов, основанных на Fedora. Включает в себя ряд тестов для различных аспектов настройки системы, служб и т.д. В настоящий момент их около тридцати. Тесты независимы от языка программирования (Perl, Python, Bash, &amp;hellip;) и их можно писать самостоятельно (на сайте проекта доступна документация).&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/sectool-fedorarhel/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Имеется как графический, так и интерфейс командной строки. В графике проверка сводится к выбору настраиваемого класса тестов (Базовый, Рабочая станция, Сеть, Сервер, «Параноик») и нажатию кнопки запуска анализа системы. Естественно имеется гибкая система настроек, сравнение результатов проверок, отправка отчетов по электронной почте и т.д.&lt;/p&gt;</description>
			</item>
			<item>
				<title>О будущем RHEL в  on-line журнале Red Hat Magazine</title>
				<link>https://markelov.dev/posts/rhel-on-line-red-hat-magazine/</link>
				<pubDate>Sat, 02 Aug 2008 14:27:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhel-on-line-red-hat-magazine/</guid>
				<description>&lt;p&gt;В on-line журнале &lt;a href=&#34;http://www.redhatmagazine.com/&#34;&gt;Red Hat Magazine&lt;/a&gt; опубликована статья в двух частях, позволяющая заглянуть в будущее дистрибутива Red Hat Enterprise Linux. Как известно, программные продукты серии Enterprise Linux строятся на основе наработок проекта Fedora. Узнать что будет &amp;ldquo;завтра&amp;rdquo; в Red Hat Enterprise Linux можно посмотрев на Fedora сегодня. В статье рассмотрены новшества в следующих подсистемах:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Работа с дисплеем (XRandr)&lt;/li&gt;&#xA;&lt;li&gt;Новое в управлении пакетами&lt;/li&gt;&#xA;&lt;li&gt;PolicyKit - замена userhelper для запуска в GUI непривилегированным пользователем приложений, требующих расширенных полномочий&lt;/li&gt;&#xA;&lt;li&gt;Новое в управлении питанием (по одному из исследований Red Hat Enterprise Linux 5 потребляет на 12% меньше, чем Microsoft® Windows® на том же оборудовании)&lt;/li&gt;&#xA;&lt;li&gt;Новшества в NetworkManager&lt;/li&gt;&#xA;&lt;li&gt;Шифрованные разделы диска&lt;/li&gt;&#xA;&lt;li&gt;Новое в PulseAudio&lt;/li&gt;&#xA;&lt;li&gt;Переключение пользователей&lt;/li&gt;&#xA;&lt;li&gt;Виртуальная файловая система GVFS&lt;/li&gt;&#xA;&lt;li&gt;О смене гипервизора с Xen на KVM&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.redhatmagazine.com/2008/07/29/whats-next-in-red-hat-enterprise-linux-part-1/&#34;&gt;Часть 1&lt;/a&gt;.&lt;br&gt;&#xA;&lt;a href=&#34;http://www.redhatmagazine.com/2008/07/31/whats-next-in-red-hat-enterprise-linux-part-2/&#34;&gt;Часть 2.&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Kerberized NFSv4 issue in RHEL 5.1</title>
				<link>https://markelov.dev/posts/kerberized-nfsv4-issue-in-rhel-51/</link>
				<pubDate>Tue, 29 Jul 2008 09:16:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/kerberized-nfsv4-issue-in-rhel-51/</guid>
				<description>&lt;p&gt;При настройке NFSv4 в связке с Kerberos на сервере с Red Hat Enterprise Linux 5.1 столкнулся с тем, что в Kerberos был изменен алгоритм по умолчанию с des-cbc-crc на 3des-cbc-hmac. Это конечно здорово, но вот NFSv4 работает только с алгоритмом шифрования des-cbc-crc.&lt;br&gt;&#xA;Соответственно, когда добавляем созданного принципала nfs/stationX.example.com в /etc/krb5.keytab нужно в ktadd указать алгоритм:&lt;/p&gt;&#xA;&lt;p&gt;kadmin: ktadd -e des-cbc-crc:normal -k /etc/krb5.keytab \&lt;br&gt;&#xA;nfs/stationX.example.com&lt;/p&gt;&#xA;&lt;p&gt;В противном случае получаем в /var/log/messages ошибку:&lt;/p&gt;</description>
			</item>
			<item>
				<title>&#34;Социальная инженерия&#34; :)</title>
				<link>https://markelov.dev/posts/blog-post-11/</link>
				<pubDate>Mon, 14 Jul 2008 12:16:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-11/</guid>
				<description>&lt;p&gt;Порадовал опрос на сайте rbc.ru, который заканчивается в 11:00 15 июля - см. рисунок :)&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/blog-post-11/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>&#34;Книжная полка&#34; журнала &#34;Системный администратор&#34;  (Часть 1)</title>
				<link>https://markelov.dev/posts/1/</link>
				<pubDate>Sun, 13 Jul 2008 11:24:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/1/</guid>
				<description>&lt;p&gt;Последний год веду в журнале «Системный администратор» рубрику обзоров «Книжная полка». Хотя весь объем выходящей компьютерной литературы охватить просто не реально, но большая масса новинок мимо меня не проходит, а с четырьмя книгами в месяц можно познакомиться более-менее подробно. Поскольку спустя какое-то время редакция разрешает выкладывать тексты в интернет, ниже привожу часть обзоров самых интересных книг попавших на «книжную полку».&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/1/img-001.jpg&#34; alt=&#34;&#34;&gt;Операционные системы: разработка и реализация. 3-е издание&lt;br&gt;&#xA;Эндрю Таненбаум, Альберт Вудхалл&lt;br&gt;&#xA;Издательство: «Питер»&lt;br&gt;&#xA;Год издания: 2007&lt;br&gt;&#xA;Количество страниц: 704&lt;br&gt;&#xA;ISBN: 978-5-469-01403-4&lt;/p&gt;</description>
			</item>
			<item>
				<title>Новая статья в Red Hat Magazine посвященная SELinux</title>
				<link>https://markelov.dev/posts/red-hat-magazine-selinux/</link>
				<pubDate>Thu, 03 Jul 2008 07:55:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-magazine-selinux/</guid>
				<description>&lt;p&gt;В Red Hat Magazine вышла новая статья &amp;ldquo;&lt;a href=&#34;http://www.redhatmagazine.com/2008/07/02/writing-policy-for-confined-selinux-users/&#34;&gt;Writing policy for confined SELinuxusers&lt;/a&gt; &amp;ldquo;, написанная Dan Walsh. В ней Dan на примере двух простых задач описывает как при помощи мастера создания модулей политики&lt;br&gt;&#xA;в утилите system-config-selinux можно модифицировать существующий тип пользователя и как добавить новый.&lt;/p&gt;&#xA;&lt;p&gt;В первом примере модифицируется политика для xguest, позволяя этому пользователю не только запускать браузер, но и работать с IM по протоколу&lt;br&gt;&#xA;AIM/AOL. Во втором примере создается новый тип пользователя, которому разрешено пользоваться терминалом, отправлять почту и читать/писать&lt;br&gt;&#xA;в /maildir.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Основные анонсы Саммита Red Hat в Бостоне</title>
				<link>https://markelov.dev/posts/red-hat-7/</link>
				<pubDate>Fri, 20 Jun 2008 14:06:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-7/</guid>
				<description>&lt;ul&gt;&#xA;&lt;li&gt;Представлена новая система виртуализации &lt;a href=&#34;http://www.ovirt.org/&#34;&gt;http://www.ovirt.org/&lt;/a&gt;. Включает в себя управляющее ПО и 64Мб образ гипервизора на основе KVM. В настоящий момент проект находится в стадии бета-тестирования. Предполагается, что приблизительно к концу года проект будет готов к промышленному применению. В качестве гостевых операционных систем могут выступать как Red Hat Enterprise Linux так и Microsoft Windows. Постараюсь на следующих выходных развернуть это &amp;ldquo;безобразие&amp;rdquo; на парочке DL320. После - опишу в блоге.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;!--THE END--&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Открыт исходный код проприетарного продукта Red Hat Network (RHN) Satellite Server. Проект которому было дано имя Spacewalk расположен на сайте &lt;a href=&#34;http://www.redhat.com/spacewalk/&#34;&gt;http://www.redhat.com/spacewalk/&lt;/a&gt;. Основные функции продукта: инвентаризация систем (аппаратное и программное обеспечение); установка и обновление ПО и операционных систем на серверах и рабочих станциях; управление конфигурационными файлами; мониторинг серверов, рабочих станций и виртуальных машин. Это пожалуй сразу в &amp;ldquo;продакшен&amp;rdquo; для управления тестовыми серверами и виртуалками в лабе :) Заодно опыт для сдачи &lt;a href=&#34;https://www.redhat.com/courses/ex401_red_hat_enterprise_deployment_virtualization_and_systems_management_expertise_exam/&#34;&gt;401 экзамена&lt;/a&gt; накоплю :)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;!--THE END--&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Анонсирован новый продукт под названием Red Hat Enterprise IPA, являющийся решением с открытым исходным кодом для управления доступом и учетными данными. Red Hat Enterprise IPA осуществляет централизованную аутентификацию, управление политиками доступа и аудита для компьютеров, пользователей и сервисов в Unix и Linux-окружениях. В состав решения входят ряд служб, в том числе: LDAP, Kerberos и RADIUS. Помимо этого существуют средства для интеграции с другими сервисами каталогов, включая Active Directory и утилиты для миграции с NIS. Для упрощения работы с Red Hat Enterprise IPA в состав решения входит консоль управления с web-интерфейсом. Про Red Hat Enterprise IPA &lt;a href=&#34;http://markelov.blogspot.com/2008/06/red-hat-enterprise-ipa.html&#34;&gt;я писал вчера&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Время полной поддержки дистрибутивов Red Hat Enterprise Linux версий 4 и 5 продлено на один год. Выпуск обновлений связанных с безопасностью продлен до 2012 и 2014 года соответственно.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
			</item>
			<item>
				<title>Red Hat Enterprise IPA</title>
				<link>https://markelov.dev/posts/red-hat-enterprise-ipa/</link>
				<pubDate>Thu, 19 Jun 2008 11:30:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-enterprise-ipa/</guid>
				<description>&lt;p&gt;Сегодня компания Red Hat &lt;a href=&#34;http://www.press.redhat.com/2008/06/19/introducing-red-hat-enterprise-ipa-10/&#34;&gt;анонсировала&lt;/a&gt; новый продукт под названием Red Hat Enterprise IPA, являющийся решением с открытым исходным кодом для управления доступом и учетными данными. Red Hat Enterprise IPA осуществляет централизованную аутентификацию, управление политиками доступа и аудита для компьютеров, пользователей и сервисов в Unix и Linux-окружениях. В состав решения входят ряд служб, в том числе: LDAP, Kerberos и RADIUS. Помимо этого существуют средства для интеграции с другими сервисами каталогов, включая Active Directory и утилиты для миграции с NIS. Для упрощения работы с Red Hat Enterprise IPA в состав решения входит консоль управления с web-интерфейсом.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Некоторые новшества в Fedora 9 с точки зрения SELinux</title>
				<link>https://markelov.dev/posts/fedora-9-selinux/</link>
				<pubDate>Tue, 17 Jun 2008 12:13:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fedora-9-selinux/</guid>
				<description>&lt;p&gt;Месяц назад вышла девятая версия Linux-дистрибутива общего назначения Fedora. В этом посте я хотел бы продолжить разговор о системе мандатного контроля доступа SELinux и кратко рассмотреть, что же нового появилось в этой подсистеме c выходом Fedora 9. Для простоты давайте пройдемся по соответствующей секции Release Notes и разберем каждый из пунктов.&lt;/p&gt;&#xA;&lt;p&gt;1) guest_t does not allow running setuid binaries, making network connections, or using a GUI.&lt;/p&gt;&#xA;&lt;p&gt;Собственно, тип guest_t был добавлен еще в Fedora 8. Проведем эксперимент:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Photos from Russian Open Source Summit (May 28-29 2008)</title>
				<link>https://markelov.dev/posts/photos-from-russian-open-source-summit/</link>
				<pubDate>Thu, 29 May 2008 19:09:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/photos-from-russian-open-source-summit/</guid>
				<description>&lt;p&gt;Ru: Только не официальная часть :) Конференция, организованная &lt;a href=&#34;http://www.vdel.ru/summit/080528_agenda&#34;&gt;VDEL&lt;/a&gt; проходила 28-29 мая в спортивном парке Волен. Первый день - Red Hat Workshop и JBoss Workshop. Второй день – доклады партнеров.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/photos-from-russian-open-source-summit/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;br&gt;&#xA;&lt;img src=&#34;https://markelov.dev/posts/photos-from-russian-open-source-summit/img-002.jpg&#34; alt=&#34;&#34;&gt;&lt;br&gt;&#xA;&lt;img src=&#34;https://markelov.dev/posts/photos-from-russian-open-source-summit/img-003.jpg&#34; alt=&#34;&#34;&gt;&lt;br&gt;&#xA;&lt;img src=&#34;https://markelov.dev/posts/photos-from-russian-open-source-summit/img-004.jpg&#34; alt=&#34;&#34;&gt;&lt;img src=&#34;https://markelov.dev/posts/photos-from-russian-open-source-summit/img-005.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>IT-conference in Kaliningrad (May 23 2008)</title>
				<link>https://markelov.dev/posts/it-conference-in-kaliningrad-may-23/</link>
				<pubDate>Mon, 26 May 2008 08:44:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/it-conference-in-kaliningrad-may-23/</guid>
				<description>&lt;p&gt;Ru: На прошлой неделе с коллегой ездили в Калининград на &lt;a href=&#34;http://www.39print.ru/it-seminar-2008-may.phtml&#34;&gt;семинар&lt;/a&gt; для ИТ-директоров, организованный «Весткомп Плюс». Коллега рассказывал про Business Intelligence, я — про виртуализацию. Очень понравился город. Кафедральный собор (с «пристройкой» — могилой Канта) по размерам конечно не Вестминстер и не Кентербери, но все-равно производит впечатление. В субботу организаторы возили нас на морскую рыбалку. В трех бальный шторм на небольшом катере это выглядело как американские горки :) На берегу балтийского моря за двадцать минут можно было набрать небольшую горсть янтаря, чем и занимались местные жители.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Fedora 9: Как решить проблему установки на русском языке</title>
				<link>https://markelov.dev/posts/fedora-9/</link>
				<pubDate>Tue, 13 May 2008 06:31:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fedora-9/</guid>
				<description>&lt;p&gt;Ru: Сегодня выходит Fedora 9. Ура! :) Для русскоязычных пользователей важно ознакомиться с решением проблемы при установки, которая специфична именно для русского языка. Исправление ошибки не успело попасть в финальный ISO-образ. Самый простой способ решения проблемы — установка на английском языке и изменение основного языка после окончания установки.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://fedoraproject.org/wiki/ru_RU/Releases/9/InstallationFailed&#34;&gt;http://fedoraproject.org/wiki/ru_RU/Releases/9/InstallationFailed&lt;/a&gt; — пути решения для пользователей&lt;br&gt;&#xA;&lt;a href=&#34;https://bugzilla.redhat.com/show_bug.cgi?id=445517&#34;&gt;https://bugzilla.redhat.com/show_bug.cgi?id=445517&lt;/a&gt; — ошибка в Bugzilla&lt;/p&gt;</description>
			</item>
			<item>
				<title>Flask in OpenSolaris</title>
				<link>https://markelov.dev/posts/flask-in-opensolaris/</link>
				<pubDate>Mon, 07 Apr 2008 14:40:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/flask-in-opensolaris/</guid>
				<description>&lt;p&gt;На конференции &lt;a href=&#34;http://www.sun.ru/techdays&#34;&gt;Sun Tech Days 2008&lt;/a&gt; удалось немного побеседовать с &lt;a href=&#34;http://blogs.sun.com/gfaden/&#34;&gt;Glenn Faden&lt;/a&gt; касательно будущей реализации Flux Advanced Security Kernel (Flask) в OpenSolaris. По его словам, повторного использования кода/конвертора Reference Policy из SELinux не будет. Язык описания политик также будет свой (из-за несовместимости лицензий). Однако, он будет «очень похож». &lt;a href=&#34;http://opensolaris.org/os/project/fmac/&#34;&gt;Проект&lt;/a&gt; пока находится в начальной стадии. Каких-либо новостей следует ожидать через несколько месяцев.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/flask-in-opensolaris/img-001.jpg&#34; alt=&#34;&#34;&gt;А Питер - отличное место для проведения подобных мероприятий :)&lt;/p&gt;</description>
			</item>
			<item>
				<title>SELinux in news</title>
				<link>https://markelov.dev/posts/selinux-in-news/</link>
				<pubDate>Thu, 20 Mar 2008 20:27:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/selinux-in-news/</guid>
				<description>&lt;p&gt;Ru: Очередная поездка в Фарнборо (на этот раз для &lt;a href=&#34;http://www.redhat.com/training/certification/verify/?rhce_cert_display%3Acertno=804005110317209&amp;amp;rhce_cert_display%3Averify_cb=Verify&#34;&gt;сдачи экзамена EX423&lt;/a&gt; по RHDS), а сразу после этого двухнедельные курсы VMWare, спровоцировали появление 1000+ непрочитанных сообщений в заброшенной RSS-читалке. Разгребая эти залежи, не могу не отметить пару интересных новостей, касающихся SELinux.&lt;/p&gt;&#xA;&lt;p&gt;Во-первых, проект OpenSolaris интегрирует использованную в SELinux схему безопасности Flask/Type Enforcement в свою операционную систему. Называется это дело Flexible Mandatory Access Control (FMAC), и имеет свою &lt;a href=&#34;http://www.opensolaris.org/os/project/fmac/&#34;&gt;страничку на сайте проекта&lt;/a&gt;. Помимо Sun Microsystems, вклад в разработку FMAC вносит и АНБ – «родитель» SELinux. Таким образом, операционных систем, использующих данную модель безопасности, становиться все больше и больше. Не следует забывать и про существующую поддержку Flask/TE на уровне приложений, например СУБД (PostgreSQL) или средств виртуализации (гипервизор Xen).&lt;/p&gt;</description>
			</item>
			<item>
				<title>FDS 1.1 review from &#34;System Administrator&#34; magazine on my home page</title>
				<link>https://markelov.dev/posts/fds-11-review-from-magazine-system/</link>
				<pubDate>Mon, 10 Mar 2008 11:31:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fds-11-review-from-magazine-system/</guid>
				<description>&lt;p&gt;Ru: В первом номере журнала «Системный администратор» за 2008 год опубликован мой обзор сервера каталогов FDS 1.1. С разрешения редакции обзор &lt;a href=&#34;http://www.markelov.net/articles.php?lng=ru&amp;amp;pg=2363&#34;&gt;размещен на сайте&lt;/a&gt;&lt;a href=&#34;http://www.markelov.net/articles.php?lng=ru&amp;amp;pg=2363&#34;&gt;.&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Run ESX Server 3i from usb stick</title>
				<link>https://markelov.dev/posts/run-esx-server-3i-from-usb-stick/</link>
				<pubDate>Thu, 14 Feb 2008 13:54:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/run-esx-server-3i-from-usb-stick/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/run-esx-server-3i-from-usb-stick/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;br&gt;&#xA;Скачиваем c сайта vmware.com файл дистрибутива VMware-VMvisor-InstallerCD-3.5.0-70348.i386.iso&lt;/p&gt;&#xA;&lt;p&gt;Далее:&lt;/p&gt;&#xA;&lt;p&gt;# mount -o ro,loop VMware-VMvisor-InstallerCD-3.5.0-70348.i386.iso /mnt&lt;br&gt;&#xA;# tar xvzf /mnt/install.tgz usr/lib/vmware/installer/VMware-VMvisor-big-3.5.0-70348.i386.dd.bz2&lt;br&gt;&#xA;# bunzip2 usr/lib/vmware/installer/VMware-VMvisor-big-3.5.0-70348.i386.dd.bz2&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Флешка&amp;rdquo; (например /dev/sdb) должна быть не меньше 1Гб.&lt;/p&gt;&#xA;&lt;p&gt;# dd if=usr/lib/vmware/installer/VMware-VMvisor-big-3.5.0-70348.i386.dd of=/dev/sdb&lt;/p&gt;&#xA;&lt;p&gt;Вставляем &amp;ldquo;флешку&amp;rdquo; в сервер и загружаемся.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/run-esx-server-3i-from-usb-stick/img-002.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Fedora Directory Server review in Russian magazine &#34;System administrator&#34;</title>
				<link>https://markelov.dev/posts/fedora-directory-server-review-in/</link>
				<pubDate>Tue, 05 Feb 2008 09:32:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fedora-directory-server-review-in/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/fedora-directory-server-review-in/img-001.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;En: &amp;ldquo;&lt;a href=&#34;http://www.samag.ru/&#34;&gt;System Administrator&lt;/a&gt;&amp;rdquo; 1/2008 issue with my review of &lt;a href=&#34;http://directory.fedoraproject.org/&#34;&gt;FDS&lt;/a&gt; 1.1 is out. &amp;ldquo;System Administrator&amp;rdquo; is a magazine for Russian speaking IT professionals published since 2002. The magazine has more than 17000 subscribers. Three weeks after the initial publication in the magazine I&amp;rsquo;ve been allowed to publish it on my personal web site.&lt;/p&gt;&#xA;&lt;p&gt;Ru: В первом номере журнала «&lt;a href=&#34;http://www.samag.ru/&#34;&gt;Системный администратор&lt;/a&gt;» за 2008 год опубликован обзор сервера каталогов &lt;a href=&#34;http://directory.fedoraproject.org/&#34;&gt;FDS&lt;/a&gt; 1.1. Спустя три недели после выхода журнала с разрешения редакции обзор будет размещен на моем сайте.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Run VMware Server 2.0 Beta on Fedora 8 (and SELinux)</title>
				<link>https://markelov.dev/posts/run-vmware-server-20-beta-on-fedora-8/</link>
				<pubDate>Sun, 03 Feb 2008 10:55:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/run-vmware-server-20-beta-on-fedora-8/</guid>
				<description>&lt;p&gt;Ru: Получив на работе новый ноутбук (HP Compaq 6715b) я, приступил к приведению его в пригодное для работы состояние – установке Fedora. Проблем почти не возникло, за исключением того, что вместо драйвера для интегрированной видеокарты от ATI из livna, пришлось вручную скачать и установить более свежий драйвер с сайта производителя, поскольку лежащий в livna не захотел работать с «широкоформатными» разрешениями экрана. Как оказалось, это известная &lt;a href=&#34;http://home.earthlink.net/%7Ejvasdias/radeonX1200.html&#34;&gt;проблема&lt;/a&gt;.&lt;br&gt;&#xA;Единственное ПО, с которым пришлось повозиться достаточно долго, это VMware Server. В основном для «виртуальных лаб» я использую Xen, где у меня отлично «крутятся» несколько копий RHEL 4 и 5, но, по ряду причин, иногда запускаю и VMware (не для запуска Windows :). Причем проблема возникла там, где я ее совсем не ожидал, и, если бы не &lt;a href=&#34;http://communities.vmware.com/message/797618&#34;&gt;ветка в форуме&lt;/a&gt;, наверно, потерял бы еще некоторое время. Cервер после отключения ipv6 прекрасно установился, запускался, работал и не выдавал никаких ошибок при старте. Журналы операционной системы также были девственно чисты. Однако, при попытке зайти в Web UI, VMware Server выдавал сообщение: The server is not responding. Please check that the server is running and accepting connections. Помогло лишь полное отключение SELinux (!!!). Честно говоря, меня это решение совсем не устраивает. Почему и чем мешает работе сервера «разрешительный» режим SELinux, пока понять не могу. По идее ничего кроме деградации производительности происходить в этом случае не должно.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Humour: heroes2008.ru</title>
				<link>https://markelov.dev/posts/humour-heroes2008ru/</link>
				<pubDate>Tue, 29 Jan 2008 11:19:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/humour-heroes2008ru/</guid>
				<description>&lt;p&gt;Диалог в IM с пиарщиком из Microsoft (MS) по поводу heroes2008.ru:&lt;br&gt;&#xA;A: а не ________ ? те &amp;ldquo;подставте сюда свое имя&amp;rdquo;?&lt;br&gt;&#xA;MS: у меня такое впечателние что те кто этот креатив перевожил вообще далеки от темы&lt;br&gt;&#xA;MS: называлось оно heroes happen { here}&lt;br&gt;&#xA;A: Адекватнее было бы &amp;ldquo;ГЕРОИ { МЫ }&amp;rdquo; а то смысл вроде как потерялся&lt;br&gt;&#xA;A: что то в этом роде&lt;br&gt;&#xA;MS: а может имелось в виду что вас тут сделают героем&lt;br&gt;&#xA;A: а они все повторяли &amp;ldquo;один раз - не &amp;hellip; герой&amp;rdquo;&lt;br&gt;&#xA;MS: жжешь&lt;/p&gt;</description>
			</item>
			<item>
				<title>Basic about SELinux</title>
				<link>https://markelov.dev/posts/basic-about-selinux/</link>
				<pubDate>Sat, 05 Jan 2008 22:34:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/basic-about-selinux/</guid>
				<description>&lt;p&gt;En: Here is selinux(8) man page (from libselinux) translation to Russian with some comments.&lt;/p&gt;&#xA;&lt;p&gt;Ru: Как я и обещал, приступаю к переводам man-страниц, входящих в пакет libselinux. Первая на очереди - selinux(8). Хотя то, что в ней написано, так или иначе уже попадало в этот блог (в частности, пост &lt;a href=&#34;http://markelov.blogspot.com/2007/06/1-selinux.html&#34;&gt;&amp;ldquo;SELinux. Максимальный уровень защиты – бесплатно&amp;rdquo;&lt;/a&gt;), а также обсуждалось в других статьях на русском языке, man selinux:&lt;/p&gt;&#xA;&lt;p&gt;selinux(8) SELinux Command Line documentation selinux(8)&lt;/p&gt;</description>
			</item>
			<item>
				<title>Russian policycoreutils translation</title>
				<link>https://markelov.dev/posts/russian-policycoreutils-translation/</link>
				<pubDate>Fri, 21 Dec 2007 08:12:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/russian-policycoreutils-translation/</guid>
				<description>&lt;p&gt;En: As a selinux-policy, policycoreutils in Fedora 8 now have Russian man pages (since package version 2.0.33-2). Thanks Anton Arapov and Andrew Martynov for corrections! My next goal for translation is libselinux.&lt;/p&gt;&#xA;&lt;p&gt;Ru: Со вчерашнего дня в Fedora 8 доступны переводы справочной документации по пакту policycoreutils:&lt;/p&gt;&#xA;&lt;p&gt;[root@andrey ~]# rpm -ql policycoreutils | grep &amp;ldquo;ru/man&amp;rdquo;&lt;br&gt;&#xA;/usr/share/man/ru/man1&lt;br&gt;&#xA;/usr/share/man/ru/man1/audit2allow.1.gz&lt;br&gt;&#xA;/usr/share/man/ru/man1/secon.1.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8&lt;br&gt;&#xA;/usr/share/man/ru/man8/audit2why.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/chcat.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/fixfiles.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/genhomedircon.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/load_policy.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/open_init_pty.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/restorecon.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/restorecond.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/run_init.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/semanage.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/semodule.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/semodule_deps.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/semodule_expand.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/semodule_link.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/semodule_package.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/sestatus.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/setfiles.8.gz&lt;br&gt;&#xA;/usr/share/man/ru/man8/setsebool.8.gz&lt;/p&gt;</description>
			</item>
			<item>
				<title>Confining Samba with SELinux (in Russian)</title>
				<link>https://markelov.dev/posts/confining-samba-with-selinux-in-russian/</link>
				<pubDate>Tue, 18 Dec 2007 10:04:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/confining-samba-with-selinux-in-russian/</guid>
				<description>&lt;p&gt;En: As Dan Walsh &lt;a href=&#34;http://danwalsh.livejournal.com/14195.html&#34;&gt;wrote&lt;/a&gt; he started updating the man pages for different confined domains. So, I will update Russian version because now in Fedora 8, Russian man pages are still based on old version of man pages.&lt;/p&gt;&#xA;&lt;p&gt;Ru: Страницы руководств по сконфигурированным (для которых существует политика SELinux) доменам не обновлялись с 2005 года. Недавно Dan Walsh начал переписывать ряд руководств, приводя описание к современному состоянию политик. Обновленная страница samba_selinux уже в Fedora 7/8. Перевод же в дистрибутиве пока не доступен (точнее, там мой старый перевод на основе старого же оригинала). Новый:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hello Planet Fedora!</title>
				<link>https://markelov.dev/posts/hello-planet-fedora/</link>
				<pubDate>Fri, 07 Dec 2007 04:24:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/hello-planet-fedora/</guid>
				<description>&lt;p&gt;I&amp;rsquo;ve been reading &lt;a href=&#34;http://planet.fedoraproject.org&#34;&gt;Planet Fedora&lt;/a&gt; for a long time, and was very pleased to see the first blog in russian (my native language). Thank you Seth Vidal for adding me as well.&lt;br&gt;&#xA;I am RHCE/RHCI in a russian Red Hat Partner company. Most of the articles in my blog are about Fedora/RHEL/SELinux. In Fedora project I work in mosttly as a translator.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Руководство по безопасности RHEL5</title>
				<link>https://markelov.dev/posts/rhel5-2/</link>
				<pubDate>Thu, 06 Dec 2007 17:43:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhel5-2/</guid>
				<description>&lt;p&gt;На днях NSA (АНБ) опубликовало руководство по настройке безопасной конфигурации RHEL 5 (читай Fedora, Scientific Linux, CentOS, StartCom и т.д.). Руководство в формате PDF доступно &lt;a href=&#34;http://www.nsa.gov/snac/downloads_redhat.cfm?MenuID=scg10.3.1.1&#34;&gt;здесь&lt;/a&gt;. В объеме 170 страниц изложены пошаговые рекомендации, затрагивающие множество вопросов, начиная с защиты системы в целом и заканчивая конкретными службами.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Настоящее Open Source пиво</title>
				<link>https://markelov.dev/posts/open-source/</link>
				<pubDate>Wed, 05 Dec 2007 13:31:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/open-source/</guid>
				<description>&lt;p&gt;Вчера на первом этаже магазина в &lt;a href=&#34;http://www.tate.org.uk/modern/&#34;&gt;Tate Modern&lt;/a&gt; впервые увидел FREE BEER (version 3.2) от Корнуэльской пивоварни St.Austell Brewery (кстати, рекомендую их Tribute). На этикетке значиться: FREE BEER is based on classic ale brewing traditions, but with addded Guarana for a natural energy boost. The recipe and branding elements of FREE BEER is published under a Creative Commons (Attribution-ShareAlike 2.5) license, which means that anyone can use the recipe to brew their own FREE BEER or create a derivative of the recipe. Во как!&lt;/p&gt;</description>
			</item>
			<item>
				<title>Часть 2.2. SELinux. MLS и MCS: что с чем едят. MCS</title>
				<link>https://markelov.dev/posts/22-selinux-mls-mcs-mcs/</link>
				<pubDate>Tue, 06 Nov 2007 09:11:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/22-selinux-mls-mcs-mcs/</guid>
				<description>&lt;p&gt;Разберемся, что такое MCS и как ограничить пользователям (в том числе и администратору) доступ к информации при помощи категорий SELinux. Продолжаем разговор, начатый постами:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://markelov.blogspot.com/2007/06/1-selinux.html&#34;&gt;Часть 1. SELinux. Максимальный уровень защиты – бесплатно.&lt;/a&gt;&lt;br&gt;&#xA;&lt;a href=&#34;http://markelov.blogspot.com/2007/11/21-selinux-mls-mcs-mls.html&#34;&gt;Часть 2.1. SELinux. MLS и MCS: что с чем едят. MLS.&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Итак, если воспользоваться преимуществами многоуровневой системы безопасности (multilevel security - MLS) можно только при использовании «строгой» (strict) политики SELinux, то поддержка мульти-категорийной безопасности (MCS) доступна нам в «целевой» (targeted) политике, используемой по умолчанию. В качестве тестовой машины будем использовать RHEL 5.0, но, по большому счету, это не принципиально. Перечисленные базовые вещи должны одинаково работать на всех последних Fedora/RHEL/CentOS/etc, поставляемых с политикой, собранной из Reference Policy. Выполним команду&lt;/p&gt;</description>
			</item>
			<item>
				<title>Часть 2.1. SELinux. MLS и MCS: что с чем едят. MLS.</title>
				<link>https://markelov.dev/posts/21-selinux-mls-mcs-mls/</link>
				<pubDate>Sun, 04 Nov 2007 17:25:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/21-selinux-mls-mcs-mls/</guid>
				<description>&lt;p&gt;Продолжаем разговор, начатый постом «&lt;a href=&#34;http://markelov.blogspot.com/2007/06/1-selinux.html&#34;&gt;Часть 1. SELinux. Максимальный уровень защиты – бесплатно&lt;/a&gt;».&lt;/p&gt;&#xA;&lt;p&gt;Вслед за сообщениями о сертификации Red Hat Enterprise Linux 5 по Common Criteria EAL4+ (c расширениями LSPP, RBACPP и CAPP) на серверах HP и IBM, компания HP &lt;a href=&#34;http://www.linux-watch.com/news/NS4713062466.html&#34;&gt;объявила&lt;/a&gt; о начале предоставления услуги поддержки конфигурации RHEL с включенной многоуровневой системой безопасности (multilevel security -MLS).&lt;/p&gt;&#xA;&lt;p&gt;Что здесь понимается под MLS? MLS – это еще одна форма принудительного контроля доступа (mandatory access control - MAC), доступная нам при использовании SELinux. Политика с поддержкой MLS является опциональной и для большинства пользователей она будет намного менее полезной, чем принудительный контроль на основе Type Enforcement (TE) – основного механизма, используемого в SELinux. Но MLS – это «пропуск» для операционной системы в государственные и военные организации, где без такого рода разграничения полномочий не обойтись.&lt;/p&gt;</description>
			</item>
			<item>
				<title>История Англии: Window Tax</title>
				<link>https://markelov.dev/posts/window-tax/</link>
				<pubDate>Sun, 04 Nov 2007 12:42:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/window-tax/</guid>
				<description>&lt;p&gt;В последнее время увлекаюсь изучением истории Англии. Так вот, знаете ли вы, что словосочетание «налог на окна» («Window Tax», или, как следует из Wikipedia, иногда - «Microsoft Tax»), которое у «айтишников» ассоциируется с необходимостью платить за пре-инсталлированную OEM-версию операционной системы, поставляемую вместе с ПК, даже если вы не собираетесь ее использовать, это – &lt;a href=&#34;http://en.wikipedia.org/wiki/Window_tax&#34;&gt;реально существовавший когда-то налог&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/window-tax/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;br&gt;&#xA;Этот налог был введен в 1696 королем Вильгельмом III, и отменен только лишь в 1851 году (год Всемирной Промышленной Выставки). Смысл кажущегося сейчас абсурдным большинству людей налога в том, что чем больше у вас окон в доме, тем больший налог вы платите. Доходило до того, что домовладельцы специально заколачивали в домах часть окон, а в Эдинбурге так и вовсе был построен квартал с домами без окон.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Перевод отличной книги по ядру ОС</title>
				<link>https://markelov.dev/posts/blog-post-22/</link>
				<pubDate>Mon, 22 Oct 2007 07:54:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-22/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/blog-post-22/img-001.jpg&#34; alt=&#34;&#34;&gt;&lt;img src=&#34;https://markelov.dev/posts/blog-post-22/img-002.jpg&#34; alt=&#34;&#34;&gt;Последние несколько месяцев я веду в журнале «&lt;a href=&#34;http://www.samag.ru/&#34;&gt;Системный администратор&lt;/a&gt;» рубрику обзоров «Книжная полка». Это позволяет оставаться в курсе книжных новинок русскоязычной литературы, не тратя время и деньги на походы по книжным магазинам. И вот сегодня, просматривая новинки, наткнулся на книгу, IMHO абсолютный «must buy», которая у меня займет место на полке рядом с «Операционными системами» Эндрю Таненбаума и «Внутренним устройством Microsoft Windows&amp;hellip;» Руссиновича и Соломона. В оригинале «Understanding the Linux Kernel (3rd Edition)» я приобрел еще год назад. А теперь отечественному читателю издательство «БХВ-Петербург» предоставило возможность ознакомиться с этой классической книгой по устройству ядра современной открытой операционной системы и на русском. В переводе книга вышла под названием «Ядро Linux, 3-е издание». В руках книжку я еще не держал, так что про качество перевода пока ничего не скажу.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Еще одна площадка для блогов</title>
				<link>https://markelov.dev/posts/blog-post-15/</link>
				<pubDate>Wed, 17 Oct 2007 15:36:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-15/</guid>
				<description>&lt;p&gt;На прошедшей неделю назад конференции для сертифицированных тренеров Microsoft Ренат Минаждинов (MSFT) рекламировал новый ресурс &lt;a href=&#34;http://itcommunity.ru/&#34;&gt;itcommunity.ru&lt;/a&gt; в качестве площадки для блогов it-профессионалов. Ну, раз нас всех туда звали - встречайте, и не жалуйтесь, что в текстах слово &amp;ldquo;Linux&amp;rdquo; встречается :)&lt;/p&gt;&#xA;&lt;p&gt;Этот пост должен появиться параллельно с &lt;a href=&#34;http://markelov.blogspot.com/&#34;&gt;оригинальным блогом&lt;/a&gt; и на &lt;a href=&#34;http://itcommunity.ru/&#34;&gt;itcommunity.ru&lt;/a&gt;. С импортом же старых сообщений движок почти справился, опустив, правда, некоторые теги. Кстати, на &lt;a href=&#34;http://itcommunity.ru/&#34;&gt;itcommunity.ru&lt;/a&gt;, насколько я понял, используется то же ПО что и на &lt;a href=&#34;http://itblogs.ru/&#34;&gt;itblogs.ru&lt;/a&gt; Михаила Елашкин (&lt;a href=&#34;http://communityserver.org/&#34;&gt;communityserver.org&lt;/a&gt;). Там как раз проблем с импортом не было. Плюс форматирование в ряде случаев расползается. Видимо, не тестировали под Firefox, но, учитывая статус беты на логотипе, это, безусловно, простительно.&lt;/p&gt;</description>
			</item>
			<item>
				<title>AppArmor от Novell больше &#34;не от Novell&#34;?</title>
				<link>https://markelov.dev/posts/apparmor-novell-novell/</link>
				<pubDate>Mon, 15 Oct 2007 08:01:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/apparmor-novell-novell/</guid>
				<description>&lt;p&gt;Когда говорят о мандатном контроле доступа (MAC) в Linux, обычно сравнивают Novell AppArmor (система более простая в использовании) и Fedora/RHEL SELinux (система, обеспечивающая более комплексную защиту). Так вот, на днях &lt;a href=&#34;http://www.news.com/8301-13580_3-9796140-39.html&#34;&gt;стало известно&lt;/a&gt;, что Novell уволил лидера проекта AppArmor Crispin Cowan вместе с еще четырьмя разработчиками, работавшими над этим проектом. Cowan, ошеломленный увольнением, не собирается бросать свое детище. Он создал консалтинговую компанию &lt;a href=&#34;http://www.mercenarylinux.com/&#34;&gt;Mercenary Linux&lt;/a&gt;, и, видимо, ждет, когда ее кто-нибудь поглотит: &amp;ldquo;If somebody loves us and one day wants to acquire Mercenary, that&amp;rsquo;s great.&amp;rdquo;&lt;/p&gt;</description>
			</item>
			<item>
				<title>С переводами policycoreutils и selinux-policy закончил :)</title>
				<link>https://markelov.dev/posts/policycoreutils-selinux-policy/</link>
				<pubDate>Wed, 26 Sep 2007 10:59:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/policycoreutils-selinux-policy/</guid>
				<description>&lt;p&gt;Понемногу дело движется&amp;hellip; Закончил переводы man-страниц policycoreutils (20 страниц) и selinux-policy (8 страниц). Соответственно, &lt;a href=&#34;https://bugzilla.redhat.com/show_bug.cgi?id=250741&#34;&gt;bug #250741&lt;/a&gt; и &lt;a href=&#34;https://bugzilla.redhat.com/show_bug.cgi?id=306521&#34;&gt;bug #306521&lt;/a&gt;. Оттуда же можно скачать непосредственно сами переводы в tar.gz. Когда переводы появятся в самом дистрибутиве, как я понимаю, зависит от maintainer&amp;rsquo;а пакетов.&lt;/p&gt;</description>
			</item>
			<item>
				<title>«Пасхальные яйца»: Авиасимулятор в Google Earth</title>
				<link>https://markelov.dev/posts/google-earth/</link>
				<pubDate>Sun, 02 Sep 2007 11:47:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/google-earth/</guid>
				<description>&lt;p&gt;Вчера на &lt;a href=&#34;http://games.slashdot.org/article.pl?sid=07%2F09%2F01%2F2038210&#34;&gt;Slashdot&lt;/a&gt; встретил информацию о том, что в последнюю версию Google Earth вслед за звездным небом встроили и подобие авиасимулятора.&lt;/p&gt;&#xA;&lt;p&gt;Первый раз попасть в симулятор можно по комбинации клавиш Ctrl+a (в Windows-версии Ctrl+Alt+a). Второй и последующие разы можно использовать как ту же комбинацию, так и появившийся после первого запуска новый пункт в меню «Инструменты».&lt;/p&gt;&#xA;&lt;p&gt;Доступны два самолета – SR22 и F-16. Рекомендую первый из них, так как он обладает меньшей скоростью полета и позволяет в большей степени насладиться расстилающимся под крылом «пейзажем». Полный список клавиш управления доступен &lt;a href=&#34;http://earth.google.com/intl/ru/userguide/v4/flightsim/index.html&#34;&gt;тут&lt;/a&gt;. Также без проблем заработал и джойстик.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ассоциативный тест: Open Source или Microsoft?</title>
				<link>https://markelov.dev/posts/open-source-microsoft/</link>
				<pubDate>Sat, 21 Jul 2007 06:31:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/open-source-microsoft/</guid>
				<description>&lt;p&gt;В одном из &lt;a href=&#34;http://www.michaeldehaan.net/?p=281&#34;&gt;блогов&lt;/a&gt; прочитал о &lt;a href=&#34;https://implicit.harvard.edu/implicit/demo/featuredtask.html&#34;&gt;забавном тесте&lt;/a&gt;, разработанном в Harvard и позволяющем определить, чему вы подсознательно отдаете предпочтение: Open Source или Microsoft. Тест основывается на том, что вам нужно на скорость «раскидать» в две «кучи» понятия из областей Open Source/Microsoft, Good/Bad. Тест занимает не более 5 минут и, наверно, ничего нового не откроет, но все равно очень занятно. В общем, полезно для людей, которые, в зависимости от проекта, работают с теми или иными продуктами. Чтобы перестали врать самим себе :)&lt;/p&gt;</description>
			</item>
			<item>
				<title>EAL4&#43; для RHEL5: HP не отстает от IBM</title>
				<link>https://markelov.dev/posts/eal4-rhel5-hp-ibm/</link>
				<pubDate>Tue, 17 Jul 2007 07:32:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/eal4-rhel5-hp-ibm/</guid>
				<description>&lt;p&gt;Выбор – это хорошо. &amp;ldquo;Железо&amp;rdquo; от HP, плюс RHEL5 (c включенным &lt;a href=&#34;http://www.nsa.gov/selinux/&#34;&gt;мандатным контролем доступа&lt;/a&gt;) &lt;a href=&#34;http://markelov.blogspot.com/2007/06/1-selinux.html&#34;&gt;вслед за IBM&lt;/a&gt; получило абсолютно такую же &lt;a href=&#34;http://www.niap-ccevs.org/cc-scheme/st/?vid=10165&#34;&gt;сертификацию Common criteria EAL4+&lt;/a&gt; (c расширениями LSPP, RBACPP и CAPP), как и парой недель раньше - сервера &amp;ldquo;голубого гиганта&amp;rdquo;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Перевод man-страниц  policycoreutils (SELinux)</title>
				<link>https://markelov.dev/posts/man-policycoreutils-selinux/</link>
				<pubDate>Mon, 16 Jul 2007 16:01:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/man-policycoreutils-selinux/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://markelov.dev/posts/man-policycoreutils-selinux/img-001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Вечера вечером начал перевод man-страниц утилит из пакета &lt;a href=&#34;http://www.nsa.gov/selinux/&#34;&gt;policycoreutils&lt;/a&gt; (основные утилиты для работы с политиками SELinux). Двадцать руководств различного объема планирую закончить через 1-2 недели. В качестве некой основы в переводе терминов я взял .po-файл (который, кстати, &amp;ldquo;вытянут&amp;rdquo; из Fedora) из того же пакета. Однако, в сообщениях, выводимых утилитами, присутствуют не все встречающиеся термины. Поэтому приходиться пытаться подбирать какие-то русские термины.&lt;/p&gt;&#xA;&lt;p&gt;В качестве сервиса для размещения общедоступных черновиков выбрал &lt;a href=&#34;http://selinux.ru.googlepages.com/&#34;&gt;http://selinux.ru.googlepages.com/&lt;/a&gt; - удобная служба от вездесущего Google для быстрого создания маленьких сайтов (до 100М). После перевода всех двадцати руководств, надеюсь, все это будет доступно в составе базового пакета в SELinux-enabled дистрибутивах. В настоящее время информация на страничке активно обновляется – комментарии/замечания/исправления крайне приветствуются.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Размышления, навеянные статистикой</title>
				<link>https://markelov.dev/posts/blog-post-19/</link>
				<pubDate>Sun, 01 Jul 2007 10:42:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-19/</guid>
				<description>&lt;p&gt;Хотя Россия - &lt;a href=&#34;http://internet.cnews.ru/news/top/index.shtml?2007%2F06%2F04%2F253286&#34;&gt;единственная&lt;/a&gt; из европейских стран, где локальные поисковики пользуются большей популярностью, чем традиционные поисковые сервисы от Google и Microsoft, по моим наблюдениям среди знакомых «айтишников», большинство из них предпочитают Google. Возможно, это из-за того, что ответ на свой вопрос вы с большей вероятностью найдете на английском - «языке оригинала». Вот и отпадает необходимость в локально-ориентированном Yandex.&lt;/p&gt;&#xA;&lt;p&gt;С другой стороны, Yandex, по моим наблюдениям, предпочитает новое поколение «айтишников», которым знание английского-то, впрочем, и не нужно. С учетом того внимания, которое Microsoft уделяет поддержке русского языка в своих продуктах, своевременным переводам руководств и документации, множеству (даже!) узкоспециализированных и качественных книг от различных издательств, IMHO, успешным Microsoft-ориентированным специалистом можно стать и без знания языка. Кстати, работа в эту сторону продолжается – форумы Microsoft на русском, а в будущем обещают и русскоязычную социальную сеть IT-профессионалов. И это, наверно, здорово. С другой стороны, не очень здорово, когда возникает такой диалог по «аське»:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Часть 1. SELinux. Максимальный уровень защиты – бесплатно</title>
				<link>https://markelov.dev/posts/1-selinux/</link>
				<pubDate>Fri, 29 Jun 2007 11:26:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/1-selinux/</guid>
				<description>&lt;p&gt;Пару недель назад в новостях промелькнуло сообщение о том, что Red Hat Enterprise Linux на серверах IBM получил уровень сертификации по безопасности &lt;a href=&#34;http://www.niap-ccevs.org/cc%2Dscheme/st/?vid=10125&#34;&gt;EAL4 Augmented with ALC_FLR.3&lt;/a&gt;. Это наивысший уровень сертификации, который когда-либо достигался операционной системой. Кроме RHEL5 эта планка достигнута лишь Trusted Solaris. Такой уровень как правило не нужен при внедрениях в коммерческих организациях, но он открыл дорогу для участия в проектах связанных с правительственными и военными организациями США. До этого другие дистрибутивы Linux уже имели подтвержденный уровень доверия EAL4, но без сертификации Labeled Security Protection Profile (LSPP).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Windows XP глазами пользователя Linux :)</title>
				<link>https://markelov.dev/posts/windows-xp-linux/</link>
				<pubDate>Tue, 05 Jun 2007 07:36:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/windows-xp-linux/</guid>
				<description>&lt;p&gt;Тут «пробегАли» достаточно давно появившиеся вещи типа «Анти-GPL» и т.д. Наверно, будет не очень зазорно запостить «баян» про впечатления от Windows XP, человека, ранее работавшего под Linux. Автор утерян – найдено на просторах Интернет. Конечно, многие вещи слишком преувеличены (все-таки это, скорее всего, в раздел «Юмор»). Да и XP, видимо, рассматривается еще без SP, судя по замечаниям про брандмауэр..&lt;/p&gt;&#xA;&lt;p&gt;«Я устанавливаю windows ХР, как мне установить мой домашний каталог на отдельный раздел, чтоб в случае чего не потерять мои файлы? Читать документацию и создавать файл unattended? а что это собственно такое? и в чем мне его создавать?&lt;/p&gt;</description>
			</item>
			<item>
				<title>Слайды учебного курса по Fedora Core Linux - 2</title>
				<link>https://markelov.dev/posts/fedora-core-linux-2/</link>
				<pubDate>Thu, 10 May 2007 16:44:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fedora-core-linux-2/</guid>
				<description>&lt;p&gt;Работа над курсом по ОС Linux движется&amp;hellip; Помимо версии в pdf, теперь доступна и &lt;a href=&#34;http://www.markelov.net/articles.php?lng=ru&amp;amp;pg=400&#34;&gt;версия слайдов в html&lt;/a&gt;, для просмотра непосредственно с сайта. Сейчас там около 250 слайдов. Все презентации будут выложены к 17 июня. Общая продолжительность курса – 100 академических часов. Новые слайды будут выкладываться 2-3 раза в неделю (как только вернусь из отпуска).&lt;/p&gt;</description>
			</item>
			<item>
				<title>«Всадник без головы» вооруженный N800 (Headless Install)</title>
				<link>https://markelov.dev/posts/n800-headless-install/</link>
				<pubDate>Sun, 06 May 2007 11:40:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/n800-headless-install/</guid>
				<description>&lt;p&gt;Fedora Core на Nokia N800? :)&lt;/p&gt;&#xA;&lt;p&gt;Нет.&lt;br&gt;&#xA;Всего лишь «безголовая» установка по Wi-Fi через VNC.&lt;br&gt;&#xA;Управление по VNC – это стандартная возможность программы установки Anaconda в Fedora/RHEL. В сочетании со сценариями автоматической установки Kickstart очень упрощает жизнь администратора.&lt;/p&gt;&#xA;&lt;p&gt;Подробности можно поискать в документации на Anaconda или в &lt;a href=&#34;http://www.redhat.com/magazine/024oct06/features/kickstart/&#34;&gt;статье&lt;/a&gt; из Red Hat Magazine. Мой перевод этой статьи - &lt;a href=&#34;http://www.markelov.net/articles.php?lng=ru&amp;amp;pg=330&#34;&gt;тут&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>«Linux в кармане» - Nokia N800</title>
				<link>https://markelov.dev/posts/linux-nokia-n800/</link>
				<pubDate>Tue, 01 May 2007 13:36:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/linux-nokia-n800/</guid>
				<description>&lt;p&gt;Впечатления после пары часов использования&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;В пятницу в фирменном салоне Nokia на Тверской появились наверно первые в России официально продающиеся «интернет-планшеты» Nokia N800, работающие на ОС Linux. Одним из счастливых обладателей этого чуда и стал ваш покорный слуга. Очень порадовала цена устройства в сравнении с моим предыдущим Linux-гаджетом Sharp Zaurus SL-C860. Кстати, в отличие от QT в Zaurus, в N800 используется GTK+. Из ТТХ, доступных на &lt;a href=&#34;http://www.nokia.ru/phones/models/n800/&#34;&gt;официальном сайте Nokia&lt;/a&gt;, можно выделить: небольшой вес устройства (206 грамм), экран (800 на 400 при 65k цветов), Bluetooth и Wi-Fi, камера для видеоконференций, а также возможность расширения памяти двумя SD-карами до 2Гб каждая.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Слайды учебного курса по Fedora Core Linux</title>
				<link>https://markelov.dev/posts/fedora-core-linux/</link>
				<pubDate>Mon, 23 Apr 2007 13:57:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/fedora-core-linux/</guid>
				<description>&lt;p&gt;У одного из заказчиков читаю авторский курс по системному администрированию Linux, расчитанный на 100 академических часов. &amp;ldquo;Обкатывается&amp;rdquo; курс на двух группах по восемь человек.Выложил первые 110 слайдов презентаций полутора первых дней занятий под лицензией Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License. К июню должен накопиться и будет доступен весь комплект - примерно 800-900 слайдов. Курс примерно соответствует LPI 2, но с ориентацией на Fedora. Поэтому &amp;ldquo;соответствие&amp;rdquo; действительно примерное.&lt;/p&gt;&#xA;&lt;p&gt;Скачать слайды можно &lt;a href=&#34;http://www.markelov.net/download.php?lng=ru&#34;&gt;здесь&lt;/a&gt; в разделе &amp;ldquo;Презентации учебного курса по Linux&amp;rdquo;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Статистика по уязвимостям в RHEL 4  за два года</title>
				<link>https://markelov.dev/posts/rhel-4/</link>
				<pubDate>Thu, 19 Apr 2007 08:54:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhel-4/</guid>
				<description>&lt;p&gt;Вчера Марк Кокс (Director of the Red Hat Security Response Team) &lt;a href=&#34;http://www.redhatmagazine.com/2007/04/18/risk-report-two-years-of-red-hat-enterprise-linux-4/&#34;&gt;опубликовал&lt;/a&gt; в Red Hat Magazine статью, посвященную обнаруженным уязвимостям за два года, прошедших с выпуска Red Hat Enterprise Linux. Некоторые выдержки из статьи.&lt;/p&gt;&#xA;&lt;p&gt;За два года во всех пакетах RHEL 4 AS было 5 критических уязвимостей, не связанных с браузером. Из них три связаны с IM. Оставшиеся две – это sendmail и модуль “Апача” mod_auth_pgsql. Обе уязвимости были устранены в течение одного дня. Если выбиралась установка пакетов “по умолчанию”, общее число критических уязвимостей за два года – три штуки. По всем уязвимостям со всеми уровнями критичности процент выпуска “заплатки” в течение дня обнаружения уязвимости – 75%. Сто процентов всех критических уязвимостей устранялось в течении двух календарных дней с момента появления информации об этих уязвимостях в открытых источниках.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Microsoft больше не требует от преподавателей преподавать</title>
				<link>https://markelov.dev/posts/microsoft/</link>
				<pubDate>Sat, 17 Mar 2007 09:12:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/microsoft/</guid>
				<description>&lt;p&gt;Уходя из CPLS в системный интегратор, столкнулся с дилеммой. Или не обременять себя продлением сертификации MCT, или договориться с одним из учебных центров и прочитать вечерние курсы, «добив» тем самым число необходимых отзывов студентов в MTM до минимального порога. Вчера, наконец, закончил двухнедельный «вечерний марафон», отучив слушателей даже на треть больше необходимого числа. А сегодня приходит рассылка: “All MCTs are eligible to renew&amp;ndash;we have removed the annual requirement to train at least 15 students using Official Microsoft Learning Products…” :) Эх, “знал бы прикуп…”&lt;/p&gt;</description>
			</item>
			<item>
				<title>Вышел RHEL5</title>
				<link>https://markelov.dev/posts/rhel5/</link>
				<pubDate>Wed, 14 Mar 2007 16:38:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/rhel5/</guid>
				<description>&lt;p&gt;Наконец, после нескольких переносов даты релиза, вышел “главный” корпоративный дистрибутив Linux. С моим кратким &lt;a href=&#34;http://www.markelov.net/articles.php?lng=ru&amp;amp;pg=337&#34;&gt;обзором&lt;/a&gt; (на основеRHEL5 beta 1) в еженедельнике PCWeek/RE, №41/2006 вы можете ознакомиться здесь.&lt;br&gt;&#xA;Скачать же дистрибутив можно прямо сейчас, зайдя в RHN.&lt;/p&gt;</description>
			</item>
			<item>
				<title>“Мама для пингвиненка”</title>
				<link>https://markelov.dev/posts/blog-post-3/</link>
				<pubDate>Wed, 07 Mar 2007 10:36:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-3/</guid>
				<description>&lt;p&gt;На первом дне занятий по Linux обычно рассказываешь про историю этой операционной системы и историю Unix в целом. При этом неплохо было бы иллюстрировать рассказ ссылками в Интернет. Особенно мне в свое время понравилось “&lt;a href=&#34;http://www.kde-files.org/CONTENT/content-files/44218-linuxdistrotimeline-7.2.png&#34;&gt;генеалогическое древо&lt;/a&gt;” дистрибутивов Linux (плюс &lt;a href=&#34;http://www.kde-files.org/CONTENT/content-files/46315-linux_timeline_poster_v1.1.png&#34;&gt;альтернативная версия 1&lt;/a&gt; и &lt;a href=&#34;http://photos1.blogger.com/blogger/3370/2500/1600/GNULinuxupdatedw4.0.jpg&#34;&gt;альтернативная версия 2&lt;/a&gt;). Дистрибутивы, как правило, характеризуются своим набором ПО, программой установки, своей версией ядра Linux, политикой технической поддержки и командой разработчиков.&lt;/p&gt;&#xA;&lt;p&gt;Аналогичная схема существует для &lt;a href=&#34;http://www.levenez.com/unix/&#34;&gt;Unix&lt;/a&gt; (похоже, это та же самая схема, что в распечатанном виде висит в УЦ Hewlett-Packard на Космодамианской набережной :), а также для операционных систем от &lt;a href=&#34;http://www.levenez.com/windows/&#34;&gt;Microsoft&lt;/a&gt;. Причем, судя по последней, системное ПО для приставки X-Box ведет свою родословную от Windows 2000 и XP. Может кто-нибудь из читателей блога это подтвердит или опровергнет?&lt;/p&gt;</description>
			</item>
			<item>
				<title>А что там с технической поддержкой Red Hat?</title>
				<link>https://markelov.dev/posts/red-hat-2/</link>
				<pubDate>Thu, 15 Feb 2007 12:07:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-2/</guid>
				<description>&lt;p&gt;Периодически сталкиваюсь с таким явлением: заказчик давно уже имеет подписку на RHEL, но по каким-то причинам (возможно из-за недоработок того, кто ему в свое время эту подписку продал) не в курсе как, куда и с каким вопросом можно обращаться. А ведь техническая поддержка – это существенная часть комплекса предоставляемых вендором услуг, и заказчик должен по максимуму получить все за что отдал «свои кровные». Благо Red Hat нас не ограничивает числом открытых в тех. поддержке запросов. И уже относительно давно существует «русскоговорящая» 1-я линия поддержки.&lt;/p&gt;</description>
			</item>
			<item>
				<title>AIGLX &#43; Compiz на рабочем столе</title>
				<link>https://markelov.dev/posts/aiglx-compiz/</link>
				<pubDate>Tue, 13 Feb 2007 21:10:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/aiglx-compiz/</guid>
				<description>&lt;p&gt;Из года в год различные он-лайн и офф-лайн СМИ обещают нам скорый приход Linux на рабочий стол пользователя. Однако думаю, всем давно уже понятно, что не стоит ждать некоего прекрасного момента, когда пользователи вдруг проснутся и начнут искать более экономичную/безопасную/и т.д. альтернативу прекрасно у них работающему (и с каждой версией все лучше и лучше) ПО от Microsoft. Да и не факт, что для каждого конкретного пользователя (организации) альтернативы будут безопаснее или дешевле…&lt;/p&gt;</description>
			</item>
			<item>
				<title>Экзамены LPI и журнал Linux Format в виде PDF</title>
				<link>https://markelov.dev/posts/lpi-linux-format-pdf/</link>
				<pubDate>Fri, 09 Feb 2007 11:55:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/lpi-linux-format-pdf/</guid>
				<description>&lt;p&gt;На днях, в связи с возросшей вероятностью в ближайшем времени осуществить &amp;ldquo;марафонский забег&amp;rdquo; в виде чтения пяти первых курсов программы Linux Professional Institute (LPI) , сдал второй из экзаменов необходимых для получения сертификата LPI Level 1 (LPIC-1). Чтобы иметь право читать курсы, выбранные заказчиком, осталось досдавать два экзамена на уровень LPIC-2.&lt;/p&gt;&#xA;&lt;p&gt;Теперь, уже вплотную познакомившись с двумя основными сертификациями по Linux для технических специалистов, от LPI и от Red Hat (первый экзамен Red Hat сдал еще в 2004 году), наверное, могу с полным правом их сравнить. На мой взгляд, если есть желание подтвердить свою квалификацию сдачей экзамена, лучше заказать performance-based тест а не отвечать на вопросы &amp;ldquo;какая опция отвечает за такую-то функцию&amp;rdquo;. Зачем помнить сотни опций, если есть man? Поэтому практический экзамен за реальной системой всегда в этом плане предпочтительнее… Кроме того, практический экзамен менее подвержен проблеме дампов. Интересующихся сертификацией от Red Hat, отсылаю к своей &lt;a href=&#34;http://www.markelov.net/articles.php?lng=ru&amp;amp;pg=267&#34;&gt;статье&lt;/a&gt;, опубликованной в &amp;ldquo;Системном администраторе&amp;rdquo; в прошлом году.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Введение в &#34;альтернативные&#34; ОС на русском</title>
				<link>https://markelov.dev/posts/blog-post-06/</link>
				<pubDate>Tue, 06 Feb 2007 13:09:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-06/</guid>
				<description>&lt;p&gt;За последнюю неделю две компании-производителя “альтернативных” операционных систем разродились вводными руководствами по своим операционным системам.&lt;/p&gt;&#xA;&lt;p&gt;Во-первых это “&lt;a href=&#34;http://www.microsoft.com/rus/download.aspx?file=%2Fvista%2FWindows_Vista_Product_Guide_RTM.pdf&#34;&gt;Руководство по Windows Vista&lt;/a&gt;” на русском языке. Как &lt;a href=&#34;http://www.microsoft.com/Rus/windows/default.mspx&#34;&gt;сказано на сайте Microsoft&lt;/a&gt;: “В руководстве по Windows Vista содержится подробное описание иновационных возможностей и функций следующего поколения клиентских операционных систем Windows.”&lt;/p&gt;&#xA;&lt;p&gt;Во-вторых компания Sun Microsystems &lt;a href=&#34;http://opensolaris.org/os/community/edu/curriculum_development/&#34;&gt;опубликовала&lt;/a&gt; практическое руководство “&lt;a href=&#34;http://www.opensolaris.org/os/community/edu/curriculum_development/OSOLINTRO-ru.pdf&#34;&gt;Введение в операционные системы: практический подход в рамках проекта OpenSolaris&lt;/a&gt;”. Фактически это учебный курс, целью которого является изучение построения операционных систем с использованием кода ОС Solaris. Рассмотрен ряд тем, включая настройку зон, настройку ZFS и использование DTrace.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Спутниковая тарелка петровских времен</title>
				<link>https://markelov.dev/posts/blog-post-5/</link>
				<pubDate>Mon, 05 Feb 2007 16:14:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-5/</guid>
				<description>&lt;p&gt;Вчера вернулся из поездки в &amp;ldquo;колыбель революции&amp;rdquo;. Когда проходил мимо &amp;ldquo;Пяти углов&amp;rdquo; по Загородному проспекту, заметил на одном из зданий спутниковую тарелку… Судя по внешнему виду, установлена она была сразу после окончания строительства дома и как минимум помнит двух-трех последних Российских царей…&lt;/p&gt;&#xA;&lt;p&gt;Если по взгляду на первое фото вы подумали что речь идет о большой белой &amp;ldquo;тарелке&amp;rdquo;, то вот приближенное изображение:&lt;/p&gt;&#xA;&lt;p&gt;Кстати, на одном из следующих зданий по направлению движения к Владимирскому проспекту (скорее всего это дом 7 или 5 по Загородному), на крыше тоже имеется забавная деталь. Видимо ее назначение как-то связанно с расположением в этом здании религиозной организации/церкви. Другое дело, как в этот колокол предполагается звонить? Вероятно, прямо над ним на крыше расположен какой-то люк.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Проблемы с хостингом и чтение курсов</title>
				<link>https://markelov.dev/posts/blog-post-2/</link>
				<pubDate>Fri, 26 Jan 2007 21:29:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/blog-post-2/</guid>
				<description>&lt;p&gt;Вчера минимум на десять часов моя домашняя страничка на &lt;a href=&#34;http://www.markelov.net/&#34;&gt;www.markelov.net&lt;/a&gt; была недоступна. И хотя РБК-Хостинг прислал извещение, плюс сообщение о том, что «В качестве компенсации компания Хостинг-Центр РБК продляет срок действия Ваших услуг на 1 неделю», все равно неприятный осадок остался. Пользуюсь услугами хостинга РБК с 2003 года и из четырех случаев перебоев в оказании услуг, три произошли за последние пол-года. Настораживает, однако…&lt;/p&gt;&#xA;&lt;p&gt;Самое неприятное, что мне именно сегодня понадобился ресурс, размещенный на моем же сайте – ссылка на транскрипт с номером инженерского сертификата, без которого установка класса на понедельник могла бы несколько усложниться… Хорошо, что в учебном центре сохранилась распечатка сертификата на котором есть номер. Нужно было только сдуть с рамки пыль :)&lt;/p&gt;</description>
			</item>
			<item>
				<title>Статья про шифрование дисков в Red Hat Magazine</title>
				<link>https://markelov.dev/posts/red-hat-magazine/</link>
				<pubDate>Thu, 25 Jan 2007 13:22:00 +0000</pubDate>
				<guid>https://markelov.dev/posts/red-hat-magazine/</guid>
				<description>&lt;p&gt;В новом году Red Hat Magazine переехал на новый сервер и новую CMS. Однако, из кучи заметок (за исключением новых статей из Knowledgebase), &lt;a href=&#34;http://www.redhatmagazine.com/2007/01/18/disk-encryption-in-fedora-past-present-and-future/&#34;&gt;эта&lt;/a&gt; первая, которая мене показалась интересной. В статье обсуждается прошлое, настоящее и будущее шифрования дисков в Fedora: Cryptsetup, LUKS, шифрование swap-раздела. Также дается ссылка на патч mkinitrd, включающий в образ initrd поддержку шифрованной корневой системы (статья в &lt;a href=&#34;https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=124789&#34;&gt;Bugzilla 124789&lt;/a&gt;). Могу только присоединится к автору статьи в надежде, что вслед за патчем в mkinitrd появиться поддержка шифрования корневой ФС в Anaconda.&lt;/p&gt;</description>
			</item>
			<item>
				<title>About</title>
				<link>https://markelov.dev/about/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/about/</guid>
				<description>&lt;h2 id=&#34;about-me&#34;&gt;About me&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markelov.dev/about/photo_about.png&#34; alt=&#34;Andrey Markelov&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I am &lt;strong&gt;Andrey Markelov&lt;/strong&gt;, a cloud and Linux architect based in Stockholm, Sweden. I have spent more than twenty years in IT infrastructure—designing, building, and operating platforms for telco, enterprise, and training environments.&lt;/p&gt;&#xA;&lt;p&gt;I am also an &lt;strong&gt;author&lt;/strong&gt; of books on GNU/Linux, OpenStack, and Kubernetes (including study guides for OpenStack and RHCSA certification topics). I hold a long list of industry certifications—among them &lt;strong&gt;RHCA&lt;/strong&gt;, &lt;strong&gt;CKA&lt;/strong&gt;, and &lt;strong&gt;CKAD&lt;/strong&gt;—and I still enjoy turning complex stacks into material other people can learn from.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Chapter 10: Networking Answers</title>
				<link>https://markelov.dev/adminbook/chapter_10/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/adminbook/chapter_10/</guid>
				<description>&lt;header class=&#34;site-header&#34;&gt;&#xA;    &lt;p&gt;&lt;a href=&#34;https://markelov.dev/adminbook/&#34;&gt;&amp;larr; All chapters&lt;/a&gt; · &lt;a href=&#34;https://link.springer.com/book/9798868822254&#34;&gt;Book&lt;/a&gt; · &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook&#34;&gt;Repository&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;h1&gt;Chapter 10: Networking Answers&lt;/h1&gt;&#xA;    &lt;p class=&#34;muted&#34;&gt;Red Hat RHCSA 10 Study Companion: Getting Ready for the EX200 Exam by Andrey Markelov (May 2026).&lt;/p&gt;&#xA;  &lt;/header&gt;&#xA;  &lt;h2&gt;Topics&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Network interface configuration&lt;/li&gt;&lt;li&gt;NetworkManager (nmcli)&lt;/li&gt;&lt;li&gt;Static and DHCP configurations&lt;/li&gt;&lt;li&gt;Hostname and DNS management&lt;/li&gt;&lt;li&gt;Firewall configuration (firewall-cmd)&lt;/li&gt;&lt;/ul&gt;&lt;nav class=&#34;toc&#34;&gt;&lt;h2&gt;Exercises&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;#exercise_01-sh&#34;&gt;exercise_01.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_02-sh&#34;&gt;exercise_02.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_03-sh&#34;&gt;exercise_03.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_04-sh&#34;&gt;exercise_04.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_05-sh&#34;&gt;exercise_05.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_06-sh&#34;&gt;exercise_06.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_07-sh&#34;&gt;exercise_07.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_08-sh&#34;&gt;exercise_08.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_09-sh&#34;&gt;exercise_09.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_10-sh&#34;&gt;exercise_10.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_11-sh&#34;&gt;exercise_11.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_12-sh&#34;&gt;exercise_12.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_13-sh&#34;&gt;exercise_13.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_14-sh&#34;&gt;exercise_14.sh&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;hr&gt;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_01-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_01.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_10/exercise_01.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_10/exercise_01.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_01.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 1: Use the ip a command to list all network interfaces. &#xA;# Identify the IP address, netmask (in CIDR format), and MAC address for your primary Ethernet interface.&#xA;#&#xA;# Task: Display network interface information.&#xA;&#xA;ip addr show&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_02-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_02.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_10/exercise_02.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_10/exercise_02.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_02.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 2: Use the ip route show command to display the system&amp;#x27;s current routing table. &#xA;# Identify the default gateway and its associated metric.&#xA;#&#xA;# Task: Display routing table with gateway information.&#xA;&#xA;ip route show&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_03-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_03.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_10/exercise_03.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_10/exercise_03.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_03.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 3: Use nmcli con show to list all available NetworkManager connection profiles. &#xA;# Identify which connections are currently active and on which devices.&#xA;#&#xA;# Task: List all NetworkManager connections and their status.&#xA;&#xA;nmcli connection show&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_04-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_04.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_10/exercise_04.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_10/exercise_04.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_04.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 4: Use nmcli to display all properties for your primary active connection. &#xA;# Note the ipv4.method value.&#xA;#&#xA;# Task: Display detailed connection properties.&#xA;&#xA;# Get the active connection name&#xA;ACTIVE_CON=$(nmcli -t -f NAME,DEVICE connection show --active | head -n1 | cut -d: -f1)&#xA;&#xA;echo &amp;quot;Displaying properties for: $ACTIVE_CON&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;&#xA;nmcli con show &amp;quot;$ACTIVE_CON&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_05-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_05.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_10/exercise_05.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_10/exercise_05.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_05.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 5: Add a new, persistent NetworkManager connection named lab-dhcp &#xA;# for your second (likely disconnected) Ethernet interface. &#xA;# Ensure it is configured to get an IP address automatically via DHCP and to autoconnect.&#xA;#&#xA;# Task: Create a new DHCP-based network connection.&#xA;#&#xA;# Note: Replace &amp;#x27;enp8s0&amp;#x27; with your actual second network interface name.&#xA;&#xA;# You may need to identify your second interface first with: ip link show&#xA;&#xA;sudo nmcli con add con-name lab-dhcp type ethernet ifname enp8s0 \&#xA;  ipv4.method auto \&#xA;  connection.autoconnect yes&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Connection &amp;#x27;lab-dhcp&amp;#x27; created.&amp;quot;&#xA;nmcli connection show&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_06-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_06.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_10/exercise_06.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_10/exercise_06.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_06.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 6: Create a new, persistent connection named static1 for your primary interface. &#xA;# Configure it with the following manual settings:&#xA;# IP Address: 192.168.122.55/24&#xA;# Gateway: 192.168.122.1&#xA;# DNS Server: 8.8.8.8&#xA;# Autoconnect: no&#xA;#&#xA;# Task: Create a static IP network configuration.&#xA;#&#xA;# Note: Replace &amp;#x27;enp1s0&amp;#x27; with your actual primary interface name.&#xA;&#xA;sudo nmcli con add con-name static1 type ethernet ifname enp1s0 \&#xA;  ipv4.method manual \&#xA;  ipv4.addresses 192.168.122.55/24 \&#xA;  ipv4.gateway 192.168.122.1 \&#xA;  ipv4.dns 8.8.8.8 \&#xA;  connection.autoconnect no&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Connection &amp;#x27;static1&amp;#x27; created successfully.&amp;quot;&#xA;nmcli connection show&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_07-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_07.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_10/exercise_07.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_10/exercise_07.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_07.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 7: Bring the static1 connection up. &#xA;# Use ip a and ip route to verify that the static IP and new default gateway are active.&#xA;#&#xA;# Task: Activate a network connection and verify its status.&#xA;&#xA;sudo nmcli con up static1&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;=== IP Address Information ===&amp;quot;&#xA;ip a&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;=== Routing Table ===&amp;quot;&#xA;ip route&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_08-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_08.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_10/exercise_08.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_10/exercise_08.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_08.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 8: Add a second IP address, 10.10.10.55/24, to your active static1 connection. &#xA;# Do not remove the original 192.168.122.55/24 address. &#xA;# Verify with ip a that the interface now has both IP addresses.&#xA;#&#xA;# Task: Add a secondary IP address to an existing connection.&#xA;&#xA;sudo nmcli con mod static1 +ipv4.addresses 10.10.10.55/24&#xA;&#xA;sudo nmcli con up static1&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Verifying both IP addresses:&amp;quot;&#xA;ip a show enp1s0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_09-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_09.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_10/exercise_09.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_10/exercise_09.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_09.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 9: Change your system&amp;#x27;s persistent hostname to server15.test.local.&#xA;#&#xA;# Task: Set a new system hostname.&#xA;&#xA;sudo hostnamectl set-hostname server15.test.local&#xA;&#xA;echo &amp;quot;Hostname changed to server15.test.local&amp;quot;&#xA;echo &amp;quot;Please re-open your shell session to see the change.&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Current hostname:&amp;quot;&#xA;hostnamectl&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_10-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_10.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_10/exercise_10.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_10/exercise_10.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_10.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 10: Edit the /etc/hosts file to add a new entry. &#xA;# The entry should map the IP address 192.168.122.55 to the hostnames web55.test.local and web55.&#xA;#&#xA;# Task: Add a hosts file entry.&#xA;&#xA;echo &amp;quot;192.168.122.55  web55.test.local web55&amp;quot; | sudo tee -a /etc/hosts&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Entry added to /etc/hosts:&amp;quot;&#xA;grep &amp;quot;web55&amp;quot; /etc/hosts&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_11-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_11.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_10/exercise_11.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_10/exercise_11.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_11.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 11: Modify your active connection profile to use the static DNS servers 8.8.8.8 and 8.8.4.4&#xA;#&#xA;# Task: Configure custom DNS servers for a network connection.&#xA;&#xA;# Get the active connection name&#xA;ACTIVE_CON=$(nmcli -t -f NAME,DEVICE connection show --active | grep -v &amp;#x27;^lo:&amp;#x27; | head -n1 | cut -d: -f1)&#xA;&#xA;echo &amp;quot;Modifying connection: $ACTIVE_CON&amp;quot;&#xA;&#xA;sudo nmcli con mod &amp;quot;$ACTIVE_CON&amp;quot; ipv4.dns &amp;quot;8.8.8.8 8.8.4.4&amp;quot;&#xA;&#xA;sudo nmcli con up &amp;quot;$ACTIVE_CON&amp;quot;&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;DNS servers configured. Contents of /etc/resolv.conf:&amp;quot;&#xA;cat /etc/resolv.conf&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_12-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_12.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_10/exercise_12.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_10/exercise_12.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_12.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 12: Modify the same connection profile to set ipv4.ignore-auto-dns to yes. &#xA;# Reactivate the connection and then inspect the /etc/resolv.conf file &#xA;# to ensure only your manually set DNS servers are present.&#xA;#&#xA;# Task: Ignore DHCP-provided DNS servers and use only manually configured ones.&#xA;&#xA;# Get the active connection name&#xA;ACTIVE_CON=$(nmcli -t -f NAME,DEVICE connection show --active | grep -v &amp;#x27;^lo:&amp;#x27; | head -n1 | cut -d: -f1)&#xA;&#xA;echo &amp;quot;Modifying connection: $ACTIVE_CON&amp;quot;&#xA;&#xA;sudo nmcli con mod &amp;quot;$ACTIVE_CON&amp;quot; ipv4.ignore-auto-dns yes&#xA;&#xA;sudo nmcli con up &amp;quot;$ACTIVE_CON&amp;quot;&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Auto-DNS ignored. Contents of /etc/resolv.conf:&amp;quot;&#xA;cat /etc/resolv.conf&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_13-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_13.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_10/exercise_13.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_10/exercise_13.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_13.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 13: Add the http service to the default zone&amp;#x27;s runtime configuration. &#xA;# Verify it is listed. Then, reload the firewall using firewall-cmd --reload &#xA;# and verify that the http service is now gone (because it was not permanent).&#xA;#&#xA;# Task: Demonstrate temporary vs permanent firewall rules.&#xA;&#xA;echo &amp;quot;Adding http service temporarily...&amp;quot;&#xA;sudo firewall-cmd --add-service=http&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Current services (runtime):&amp;quot;&#xA;sudo firewall-cmd --list-services&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Reloading firewall...&amp;quot;&#xA;sudo firewall-cmd --reload&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Services after reload (http should be gone):&amp;quot;&#xA;sudo firewall-cmd --list-services&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_14-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_14.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_10/exercise_14.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_10/exercise_14.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_14.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 14: Permanently add TCP port 8080 to the public zone. &#xA;# Reload the firewall and verify that the port is now active in the runtime configuration.&#xA;#&#xA;# Task: Add a permanent firewall rule for a custom port.&#xA;&#xA;sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent&#xA;&#xA;echo &amp;quot;Port 8080/tcp added permanently.&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;&#xA;echo &amp;quot;Reloading firewall...&amp;quot;&#xA;sudo firewall-cmd --reload&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Open ports in public zone:&amp;quot;&#xA;sudo firewall-cmd --zone=public --list-ports&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;</description>
			</item>
			<item>
				<title>Chapter 11: SELinux Answers</title>
				<link>https://markelov.dev/adminbook/chapter_11/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/adminbook/chapter_11/</guid>
				<description>&lt;header class=&#34;site-header&#34;&gt;&#xA;    &lt;p&gt;&lt;a href=&#34;https://markelov.dev/adminbook/&#34;&gt;&amp;larr; All chapters&lt;/a&gt; · &lt;a href=&#34;https://link.springer.com/book/9798868822254&#34;&gt;Book&lt;/a&gt; · &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook&#34;&gt;Repository&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;h1&gt;Chapter 11: SELinux Answers&lt;/h1&gt;&#xA;    &lt;p class=&#34;muted&#34;&gt;Red Hat RHCSA 10 Study Companion: Getting Ready for the EX200 Exam by Andrey Markelov (May 2026).&lt;/p&gt;&#xA;  &lt;/header&gt;&#xA;  &lt;h2&gt;Topics&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;SELinux contexts&lt;/li&gt;&lt;li&gt;File and port labeling&lt;/li&gt;&lt;li&gt;SELinux booleans&lt;/li&gt;&lt;/ul&gt;&lt;nav class=&#34;toc&#34;&gt;&lt;h2&gt;Exercises&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;#exercise_01-sh&#34;&gt;exercise_01.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_02-sh&#34;&gt;exercise_02.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_03-sh&#34;&gt;exercise_03.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_04-sh&#34;&gt;exercise_04.sh&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;hr&gt;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_01-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_01.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_11/exercise_01.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_11/exercise_01.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_01.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 1: Write the two commands necessary to check the SELinux context (label) &#xA;# for both the running sshd process and the /etc/ssh/sshd_config file.&#xA;#&#xA;# Task: Display SELinux contexts for process and file.&#xA;&#xA;echo &amp;quot;=== SELinux context for sshd process ===&amp;quot;&#xA;ps -eZ | grep sshd&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;=== SELinux context for /etc/ssh/sshd_config ===&amp;quot;&#xA;ls -Z /etc/ssh/sshd_config&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_02-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_02.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_11/exercise_02.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_11/exercise_02.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_02.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 2: You have created a new directory, /srv/www/, which needs to be served by Apache. &#xA;# Write the two commands required to permanently set the context for this directory &#xA;# and all its contents to httpd_sys_content_t.&#xA;#&#xA;# Task: Set SELinux context for Apache web content directory.&#xA;&#xA;# Add the context rule permanently&#xA;sudo semanage fcontext -a -t httpd_sys_content_t &amp;quot;/srv/www(/.*)?&amp;quot;&#xA;&#xA;# Apply the context to the directory&#xA;sudo restorecon -Rv /srv/www&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;SELinux context has been set for /srv/www&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_03-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_03.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_11/exercise_03.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_11/exercise_03.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_03.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 3: The company wants to run a secondary HTTP server on port 8988. &#xA;# Write the command to permanently label TCP port 8988 as a valid http_port_t port.&#xA;#&#xA;# Task: Add a custom port to SELinux http_port_t type.&#xA;&#xA;sudo semanage port -a -t http_port_t -p tcp 8988&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Port 8988 has been added to http_port_t&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;&#xA;sudo semanage port -l | grep http_port_t&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_04-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_04.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_11/exercise_04.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_11/exercise_04.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_04.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 4: Find and enable the SELinux boolean permanently that allows the Apache web server to use NFS.&#xA;#&#xA;# Task: Enable SELinux boolean for Apache NFS access.&#xA;&#xA;echo &amp;quot;Searching for NFS-related Apache booleans...&amp;quot;&#xA;sudo semanage boolean -l | grep nfs | grep http&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Enabling httpd_use_nfs boolean permanently...&amp;quot;&#xA;sudo setsebool -P httpd_use_nfs on&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Boolean has been enabled.&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;</description>
			</item>
			<item>
				<title>Chapter 2: Documentation and Basic Commands Answers</title>
				<link>https://markelov.dev/adminbook/chapter_2/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/adminbook/chapter_2/</guid>
				<description>&lt;header class=&#34;site-header&#34;&gt;&#xA;    &lt;p&gt;&lt;a href=&#34;https://markelov.dev/adminbook/&#34;&gt;&amp;larr; All chapters&lt;/a&gt; · &lt;a href=&#34;https://link.springer.com/book/9798868822254&#34;&gt;Book&lt;/a&gt; · &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook&#34;&gt;Repository&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;h1&gt;Chapter 2: Documentation and Basic Commands Answers&lt;/h1&gt;&#xA;    &lt;p class=&#34;muted&#34;&gt;Red Hat RHCSA 10 Study Companion: Getting Ready for the EX200 Exam by Andrey Markelov (May 2026).&lt;/p&gt;&#xA;  &lt;/header&gt;&#xA;  &lt;h2&gt;Topics&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Man pages, info pages&lt;/li&gt;&lt;li&gt;Bash aliases&lt;/li&gt;&lt;li&gt;Find command and pipes&lt;/li&gt;&lt;li&gt;Vim tutorial&lt;/li&gt;&lt;/ul&gt;&lt;nav class=&#34;toc&#34;&gt;&lt;h2&gt;Exercises&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;#exercise_01-sh&#34;&gt;exercise_01.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_02-sh&#34;&gt;exercise_02.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_03-sh&#34;&gt;exercise_03.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_04-sh&#34;&gt;exercise_04.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_05-sh&#34;&gt;exercise_05.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_extra_01-sh&#34;&gt;exercise_extra_01.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_extra_02-sh&#34;&gt;exercise_extra_02.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_extra_03-sh&#34;&gt;exercise_extra_03.sh&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;hr&gt;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_01-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_01.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_2/exercise_01.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_2/exercise_01.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_01.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 1: Check the man page for the file passwd to find the name of the fifth field and why it has this name.&#xA;#&#xA;# Task: Use the man command to view the passwd file format documentation&#xA;# and identify what the fifth field represents.&#xA;&#xA;man 5 passwd&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_02-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_02.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_2/exercise_02.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_2/exercise_02.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_02.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 2: Call info info and read tutorial. If missed install info package.&#xA;#&#xA;# Task: Open the info documentation system&amp;#x27;s tutorial to learn how to use info pages.&#xA;&#xA;info info&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_03-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_03.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_2/exercise_03.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_2/exercise_03.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_03.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 3: Find in the bash manual page description of aliases and create an alias lls for ls -lah&#xA;#&#xA;# Task: Search the bash man page for ALIASES section and create a persistent alias&#xA;# for the &amp;#x27;ls -lah&amp;#x27; command named &amp;#x27;lls&amp;#x27;.&#xA;&#xA;# First, view the bash manual for aliases&#xA;# man bash&#xA;# Type /ALIASES and press Enter to search&#xA;&#xA;# Create the alias in .bashrc&#xA;echo &amp;quot;alias lls=&amp;#x27;ls -lah&amp;#x27;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&#xA;&#xA;# Apply the changes to the current session&#xA;source ~/.bashrc&#xA;&#xA;echo &amp;quot;Alias &amp;#x27;lls&amp;#x27; has been created for &amp;#x27;ls -lah&amp;#x27;&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_04-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_04.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_2/exercise_04.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_2/exercise_04.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_04.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 4: By using a pipe and a find tool, make a command that will display the number &#xA;# of files in the /etc directory containing &amp;quot;an&amp;quot; in the name.&#xA;#&#xA;# Task: Use find to search for files with &amp;quot;an&amp;quot; in their names in /etc directory,&#xA;# and count them using wc.&#xA;&#xA;find /etc -type f -name &amp;quot;*an*&amp;quot; 2&amp;gt;/dev/null | wc -l&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_05-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_05.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_2/exercise_05.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_2/exercise_05.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_05.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 5: Run the command vimtutor and follow the exercises (it will take about 20 minutes).&#xA;#&#xA;# Task: Launch the interactive Vim tutorial to learn basic Vim text editor commands.&#xA;&#xA;vimtutor&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_extra_01-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_extra_01.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_2/exercise_extra_01.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_2/exercise_extra_01.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_extra_01.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Extra Exercise 1: Use the find command to locate all files in /var/log that were &#xA;# modified in the last 24 hours. Sort the results by modification time (newest first).&#xA;#&#xA;# Task: Find recently modified log files using find with -mtime.&#xA;&#xA;echo &amp;quot;Files in /var/log modified in the last 24 hours (newest first):&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;find /var/log -type f -mtime -1 2&amp;gt;/dev/null | xargs ls -lt 2&amp;gt;/dev/null | head -20&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_extra_02-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_extra_02.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_2/exercise_extra_02.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_2/exercise_extra_02.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_extra_02.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Extra Exercise 2: Create a command pipeline that reads /etc/passwd, extracts &#xA;# all unique shells (field 7), sorts them, and displays how many users use each shell.&#xA;#&#xA;# Task: Use cut, sort, uniq in a pipeline to analyze shell usage.&#xA;&#xA;echo &amp;quot;Shell usage statistics from /etc/passwd:&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;cut -d: -f7 /etc/passwd | sort | uniq -c | sort -rn&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_extra_03-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_extra_03.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_2/exercise_extra_03.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_2/exercise_extra_03.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_extra_03.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Extra Exercise 3: Use the head and tail commands together to extract lines 10-20&#xA;# from /etc/passwd. Then use sed to achieve the same result.&#xA;#&#xA;# Task: Extract a range of lines from a file using different methods.&#xA;&#xA;echo &amp;quot;=== Using head and tail ===&amp;quot;&#xA;head -20 /etc/passwd | tail -11&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;=== Using sed ===&amp;quot;&#xA;sed -n &amp;#x27;10,20p&amp;#x27; /etc/passwd&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;=== Using awk ===&amp;quot;&#xA;awk &amp;#x27;NR&amp;gt;=10 &amp;amp;&amp;amp; NR&amp;lt;=20&amp;#x27; /etc/passwd&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;</description>
			</item>
			<item>
				<title>Chapter 3: Bash Scripting Answers</title>
				<link>https://markelov.dev/adminbook/chapter_3/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/adminbook/chapter_3/</guid>
				<description>&lt;header class=&#34;site-header&#34;&gt;&#xA;    &lt;p&gt;&lt;a href=&#34;https://markelov.dev/adminbook/&#34;&gt;&amp;larr; All chapters&lt;/a&gt; · &lt;a href=&#34;https://link.springer.com/book/9798868822254&#34;&gt;Book&lt;/a&gt; · &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook&#34;&gt;Repository&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;h1&gt;Chapter 3: Bash Scripting Answers&lt;/h1&gt;&#xA;    &lt;p class=&#34;muted&#34;&gt;Red Hat RHCSA 10 Study Companion: Getting Ready for the EX200 Exam by Andrey Markelov (May 2026).&lt;/p&gt;&#xA;  &lt;/header&gt;&#xA;  &lt;h2&gt;Topics&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Argument processing&lt;/li&gt;&lt;li&gt;File and directory operations&lt;/li&gt;&lt;li&gt;Conditional statements and loops&lt;/li&gt;&lt;li&gt;Test operators&lt;/li&gt;&lt;/ul&gt;&lt;nav class=&#34;toc&#34;&gt;&lt;h2&gt;Exercises&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;#exercise_01-sh&#34;&gt;exercise_01.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_02-sh&#34;&gt;exercise_02.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_03-sh&#34;&gt;exercise_03.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_04-sh&#34;&gt;exercise_04.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_05-sh&#34;&gt;exercise_05.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_extra_01-sh&#34;&gt;exercise_extra_01.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_extra_02-sh&#34;&gt;exercise_extra_02.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_extra_03-sh&#34;&gt;exercise_extra_03.sh&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;hr&gt;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_01-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_01.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_3/exercise_01.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_3/exercise_01.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_01.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 1: Create a script that takes two numbers as command-line arguments and prints their sum.&#xA;#&#xA;# Task: Accept two numeric arguments, validate them, and calculate their sum.&#xA;&#xA;if [ $# -ne 2 ]; then&#xA;    echo &amp;quot;Error: Two numbers required&amp;quot;&#xA;    echo &amp;quot;Usage: $0 number1 number2&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&#xA;if ! [[ &amp;quot;$1&amp;quot; =~ ^-?[0-9]+$ ]] || ! [[ &amp;quot;$2&amp;quot; =~ ^-?[0-9]+$ ]]; then&#xA;    echo &amp;quot;Error: Both arguments must be numbers&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&#xA;sum=$(( $1 + $2 ))&#xA;echo &amp;quot;Sum of $1 and $2 is: $sum&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_02-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_02.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_3/exercise_02.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_3/exercise_02.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_02.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 2: Write a script that checks if a file provided as a command-line argument exists.&#xA;#&#xA;# Task: Accept a filename as an argument and check if it exists as a regular file,&#xA;# directory, or doesn&amp;#x27;t exist at all.&#xA;&#xA;if [ $# -eq 0 ]; then&#xA;    echo &amp;quot;Error: No filename provided&amp;quot;&#xA;    echo &amp;quot;Usage: $0 filename&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&#xA;filename=&amp;quot;$1&amp;quot;&#xA;&#xA;if [ -f &amp;quot;$filename&amp;quot; ]; then&#xA;    echo &amp;quot;File &amp;#x27;$filename&amp;#x27; exists&amp;quot;&#xA;    ls -lh &amp;quot;$filename&amp;quot;&#xA;    exit 0&#xA;elif [ -d &amp;quot;$filename&amp;quot; ]; then&#xA;    echo &amp;quot;&amp;#x27;$filename&amp;#x27; is a directory, not a regular file&amp;quot;&#xA;    exit 2&#xA;else&#xA;    echo &amp;quot;File &amp;#x27;$filename&amp;#x27; does not exist&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_03-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_03.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_3/exercise_03.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_3/exercise_03.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_03.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 3: Create a script that creates a directory if it doesn&amp;#x27;t already exist.&#xA;#&#xA;# Task: Accept a directory name as an argument and create it if it doesn&amp;#x27;t exist.&#xA;# Handle cases where a file with the same name exists.&#xA;&#xA;if [ $# -eq 0 ]; then&#xA;    echo &amp;quot;Error: No directory name provided&amp;quot;&#xA;    echo &amp;quot;Usage: $0 directory_name&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&#xA;dirname=&amp;quot;$1&amp;quot;&#xA;&#xA;if [ -d &amp;quot;$dirname&amp;quot; ]; then&#xA;    echo &amp;quot;Directory &amp;#x27;$dirname&amp;#x27; already exists&amp;quot;&#xA;    ls -ld &amp;quot;$dirname&amp;quot;&#xA;    exit 0&#xA;fi&#xA;&#xA;if [ -e &amp;quot;$dirname&amp;quot; ]; then&#xA;    echo &amp;quot;Error: &amp;#x27;$dirname&amp;#x27; exists but is not a directory&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&#xA;if mkdir -p &amp;quot;$dirname&amp;quot;; then&#xA;    echo &amp;quot;Directory &amp;#x27;$dirname&amp;#x27; created successfully&amp;quot;&#xA;    ls -ld &amp;quot;$dirname&amp;quot;&#xA;    exit 0&#xA;else&#xA;    echo &amp;quot;Failed to create directory &amp;#x27;$dirname&amp;#x27;&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_04-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_04.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_3/exercise_04.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_3/exercise_04.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_04.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 4: Create a script that performs a numeric countdown from a given starting number to 1.&#xA;# If no argument is provided or the argument is not a positive integer, print an error message and exit.&#xA;#&#xA;# Task: Count down from a specified positive integer to 1, with input validation.&#xA;&#xA;if [ $# -eq 0 ]; then&#xA;    echo &amp;quot;Error: No starting number provided&amp;quot;&#xA;    echo &amp;quot;Usage: $0 positive_integer&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&#xA;start=&amp;quot;$1&amp;quot;&#xA;&#xA;if ! [[ &amp;quot;$start&amp;quot; =~ ^[0-9]+$ ]]; then&#xA;    echo &amp;quot;Error: &amp;#x27;$start&amp;#x27; is not a valid positive integer&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&#xA;if [ &amp;quot;$start&amp;quot; -le 0 ]; then&#xA;    echo &amp;quot;Error: Number must be greater than 0&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&#xA;echo &amp;quot;Starting countdown from $start...&amp;quot;&#xA;for ((i=start; i&amp;gt;=1; i--)); do&#xA;    echo &amp;quot;$i&amp;quot;&#xA;done&#xA;&#xA;echo &amp;quot;Countdown complete!&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_05-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_05.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_3/exercise_05.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_3/exercise_05.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_05.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 5: Write a script that lists all executable regular files in the current directory.&#xA;#&#xA;# Task: Find all files in the current directory that are both regular files and executable,&#xA;# then display them with file details.&#xA;&#xA;echo &amp;quot;Executable files in current directory:&amp;quot;&#xA;&#xA;count=0&#xA;&#xA;for file in *; do&#xA;    if [ -f &amp;quot;$file&amp;quot; ] &amp;amp;&amp;amp; [ -x &amp;quot;$file&amp;quot; ]; then&#xA;        ls -lh &amp;quot;$file&amp;quot;&#xA;        ((count++))&#xA;    fi&#xA;done&#xA;&#xA;echo &amp;quot;Total executable files found: $count&amp;quot;&#xA;&#xA;if [ $count -eq 0 ]; then&#xA;    echo &amp;quot;No executable files found&amp;quot;&#xA;    exit 1&#xA;else&#xA;    exit 0&#xA;fi&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_extra_01-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_extra_01.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_3/exercise_extra_01.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_3/exercise_extra_01.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_extra_01.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Extra Exercise 1: Write a script that takes a filename as an argument&#xA;# and displays the number of lines, words, and characters in the file.&#xA;# If no argument is provided, print a usage message.&#xA;&#xA;if [ $# -eq 0 ]; then&#xA;    echo &amp;quot;Usage: $0 &amp;lt;filename&amp;gt;&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&#xA;FILE=&amp;quot;$1&amp;quot;&#xA;&#xA;if [ ! -f &amp;quot;$FILE&amp;quot; ]; then&#xA;    echo &amp;quot;Error: File &amp;#x27;$FILE&amp;#x27; does not exist or is not a regular file.&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&#xA;LINES=$(wc -l &amp;lt; &amp;quot;$FILE&amp;quot;)&#xA;WORDS=$(wc -w &amp;lt; &amp;quot;$FILE&amp;quot;)&#xA;CHARS=$(wc -c &amp;lt; &amp;quot;$FILE&amp;quot;)&#xA;&#xA;echo &amp;quot;File: $FILE&amp;quot;&#xA;echo &amp;quot;Lines: $LINES&amp;quot;&#xA;echo &amp;quot;Words: $WORDS&amp;quot;&#xA;echo &amp;quot;Characters: $CHARS&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_extra_02-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_extra_02.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_3/exercise_extra_02.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_3/exercise_extra_02.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_extra_02.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Extra Exercise 2: Write a script that generates a simple multiplication table&#xA;# for a number provided as an argument. Display the table from 1 to 10.&#xA;# Use a for loop with the seq command.&#xA;&#xA;if [ $# -eq 0 ]; then&#xA;    echo &amp;quot;Usage: $0 &amp;lt;number&amp;gt;&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&#xA;NUM=&amp;quot;$1&amp;quot;&#xA;&#xA;# Validate that the argument is a number&#xA;if ! [[ &amp;quot;$NUM&amp;quot; =~ ^-?[0-9]+$ ]]; then&#xA;    echo &amp;quot;Error: &amp;#x27;$NUM&amp;#x27; is not a valid integer.&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&#xA;echo &amp;quot;Multiplication table for $NUM:&amp;quot;&#xA;echo &amp;quot;==============================&amp;quot;&#xA;&#xA;for i in $(seq 1 10); do&#xA;    RESULT=$((NUM * i))&#xA;    printf &amp;quot;%d x %2d = %d\n&amp;quot; &amp;quot;$NUM&amp;quot; &amp;quot;$i&amp;quot; &amp;quot;$RESULT&amp;quot;&#xA;done&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_extra_03-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_extra_03.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_3/exercise_extra_03.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_3/exercise_extra_03.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_extra_03.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Extra Exercise 3: Write a script that monitors a given log file and&#xA;# counts the number of ERROR, WARNING, and INFO lines.&#xA;# Accept the log file path as an argument. Use grep -c for counting.&#xA;&#xA;if [ $# -eq 0 ]; then&#xA;    echo &amp;quot;Usage: $0 &amp;lt;logfile&amp;gt;&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&#xA;LOGFILE=&amp;quot;$1&amp;quot;&#xA;&#xA;if [ ! -f &amp;quot;$LOGFILE&amp;quot; ]; then&#xA;    echo &amp;quot;Error: File &amp;#x27;$LOGFILE&amp;#x27; does not exist.&amp;quot;&#xA;    exit 1&#xA;fi&#xA;&#xA;ERRORS=$(grep -ci &amp;quot;error&amp;quot; &amp;quot;$LOGFILE&amp;quot;)&#xA;WARNINGS=$(grep -ci &amp;quot;warning&amp;quot; &amp;quot;$LOGFILE&amp;quot;)&#xA;INFOS=$(grep -ci &amp;quot;info&amp;quot; &amp;quot;$LOGFILE&amp;quot;)&#xA;TOTAL=$(wc -l &amp;lt; &amp;quot;$LOGFILE&amp;quot;)&#xA;&#xA;echo &amp;quot;Log file analysis: $LOGFILE&amp;quot;&#xA;echo &amp;quot;==============================&amp;quot;&#xA;echo &amp;quot;Total lines:  $TOTAL&amp;quot;&#xA;echo &amp;quot;ERROR lines:  $ERRORS&amp;quot;&#xA;echo &amp;quot;WARNING lines: $WARNINGS&amp;quot;&#xA;echo &amp;quot;INFO lines:   $INFOS&amp;quot;&#xA;&#xA;if [ &amp;quot;$ERRORS&amp;quot; -gt 0 ]; then&#xA;    echo &amp;quot;&amp;quot;&#xA;    echo &amp;quot;Last 5 ERROR lines:&amp;quot;&#xA;    grep -i &amp;quot;error&amp;quot; &amp;quot;$LOGFILE&amp;quot; | tail -5&#xA;fi&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;</description>
			</item>
			<item>
				<title>Chapter 4: User and Group Management Answers</title>
				<link>https://markelov.dev/adminbook/chapter_4/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/adminbook/chapter_4/</guid>
				<description>&lt;header class=&#34;site-header&#34;&gt;&#xA;    &lt;p&gt;&lt;a href=&#34;https://markelov.dev/adminbook/&#34;&gt;&amp;larr; All chapters&lt;/a&gt; · &lt;a href=&#34;https://link.springer.com/book/9798868822254&#34;&gt;Book&lt;/a&gt; · &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook&#34;&gt;Repository&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;h1&gt;Chapter 4: User and Group Management Answers&lt;/h1&gt;&#xA;    &lt;p class=&#34;muted&#34;&gt;Red Hat RHCSA 10 Study Companion: Getting Ready for the EX200 Exam by Andrey Markelov (May 2026).&lt;/p&gt;&#xA;  &lt;/header&gt;&#xA;  &lt;h2&gt;Topics&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Creating users and groups&lt;/li&gt;&lt;li&gt;User modification and deletion&lt;/li&gt;&lt;li&gt;Password aging policies&lt;/li&gt;&lt;li&gt;Sudo configuration&lt;/li&gt;&lt;/ul&gt;&lt;nav class=&#34;toc&#34;&gt;&lt;h2&gt;Exercises&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;#exercise_01-sh&#34;&gt;exercise_01.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_02-sh&#34;&gt;exercise_02.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_03-sh&#34;&gt;exercise_03.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_04-sh&#34;&gt;exercise_04.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_05-sh&#34;&gt;exercise_05.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_06-sh&#34;&gt;exercise_06.sh&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;hr&gt;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_01-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_01.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_4/exercise_01.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_4/exercise_01.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_01.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 1: Create a new devusers group. Create new users named devuser1, devuser2, and devuser3,&#xA;# and add them to the devusers group. Add devuser1 to the wheel group.&#xA;#&#xA;# Task: Set up a new group and three users with proper group memberships.&#xA;&#xA;sudo groupadd devusers&#xA;sudo useradd -G devusers devuser1&#xA;sudo useradd -G devusers devuser2&#xA;sudo useradd -G devusers devuser3&#xA;sudo usermod -aG wheel devuser1&#xA;&#xA;# Set passwords for the users&#xA;echo &amp;quot;Password for user devuser1&amp;quot;&#xA;sudo passwd devuser1&#xA;echo &amp;quot;Password for user devuser2&amp;quot;&#xA;sudo passwd devuser2&#xA;echo &amp;quot;Password for user devuser3&amp;quot;&#xA;sudo passwd devuser3&#xA;&#xA;# Verify user configurations&#xA;id devuser1&#xA;id devuser2&#xA;id devuser3&#xA;&#xA;# Verify group memberships&#xA;getent group wheel&#xA;getent group devusers&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_02-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_02.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_4/exercise_02.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_4/exercise_02.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_02.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 2: Modify the devuser3 account. Change the comment field to &amp;quot;Senior Developer - devuser3&amp;quot;,&#xA;# add him to an existing secondary group named sshd, and change their default shell to /usr/sbin/nologin.&#xA;# Ensure that existing secondary groups are preserved.&#xA;#&#xA;# Task: Modify user attributes including comment, shell, and group membership.&#xA;&#xA;sudo usermod -c &amp;quot;Senior Developer - devuser3&amp;quot; -aG sshd -s /usr/sbin/nologin devuser3&#xA;&#xA;# Verify the changes&#xA;getent passwd devuser3&#xA;id devuser3&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_03-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_03.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_4/exercise_03.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_4/exercise_03.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_03.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 3: Lock the devuser2 account. Verify the change by checking entry in /etc/shadow.&#xA;#&#xA;# Task: Lock a user account and verify the lock status in the shadow file.&#xA;&#xA;sudo usermod -L devuser2&#xA;&#xA;# Verify the lock (should see &amp;#x27;!&amp;#x27; before the password hash)&#xA;sudo grep devuser2 /etc/shadow&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_04-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_04.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_4/exercise_04.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_4/exercise_04.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_04.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 4: Delete the devuser2 account, ensuring the home directory is also deleted.&#xA;# Verify that the entry is no longer in /etc/passwd.&#xA;#&#xA;# Task: Remove a user account completely including their home directory.&#xA;&#xA;sudo userdel -r devuser2&#xA;&#xA;# Verify deletion&#xA;sudo grep devuser2 /etc/shadow&#xA;sudo ls /home&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_05-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_05.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_4/exercise_05.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_4/exercise_05.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_05.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 5: For devuser1, set the minimum number of days between password changes to 8 and &#xA;# the maximum number of days to 40. Set the warning period before devuser1&amp;#x27;s password expires &#xA;# to 14 days. Force devuser1 to change their password on the next login. &#xA;# Set the devuser1&amp;#x27;s account to expire on December 30, 2028.&#xA;#&#xA;# Task: Configure password aging and account expiration settings for a user.&#xA;&#xA;sudo chage -m 8 -M 40 -W 14 -d 0 -E 2028-12-31 devuser1&#xA;&#xA;# Verify the settings&#xA;sudo chage -l devuser1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_06-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_06.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_4/exercise_06.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_4/exercise_06.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_06.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 6: Create a new file /etc/sudoers.d/devs using visudo with option -f. &#xA;# In this new file, add a rule that allows the user devuser2 to run all commands as root &#xA;# without needing a password. Add a rule that allows the group devusers to run all commands &#xA;# defined by alias SERVICES from /etc/sudoers as root that require a password. &#xA;# Make sure SERVICES is uncommented in /etc/sudoers.&#xA;# Will devuser2 be required to use a password for /usr/bin/systemctl start?&#xA;#&#xA;# Task: Configure sudo rules for users and groups with specific permissions.&#xA;&#xA;# Create the sudoers file using visudo&#xA;sudo visudo -f /etc/sudoers.d/devs&#xA;&#xA;# Add these lines to the file:&#xA;# devuser2 ALL=(ALL) NOPASSWD: ALL&#xA;# %devusers ALL=(ALL) SERVICES&#xA;&#xA;# Answer: No, devuser2 will not be required to use a password for /usr/bin/systemctl start&#xA;# because devuser2 has NOPASSWD for ALL commands.&#xA;&#xA;echo &amp;quot;After running this script, edit /etc/sudoers.d/devs with:&amp;quot;&#xA;echo &amp;quot;devuser2 ALL=(ALL) NOPASSWD: ALL&amp;quot;&#xA;echo &amp;quot;%devusers ALL=(ALL) SERVICES&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;</description>
			</item>
			<item>
				<title>Chapter 5: Disk Management and LVM Answers</title>
				<link>https://markelov.dev/adminbook/chapter_5/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/adminbook/chapter_5/</guid>
				<description>&lt;header class=&#34;site-header&#34;&gt;&#xA;    &lt;p&gt;&lt;a href=&#34;https://markelov.dev/adminbook/&#34;&gt;&amp;larr; All chapters&lt;/a&gt; · &lt;a href=&#34;https://link.springer.com/book/9798868822254&#34;&gt;Book&lt;/a&gt; · &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook&#34;&gt;Repository&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;h1&gt;Chapter 5: Disk Management and LVM Answers&lt;/h1&gt;&#xA;    &lt;p class=&#34;muted&#34;&gt;Red Hat RHCSA 10 Study Companion: Getting Ready for the EX200 Exam by Andrey Markelov (May 2026).&lt;/p&gt;&#xA;  &lt;/header&gt;&#xA;  &lt;h2&gt;Topics&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Disk partitioning (fdisk)&lt;/li&gt;&lt;li&gt;Physical volumes and volume groups&lt;/li&gt;&lt;li&gt;Logical volumes&lt;/li&gt;&lt;li&gt;LVM cleanup&lt;/li&gt;&lt;/ul&gt;&lt;nav class=&#34;toc&#34;&gt;&lt;h2&gt;Exercises&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;#exercise_01-sh&#34;&gt;exercise_01.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_02-sh&#34;&gt;exercise_02.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_03-sh&#34;&gt;exercise_03.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_04-sh&#34;&gt;exercise_04.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_05-sh&#34;&gt;exercise_05.sh&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;hr&gt;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_01-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_01.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-instructional&#34;&gt;instructional&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: /dev/sdb&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_5/exercise_01.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_5/exercise_01.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_01.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: instructional&#xA;# @requires: /dev/sdb&#xA;# @safe: yes&#xA;&#xA;# Exercise 1: Assuming you have a new, unpartitioned 20Gb disk named /dev/sdb. &#xA;# Use fdisk /dev/sdb to enter the interactive mode. Create a new DOS (MBR) partition table for the disk. &#xA;# Create one primary partition of 2 Gb and one extended partition. &#xA;# Within the extended partition, create two logical partitions of 500 MiB each.&#xA;#&#xA;# Task: Create MBR partition table with primary and logical partitions using fdisk.&#xA;#&#xA;# WARNING: This script requires a disk device and will modify it. Use with caution!&#xA;&#xA;echo &amp;quot;This script demonstrates the fdisk commands needed.&amp;quot;&#xA;echo &amp;quot;Run: sudo fdisk /dev/sdb&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Commands to enter in fdisk:&amp;quot;&#xA;echo &amp;quot;n          - Create new partition&amp;quot;&#xA;echo &amp;quot;p          - Primary partition&amp;quot;&#xA;echo &amp;quot;1          - Partition number 1&amp;quot;&#xA;echo &amp;quot;[Enter]    - First sector (default)&amp;quot;&#xA;echo &amp;quot;+2G        - Size of 2GB&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;n          - Create new partition&amp;quot;&#xA;echo &amp;quot;e          - Extended partition&amp;quot;&#xA;echo &amp;quot;2          - Partition number 2&amp;quot;&#xA;echo &amp;quot;[Enter]    - First sector (default)&amp;quot;&#xA;echo &amp;quot;[Enter]    - Last sector (use remaining space)&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;n          - Create logical partition&amp;quot;&#xA;echo &amp;quot;[Enter]    - Accept logical partition&amp;quot;&#xA;echo &amp;quot;[Enter]    - First sector (default)&amp;quot;&#xA;echo &amp;quot;+500M      - Size of 500MB&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;n          - Create logical partition&amp;quot;&#xA;echo &amp;quot;[Enter]    - Accept logical partition&amp;quot;&#xA;echo &amp;quot;[Enter]    - First sector (default)&amp;quot;&#xA;echo &amp;quot;+500M      - Size of 500MB&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;p          - Print partition table&amp;quot;&#xA;echo &amp;quot;w          - Write changes and exit&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_02-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_02.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-instructional&#34;&gt;instructional&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: /dev/sdb&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_5/exercise_02.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_5/exercise_02.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_02.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: instructional&#xA;# @requires: /dev/sdb&#xA;# @safe: yes&#xA;&#xA;# Exercise 2: Convert partitions to LVM type if you used any other. From remaining space create another one.&#xA;#&#xA;# Task: Change partition types to Linux LVM (type 8e) and create additional partition.&#xA;#&#xA;# WARNING: This script requires a disk device. Use with caution!&#xA;&#xA;echo &amp;quot;This script demonstrates the fdisk commands needed.&amp;quot;&#xA;echo &amp;quot;Run: sudo fdisk /dev/sdb&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Commands to enter in fdisk:&amp;quot;&#xA;echo &amp;quot;t          - Change partition type&amp;quot;&#xA;echo &amp;quot;1          - Partition number 1&amp;quot;&#xA;echo &amp;quot;8e         - Linux LVM type&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;t          - Change partition type&amp;quot;&#xA;echo &amp;quot;5          - Partition number 5&amp;quot;&#xA;echo &amp;quot;8e         - Linux LVM type&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;t          - Change partition type&amp;quot;&#xA;echo &amp;quot;6          - Partition number 6&amp;quot;&#xA;echo &amp;quot;8e         - Linux LVM type&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;n          - Create new partition&amp;quot;&#xA;echo &amp;quot;[Enter]    - Accept logical partition&amp;quot;&#xA;echo &amp;quot;[Enter]    - First sector (default)&amp;quot;&#xA;echo &amp;quot;[Enter]    - Last sector (use remaining space)&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;t          - Change partition type&amp;quot;&#xA;echo &amp;quot;7          - Partition number 7&amp;quot;&#xA;echo &amp;quot;8e         - Linux LVM type&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;p          - Print partition table&amp;quot;&#xA;echo &amp;quot;w          - Write changes and exit&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_03-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_03.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root, /dev/sdb&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_5/exercise_03.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_5/exercise_03.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_03.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root, /dev/sdb&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 3: Using the LVM partitions you created in a previous exercise, &#xA;# create physical volumes and include into vg01 group.&#xA;#&#xA;# Task: Initialize LVM physical volumes and create a volume group.&#xA;#&#xA;# WARNING: This will format the specified partitions. Use with caution!&#xA;&#xA;sudo pvcreate /dev/sdb{1,5,6,7}&#xA;&#xA;sudo vgcreate vg01 /dev/sdb{1,5,6,7}&#xA;&#xA;# Display the volume group information&#xA;sudo vgdisplay vg01&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_04-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_04.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_5/exercise_04.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_5/exercise_04.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_04.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 4: From the vg01 volume group, create a new logical volume named lv01 with a size of 3 GiB.&#xA;# Create a second logical volume named lv02 that uses 40% of the remaining free space in the volume group.&#xA;#&#xA;# Task: Create two logical volumes with different sizing methods.&#xA;&#xA;sudo lvcreate -n lv01 -L 3G vg01&#xA;&#xA;sudo lvcreate -n lv02 -l 40%FREE vg01&#xA;&#xA;# Display the logical volumes&#xA;sudo lvdisplay vg01&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_05-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_05.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root, /dev/sdb&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_5/exercise_05.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_5/exercise_05.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_05.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root, /dev/sdb&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 5: Delete all LVs and VG.&#xA;#&#xA;# Task: Clean up LVM configuration by removing logical volumes, volume groups, and physical volumes.&#xA;#&#xA;# WARNING: This will destroy data. Use with caution!&#xA;&#xA;# Remove logical volumes&#xA;sudo lvremove /dev/vg01/lv0{1,2}&#xA;&#xA;# Remove volume group&#xA;sudo vgremove vg01&#xA;&#xA;# Remove physical volumes&#xA;sudo pvremove /dev/sdb{1,5,6,7}&#xA;&#xA;echo &amp;quot;All LVM structures have been removed.&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;</description>
			</item>
			<item>
				<title>Chapter 6: Filesystems and Storage Answers</title>
				<link>https://markelov.dev/adminbook/chapter_6/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/adminbook/chapter_6/</guid>
				<description>&lt;header class=&#34;site-header&#34;&gt;&#xA;    &lt;p&gt;&lt;a href=&#34;https://markelov.dev/adminbook/&#34;&gt;&amp;larr; All chapters&lt;/a&gt; · &lt;a href=&#34;https://link.springer.com/book/9798868822254&#34;&gt;Book&lt;/a&gt; · &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook&#34;&gt;Repository&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;h1&gt;Chapter 6: Filesystems and Storage Answers&lt;/h1&gt;&#xA;    &lt;p class=&#34;muted&#34;&gt;Red Hat RHCSA 10 Study Companion: Getting Ready for the EX200 Exam by Andrey Markelov (May 2026).&lt;/p&gt;&#xA;  &lt;/header&gt;&#xA;  &lt;h2&gt;Topics&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;GPT partitioning (parted)&lt;/li&gt;&lt;li&gt;XFS filesystem&lt;/li&gt;&lt;li&gt;fstab configuration&lt;/li&gt;&lt;li&gt;SGID permissions&lt;/li&gt;&lt;li&gt;Swap files&lt;/li&gt;&lt;/ul&gt;&lt;nav class=&#34;toc&#34;&gt;&lt;h2&gt;Exercises&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;#exercise_01-sh&#34;&gt;exercise_01.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_02-sh&#34;&gt;exercise_02.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_03-sh&#34;&gt;exercise_03.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_04-sh&#34;&gt;exercise_04.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_05-sh&#34;&gt;exercise_05.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_06-sh&#34;&gt;exercise_06.sh&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;hr&gt;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_01-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_01.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-instructional&#34;&gt;instructional&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: /dev/sdb&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_6/exercise_01.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_6/exercise_01.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_01.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: instructional&#xA;# @requires: /dev/sdb&#xA;# @safe: yes&#xA;&#xA;# Exercise 1: Use the parted command to create a new GPT partition table on a disk (e.g., /dev/sdb) &#xA;# and then create a new primary partition using 30% of the available space. &#xA;# Format this partition with the XFS file system.&#xA;#&#xA;# Task: Create GPT partition table, partition, and format with XFS.&#xA;#&#xA;# WARNING: This will erase all data on the disk. Use with caution!&#xA;&#xA;echo &amp;quot;This script demonstrates the parted commands needed.&amp;quot;&#xA;echo &amp;quot;Run: sudo parted /dev/sdb&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Commands to enter in parted:&amp;quot;&#xA;echo &amp;quot;mktable gpt         - Create GPT partition table&amp;quot;&#xA;echo &amp;quot;mkpart primary xfs 0% 30%  - Create partition using 30% of space&amp;quot;&#xA;echo &amp;quot;print               - Display partition table&amp;quot;&#xA;echo &amp;quot;quit                - Exit parted&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Then format the partition:&amp;quot;&#xA;echo &amp;quot;sudo mkfs.xfs /dev/sdb1&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_02-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_02.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root, /dev/sdb&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_6/exercise_02.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_6/exercise_02.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_02.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root, /dev/sdb&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 2: Modify the /etc/fstab file to ensure the new XFS partition mounts automatically &#xA;# to /mnt/newxfs every time the system boots. Use the partition&amp;#x27;s UUID for the entry.&#xA;#&#xA;# Task: Create mount point, get UUID, and add entry to /etc/fstab.&#xA;&#xA;# Create mount point&#xA;sudo mkdir -p /mnt/newxfs&#xA;&#xA;# Get the UUID of the partition&#xA;echo &amp;quot;UUID of /dev/sdb1:&amp;quot;&#xA;sudo blkid /dev/sdb1&#xA;&#xA;# Add entry to /etc/fstab&#xA;# Get the UUID from blkid output and add to fstab&#xA;UUID=$(sudo blkid -s UUID -o value /dev/sdb1)&#xA;echo &amp;quot;UUID=$UUID /mnt/newxfs xfs defaults 0 0&amp;quot; | sudo tee -a /etc/fstab&#xA;&#xA;# Verify fstab syntax&#xA;sudo findmnt --verify&#xA;&#xA;# Reload systemd and mount&#xA;sudo systemctl daemon-reload&#xA;sudo mount -a&#xA;&#xA;echo &amp;quot;Partition should now be mounted at /mnt/newxfs&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_03-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_03.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-instructional&#34;&gt;instructional&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: /dev/sdb&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_6/exercise_03.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_6/exercise_03.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_03.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: instructional&#xA;# @requires: /dev/sdb&#xA;# @safe: yes&#xA;&#xA;# Exercise 3: Use parted command to create a new partition with LVM type using 50% of the available space.&#xA;# Add partition to existing LVM group and extend / file system.&#xA;#&#xA;# Task: Create LVM partition, add to volume group, and extend root filesystem.&#xA;#&#xA;# WARNING: This modifies disk partitions and filesystems. Use with caution!&#xA;&#xA;echo &amp;quot;This script demonstrates the parted and LVM commands needed.&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Step 1: Create partition with parted&amp;quot;&#xA;echo &amp;quot;Run: sudo parted /dev/sdb&amp;quot;&#xA;echo &amp;quot;mkpart primary 30% 80%&amp;quot;&#xA;echo &amp;quot;set 2 lvm on&amp;quot;&#xA;echo &amp;quot;print&amp;quot;&#xA;echo &amp;quot;quit&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Step 2: Add to LVM&amp;quot;&#xA;echo &amp;quot;sudo vgextend rhel /dev/sdb2&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Step 3: Extend logical volume and filesystem&amp;quot;&#xA;echo &amp;quot;sudo lvextend -l +100%FREE /dev/rhel/root&amp;quot;&#xA;echo &amp;quot;sudo xfs_growfs /&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_04-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_04.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_6/exercise_04.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_6/exercise_04.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_04.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 4: Use the lsblk --fs or blkid commands to list all file systems &#xA;# on your system and their corresponding UUIDs.&#xA;#&#xA;# Task: Display filesystem information for all block devices.&#xA;&#xA;echo &amp;quot;=== Using lsblk --fs ===&amp;quot;&#xA;sudo lsblk --fs&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;=== Using blkid ===&amp;quot;&#xA;sudo blkid&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_05-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_05.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_6/exercise_05.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_6/exercise_05.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_05.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 5: Create a directory /tmp/shared_project and a group named devops. &#xA;# Set the directory&amp;#x27;s group ownership to devops and apply the SGID bit. &#xA;# Add your user to the devops group and verify that any new files you create &#xA;# in that directory inherit the devops group ownership.&#xA;#&#xA;# Task: Create directory with SGID bit, configure group ownership, and test inheritance.&#xA;&#xA;# Create directory&#xA;sudo mkdir -p /tmp/shared_project&#xA;&#xA;# Create group&#xA;sudo groupadd devops&#xA;&#xA;# Set group ownership&#xA;sudo chgrp devops /tmp/shared_project&#xA;&#xA;# Set permissions with SGID bit (2770)&#xA;sudo chmod 2770 /tmp/shared_project&#xA;&#xA;# Add current user to devops group&#xA;sudo usermod -aG devops &amp;quot;$USER&amp;quot;&#xA;&#xA;# Display directory permissions&#xA;ls -ld /tmp/shared_project/&#xA;&#xA;# Switch to devops group context&#xA;newgrp devops &amp;lt;&amp;lt; EOF&#xA;# Create a test file&#xA;touch /tmp/shared_project/testfile&#xA;&#xA;# Verify group ownership&#xA;ls -l /tmp/shared_project/testfile&#xA;EOF&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Verification complete. The testfile should have devops group ownership.&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_06-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_06.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_6/exercise_06.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_6/exercise_06.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_06.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 6: Create a 1 Gb file at /tmp/swapfile using dd. &#xA;# Use the mkswap command to format the file as a swap area. &#xA;# Activate the swap file with the swapon command and verify the new total swap size with free -h.&#xA;#&#xA;# Task: Create and activate a swap file.&#xA;&#xA;# Create 1 GB swap file&#xA;sudo dd if=/dev/zero of=/tmp/swapfile bs=1M count=1024&#xA;&#xA;# Set proper permissions (important for security)&#xA;sudo chmod 600 /tmp/swapfile&#xA;&#xA;# Format as swap&#xA;sudo mkswap /tmp/swapfile&#xA;&#xA;# Activate swap&#xA;sudo swapon /tmp/swapfile&#xA;&#xA;# Verify swap is active&#xA;free -h&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Swap file created and activated. Use &amp;#x27;sudo swapoff /tmp/swapfile&amp;#x27; to deactivate.&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;</description>
			</item>
			<item>
				<title>Chapter 7: System Management Answers</title>
				<link>https://markelov.dev/adminbook/chapter_7/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/adminbook/chapter_7/</guid>
				<description>&lt;header class=&#34;site-header&#34;&gt;&#xA;    &lt;p&gt;&lt;a href=&#34;https://markelov.dev/adminbook/&#34;&gt;&amp;larr; All chapters&lt;/a&gt; · &lt;a href=&#34;https://link.springer.com/book/9798868822254&#34;&gt;Book&lt;/a&gt; · &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook&#34;&gt;Repository&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;h1&gt;Chapter 7: System Management Answers&lt;/h1&gt;&#xA;    &lt;p class=&#34;muted&#34;&gt;Red Hat RHCSA 10 Study Companion: Getting Ready for the EX200 Exam by Andrey Markelov (May 2026).&lt;/p&gt;&#xA;  &lt;/header&gt;&#xA;  &lt;h2&gt;Topics&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Systemd targets&lt;/li&gt;&lt;li&gt;Journal logs&lt;/li&gt;&lt;li&gt;Process management (ps, nice, renice)&lt;/li&gt;&lt;li&gt;TuneD profiles&lt;/li&gt;&lt;/ul&gt;&lt;nav class=&#34;toc&#34;&gt;&lt;h2&gt;Exercises&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;#exercise_01-sh&#34;&gt;exercise_01.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_03-sh&#34;&gt;exercise_03.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_04-sh&#34;&gt;exercise_04.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_05-sh&#34;&gt;exercise_05.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_06-sh&#34;&gt;exercise_06.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_07-sh&#34;&gt;exercise_07.sh&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;hr&gt;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_01-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_01.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_7/exercise_01.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_7/exercise_01.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_01.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 1: Use systemctl to find the default systemd target on your system. &#xA;# Use systemctl to temporarily switch your system to multi-user.target.&#xA;#&#xA;# Task: Display current default target and switch to multi-user target.&#xA;&#xA;echo &amp;quot;Current default target:&amp;quot;&#xA;systemctl get-default&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Switching to multi-user.target...&amp;quot;&#xA;sudo systemctl isolate multi-user.target&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;System is now in multi-user.target mode.&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_03-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_03.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_7/exercise_03.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_7/exercise_03.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_03.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 3: Examine the output of journalctl -b to review the messages from the most recent system boot.&#xA;#&#xA;# Task: Display system journal entries from the current boot.&#xA;&#xA;sudo journalctl -b&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_04-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_04.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_7/exercise_04.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_7/exercise_04.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_04.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 4: Use the ps command to identify the top 3 processes consuming the most CPU and memory.&#xA;#&#xA;# Task: List processes sorted by CPU and memory usage.&#xA;&#xA;echo &amp;quot;=== Top 3 CPU-consuming processes ===&amp;quot;&#xA;ps aux --sort=-%cpu | head -n 4&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;=== Top 3 Memory-consuming processes ===&amp;quot;&#xA;ps aux --sort=-%mem | head -n 4&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_05-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_05.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_7/exercise_05.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_7/exercise_05.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_05.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 5: Start a new process with a non-default nice value using the nice command, &#xA;# and then verify the change with ps.&#xA;#&#xA;# Task: Start a process with modified priority and verify it.&#xA;&#xA;# Start sleep process with nice value of 10&#xA;nice -n 10 sleep 3600 &amp;amp;&#xA;&#xA;PID=$!&#xA;echo &amp;quot;Started sleep process with PID: $PID and nice value 10&amp;quot;&#xA;&#xA;# Verify the nice value&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Process information:&amp;quot;&#xA;ps lax | grep sleep | grep -v grep&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_06-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_06.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_7/exercise_06.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_7/exercise_06.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_06.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 6: Use renice to change the niceness of a running process, &#xA;# and then confirm the change with ps.&#xA;#&#xA;# Task: Modify the priority of an already running process.&#xA;&#xA;# First, we need a process to renice&#xA;# Start a sleep process in background&#xA;sleep 3600 &amp;amp;&#xA;PID=$!&#xA;&#xA;echo &amp;quot;Started process with PID: $PID&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Original priority:&amp;quot;&#xA;ps lax | grep $PID | grep -v grep&#xA;&#xA;# Change the nice value to 15&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Changing nice value to 15...&amp;quot;&#xA;renice -n 15 $PID&#xA;&#xA;# Verify the change&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;New priority:&amp;quot;&#xA;ps lax | grep $PID | grep -v grep&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;To kill this process, run: kill $PID&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_07-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_07.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_7/exercise_07.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_7/exercise_07.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_07.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 7: Use tuned-adm active to determine which performance profile is currently active on your system. &#xA;# Switch the active TuneD profile to throughput-performance using the tuned-adm profile command.&#xA;#&#xA;# Task: Check current TuneD profile and switch to throughput-performance.&#xA;&#xA;echo &amp;quot;Current active TuneD profile:&amp;quot;&#xA;tuned-adm active&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Switching to throughput-performance profile...&amp;quot;&#xA;sudo tuned-adm profile throughput-performance&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;New active profile:&amp;quot;&#xA;tuned-adm active&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;</description>
			</item>
			<item>
				<title>Chapter 8: Task Scheduling and Remote Access Answers</title>
				<link>https://markelov.dev/adminbook/chapter_8/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/adminbook/chapter_8/</guid>
				<description>&lt;header class=&#34;site-header&#34;&gt;&#xA;    &lt;p&gt;&lt;a href=&#34;https://markelov.dev/adminbook/&#34;&gt;&amp;larr; All chapters&lt;/a&gt; · &lt;a href=&#34;https://link.springer.com/book/9798868822254&#34;&gt;Book&lt;/a&gt; · &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook&#34;&gt;Repository&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;h1&gt;Chapter 8: Task Scheduling and Remote Access Answers&lt;/h1&gt;&#xA;    &lt;p class=&#34;muted&#34;&gt;Red Hat RHCSA 10 Study Companion: Getting Ready for the EX200 Exam by Andrey Markelov (May 2026).&lt;/p&gt;&#xA;  &lt;/header&gt;&#xA;  &lt;h2&gt;Topics&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Background jobs&lt;/li&gt;&lt;li&gt;at command&lt;/li&gt;&lt;li&gt;Cron jobs&lt;/li&gt;&lt;li&gt;Time management (timedatectl)&lt;/li&gt;&lt;li&gt;SSH key generation and configuration&lt;/li&gt;&lt;/ul&gt;&lt;nav class=&#34;toc&#34;&gt;&lt;h2&gt;Exercises&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;#exercise_01-sh&#34;&gt;exercise_01.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_02-sh&#34;&gt;exercise_02.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_03-sh&#34;&gt;exercise_03.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_04-sh&#34;&gt;exercise_04.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_05-sh&#34;&gt;exercise_05.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_06-sh&#34;&gt;exercise_06.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_07-sh&#34;&gt;exercise_07.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_08-sh&#34;&gt;exercise_08.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_09-sh&#34;&gt;exercise_09.sh&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;hr&gt;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_01-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_01.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_8/exercise_01.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_8/exercise_01.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_01.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 1: Execute the sleep 1200 command in the background. &#xA;# Immediately verify it is running, and then note its job number.&#xA;#&#xA;# Task: Start a background job and verify its status.&#xA;&#xA;# Start sleep in background&#xA;sleep 1200 &amp;amp;&#xA;&#xA;echo &amp;quot;Sleep process started in background.&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;&#xA;# List jobs with PID&#xA;jobs -l&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_02-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_02.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_8/exercise_02.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_8/exercise_02.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_02.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 2: Start a ping 127.0.0.1 process in the foreground. &#xA;# Stop it using the appropriate key sequence, and then send the stopped process &#xA;# to the background so it resumes running.&#xA;#&#xA;# Task: Demonstrate job control - stopping and backgrounding a process.&#xA;&#xA;echo &amp;quot;Starting ping in foreground...&amp;quot;&#xA;echo &amp;quot;Press Ctrl+Z to stop it, then run: bg %1&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;&#xA;# Start ping process&#xA;ping 127.0.0.1&#xA;&#xA;# After Ctrl+Z is pressed, the user would run:&#xA;# jobs&#xA;# bg 1&#xA;# jobs&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_03-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_03.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_8/exercise_03.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_8/exercise_03.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_03.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 3: Schedule a command using at to execute 5 minutes from now. &#xA;# The command should redirect the output of date to a file named ~/test_output.txt.&#xA;#&#xA;# Task: Schedule a one-time task using the at command.&#xA;&#xA;# Schedule the job&#xA;at now + 5 minutes &amp;lt;&amp;lt; EOF&#xA;date &amp;gt; ~/test_output.txt&#xA;EOF&#xA;&#xA;echo &amp;quot;Job scheduled to run in 5 minutes.&amp;quot;&#xA;echo &amp;quot;The output will be saved to ~/test_output.txt&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_04-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_04.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_8/exercise_04.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_8/exercise_04.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_04.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 4: Immediately after scheduling the job, use the command to view the job queue.&#xA;#&#xA;# Task: Display scheduled at jobs.&#xA;&#xA;atq&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_05-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_05.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_8/exercise_05.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_8/exercise_05.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_05.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 5: Edit your user&amp;#x27;s crontab file to run the command &#xA;# /bin/echo &amp;quot;Cron!&amp;quot; &amp;gt; ~/cron.log every day at 9:00.&#xA;#&#xA;# Task: Create a cron job that runs daily at 9 AM.&#xA;&#xA;echo &amp;quot;Adding cron job...&amp;quot;&#xA;&#xA;# Add the cron job&#xA;(crontab -l 2&amp;gt;/dev/null; echo &amp;quot;0 9 * * * /bin/echo \&amp;quot;Cron!\&amp;quot; &amp;gt; ~/cron.log&amp;quot;) | crontab -&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Current crontab:&amp;quot;&#xA;crontab -l&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_06-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_06.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_8/exercise_06.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_8/exercise_06.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_06.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 6: Use the Systemd utility to display the current system time, &#xA;# time zone, and the status of the NTP service.&#xA;#&#xA;# Task: Display time and NTP synchronization status.&#xA;&#xA;timedatectl&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_07-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_07.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_8/exercise_07.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_8/exercise_07.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_07.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 7: Generate a new key pair. Use a strong passphrase for security. &#xA;# What are the names of the two files created in your ~/.ssh/ directory?&#xA;#&#xA;# Task: Generate SSH key pair and identify the created files.&#xA;&#xA;echo &amp;quot;Generating SSH key pair...&amp;quot;&#xA;ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Files created in ~/.ssh/:&amp;quot;&#xA;ls -la ~/.ssh/id_ed25519*&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;The two files are:&amp;quot;&#xA;echo &amp;quot;1. id_ed25519 (private key)&amp;quot;&#xA;echo &amp;quot;2. id_ed25519.pub (public key)&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_08-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_08.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_8/exercise_08.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_8/exercise_08.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_08.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 8: You need to enable key-based authentication for the user root on the local server 127.0.0.1. &#xA;# Use the specialized utility to securely copy your users&amp;#x27; public key to the server.&#xA;#&#xA;# Task: Copy SSH public key to remote server for key-based authentication.&#xA;&#xA;ssh-copy-id -i ~/.ssh/id_ed25519.pub root@127.0.0.1&#xA;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;Note: This will work if PermitRootLogin is enabled in the SSH server configuration.&amp;quot;&#xA;echo &amp;quot;For a separate VM, you may need to modify /etc/ssh/sshd_config:&amp;quot;&#xA;echo &amp;quot;  PermitRootLogin yes&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_09-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_09.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_8/exercise_09.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_8/exercise_09.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_09.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 9: Which two lines would you modify in the main OpenSSH server configuration file &#xA;# (/etc/ssh/sshd_config) to disable password authentication and prevent the root user &#xA;# from logging in directly?&#xA;#&#xA;# Task: Display the SSH configuration changes needed for improved security.&#xA;&#xA;echo &amp;quot;To disable password authentication and prevent root login,&amp;quot;&#xA;echo &amp;quot;modify these lines in /etc/ssh/sshd_config:&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;PasswordAuthentication no&amp;quot;&#xA;echo &amp;quot;PermitRootLogin no&amp;quot;&#xA;echo &amp;quot;&amp;quot;&#xA;echo &amp;quot;After making changes, restart sshd:&amp;quot;&#xA;echo &amp;quot;sudo systemctl restart sshd&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;</description>
			</item>
			<item>
				<title>Chapter 9: Package Management Answers</title>
				<link>https://markelov.dev/adminbook/chapter_9/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/adminbook/chapter_9/</guid>
				<description>&lt;header class=&#34;site-header&#34;&gt;&#xA;    &lt;p&gt;&lt;a href=&#34;https://markelov.dev/adminbook/&#34;&gt;&amp;larr; All chapters&lt;/a&gt; · &lt;a href=&#34;https://link.springer.com/book/9798868822254&#34;&gt;Book&lt;/a&gt; · &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook&#34;&gt;Repository&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;h1&gt;Chapter 9: Package Management Answers&lt;/h1&gt;&#xA;    &lt;p class=&#34;muted&#34;&gt;Red Hat RHCSA 10 Study Companion: Getting Ready for the EX200 Exam by Andrey Markelov (May 2026).&lt;/p&gt;&#xA;  &lt;/header&gt;&#xA;  &lt;h2&gt;Topics&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;DNF operations&lt;/li&gt;&lt;li&gt;RPM queries&lt;/li&gt;&lt;li&gt;Repository management&lt;/li&gt;&lt;li&gt;Flatpak applications&lt;/li&gt;&lt;/ul&gt;&lt;nav class=&#34;toc&#34;&gt;&lt;h2&gt;Exercises&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;#exercise_01-sh&#34;&gt;exercise_01.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_02-sh&#34;&gt;exercise_02.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_03-sh&#34;&gt;exercise_03.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_04-sh&#34;&gt;exercise_04.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_05-sh&#34;&gt;exercise_05.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_06-sh&#34;&gt;exercise_06.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_07-sh&#34;&gt;exercise_07.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_08-sh&#34;&gt;exercise_08.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_09-sh&#34;&gt;exercise_09.sh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#exercise_10-sh&#34;&gt;exercise_10.sh&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;hr&gt;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_01-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_01.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_9/exercise_01.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_9/exercise_01.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_01.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 1: Use DNF to search for packages related to the &amp;quot;network&amp;quot; term, &#xA;# listing only packages that are not yet installed.&#xA;#&#xA;# Task: Search for available network-related packages.&#xA;&#xA;sudo dnf list available *network*&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_02-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_02.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_9/exercise_02.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_9/exercise_02.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_02.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 2: Install the zsh package using DNF, ensuring the installation proceeds &#xA;# without any interactive prompts.&#xA;#&#xA;# Task: Install zsh package non-interactively.&#xA;&#xA;sudo dnf install -y zsh&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_03-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_03.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_9/exercise_03.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_9/exercise_03.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_03.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 3: Remove the zsh package and any dependencies that are no longer needed, &#xA;# using a single DNF command.&#xA;#&#xA;# Task: Uninstall zsh and clean up unused dependencies.&#xA;&#xA;sudo dnf remove -y zsh&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_04-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_04.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_9/exercise_04.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_9/exercise_04.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_04.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 4: Display a detailed description and list of packages (mandatory, default, and optional) &#xA;# included in the &amp;quot;Legacy UNIX Compatibility&amp;quot; package group.&#xA;#&#xA;# Task: Show information about a package group.&#xA;&#xA;sudo dnf group info &amp;quot;Legacy UNIX Compatibility&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_05-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_05.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_9/exercise_05.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_9/exercise_05.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_05.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 5: Determine which installed RPM package owns the /etc/filesystems file.&#xA;#&#xA;# Task: Find the package that provides a specific file.&#xA;&#xA;rpm -qf /etc/filesystems&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_06-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_06.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_9/exercise_06.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_9/exercise_06.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_06.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 6: Use the rpm command to list all files included in the installed bash package.&#xA;#&#xA;# Task: Display all files provided by the bash package.&#xA;&#xA;sudo rpm -ql bash&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_07-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_07.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_9/exercise_07.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_9/exercise_07.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_07.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 7: Use the dnf config-manager utility to enable the &#xA;# codeready-builder-for-rhel-10-x86_64-rpms repository.&#xA;#&#xA;# Task: Enable a DNF repository.&#xA;&#xA;sudo dnf config-manager --enable codeready-builder-for-rhel-10-x86_64-rpms&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_08-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_08.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_9/exercise_08.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_9/exercise_08.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_08.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 8: Install virt-manager package.&#xA;#&#xA;# Task: Install the virt-manager virtualization management tool.&#xA;&#xA;sudo dnf install -y virt-manager&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_09-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_09.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-safe&#34;&gt;safe: yes&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_9/exercise_09.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_9/exercise_09.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_09.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: none&#xA;# @safe: yes&#xA;set -euo pipefail&#xA;&#xA;# Exercise 9: Write the flatpak command to add the Flathub remote repository only &#xA;# for the current user, without system-wide privileges, and only if the remote doesn&amp;#x27;t already exist.&#xA;#&#xA;# Task: Add Flathub repository for user-level flatpak installations.&#xA;&#xA;flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo&#xA;&#xA;echo &amp;quot;Flathub repository added for current user.&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;section class=&#34;exercise&#34; id=&#34;exercise_10-sh&#34;&gt;&#xA;  &lt;div class=&#34;exercise-header&#34;&gt;&#xA;    &lt;h2&gt;exercise_10.sh&lt;/h2&gt;&#xA;    &lt;span class=&#34;badge badge-executable&#34;&gt;executable&lt;/span&gt; &lt;span class=&#34;badge badge-unsafe&#34;&gt;safe: no&lt;/span&gt; &lt;span class=&#34;badge badge-executable&#34;&gt;requires: root&lt;/span&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;actions&#34;&gt;&#xA;    &lt;a href=&#34;https://markelov.dev/adminbook/scripts/chapter_9/exercise_10.sh&#34; download&gt;Download .sh&lt;/a&gt;&#xA;    &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook/blob/main/chapter_9/exercise_10.sh&#34;&gt;View on GitHub&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;code-wrap&#34;&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34; aria-label=&#34;Copy code for exercise_10.sh&#34;&gt;Copy&lt;/button&gt;&#xA;    &lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;# @type: executable&#xA;# @requires: root&#xA;# @safe: no&#xA;set -euo pipefail&#xA;&#xA;# Exercise 10: Install Gimp from Flathub.&#xA;#&#xA;# Task: Install the GIMP image editor using flatpak.&#xA;&#xA;flatpak install flathub org.gimp.GIMP&#xA;&#xA;echo &amp;quot;GIMP has been installed via Flatpak.&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;</description>
			</item>
			<item>
				<title>Posts in 2007</title>
				<link>https://markelov.dev/archive/2007/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2007/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2008</title>
				<link>https://markelov.dev/archive/2008/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2008/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2009</title>
				<link>https://markelov.dev/archive/2009/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2009/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2010</title>
				<link>https://markelov.dev/archive/2010/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2010/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2011</title>
				<link>https://markelov.dev/archive/2011/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2011/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2012</title>
				<link>https://markelov.dev/archive/2012/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2012/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2013</title>
				<link>https://markelov.dev/archive/2013/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2013/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2014</title>
				<link>https://markelov.dev/archive/2014/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2014/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2015</title>
				<link>https://markelov.dev/archive/2015/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2015/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2016</title>
				<link>https://markelov.dev/archive/2016/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2016/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2017</title>
				<link>https://markelov.dev/archive/2017/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2017/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2018</title>
				<link>https://markelov.dev/archive/2018/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2018/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2019</title>
				<link>https://markelov.dev/archive/2019/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2019/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2020</title>
				<link>https://markelov.dev/archive/2020/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2020/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2021</title>
				<link>https://markelov.dev/archive/2021/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2021/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2022</title>
				<link>https://markelov.dev/archive/2022/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2022/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2023</title>
				<link>https://markelov.dev/archive/2023/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2023/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2024</title>
				<link>https://markelov.dev/archive/2024/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2024/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2025</title>
				<link>https://markelov.dev/archive/2025/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2025/</guid>
				<description></description>
			</item>
			<item>
				<title>Posts in 2026</title>
				<link>https://markelov.dev/archive/2026/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/archive/2026/</guid>
				<description></description>
			</item>
			<item>
				<title>Practice Lab: Installing RHEL 10 in a VM</title>
				<link>https://markelov.dev/adminbook/lab-vm-setup/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://markelov.dev/adminbook/lab-vm-setup/</guid>
				<description>&lt;header class=&#34;site-header&#34;&gt;&#xA;    &lt;p&gt;&lt;a href=&#34;https://markelov.dev/adminbook/&#34;&gt;&amp;larr; All chapters&lt;/a&gt; · &lt;a href=&#34;https://link.springer.com/book/9798868822254&#34;&gt;Book&lt;/a&gt; · &lt;a href=&#34;https://github.com/andreyamarkelov/adminbook&#34;&gt;Repository&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;h1&gt;Practice Lab: Installing RHEL 10 in a VM&lt;/h1&gt;&#xA;    &lt;p class=&#34;muted&#34;&gt;Red Hat RHCSA 10 Study Companion: Getting Ready for the EX200 Exam by Andrey Markelov (May 2026).&lt;/p&gt;&#xA;  &lt;/header&gt;&#xA;  &lt;nav class=&#34;guide-toc&#34;&gt;&lt;h2&gt;On this page&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;#overview&#34;&gt;What you need&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#iso&#34;&gt;Get the installation image&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#boot-menu&#34;&gt;Boot the installer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#installer-hub&#34;&gt;Walk through the installer hub&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#registration&#34;&gt;Register with Red Hat&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;#finish&#34;&gt;Finish and prepare for exercises&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;hr&gt;&lt;section class=&#34;guide-section&#34; id=&#34;overview&#34;&gt;&lt;h2&gt;What you need&lt;/h2&gt;&lt;p&gt;Most exercises in this companion repo assume a single throwaway machine running Red Hat Enterprise Linux 10. A practical starting point is &lt;strong&gt;2–4 virtual CPUs&lt;/strong&gt;, &lt;strong&gt;at least 1.5 GiB RAM&lt;/strong&gt;, and &lt;strong&gt;10 GiB disk&lt;/strong&gt;. A few storage topics are easier with a second disk (many answer scripts refer to `/dev/sdb`), but you can still practice on one VM if you attach an extra virtual disk later.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
