mirror of
https://github.com/Dichgrem/Blog.git
synced 2025-02-23 14:08:37 -05:00
265 lines
16 KiB
HTML
265 lines
16 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
|
||
<head>
|
||
<title>Dich'blog</title>
|
||
|
||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5">
|
||
<meta name="robots" content="noodp"/>
|
||
|
||
<link rel="stylesheet" href="https://blog.dich.ink/style.css">
|
||
<link rel="stylesheet" href="https://blog.dich.ink/color/blue.css">
|
||
|
||
<link rel="stylesheet" href="https://blog.dich.ink/color/background_dark.css">
|
||
|
||
<link rel="stylesheet" href="https://blog.dich.ink/font-hack-subset.css">
|
||
|
||
<meta name="description" content="">
|
||
|
||
<meta property="og:description" content="">
|
||
<meta property="og:title" content="Dich'blog">
|
||
<meta property="og:type" content="article">
|
||
<meta property="og:url" content="https://blog.dich.ink/linux-for-pc-3/">
|
||
|
||
<meta name="twitter:card" content="summary_large_image">
|
||
<meta name="twitter:description" content="">
|
||
<meta name="twitter:title" content="Dich'blog">
|
||
<meta property="twitter:domain" content="blog.dich.ink">
|
||
<meta property="twitter:url" content="https://blog.dich.ink/linux-for-pc-3/">
|
||
|
||
|
||
<link rel="alternate" type="application/atom+xml" title="RSS" href="https://blog.dich.ink/atom.xml">
|
||
|
||
</head>
|
||
|
||
<body class="">
|
||
<div class="container">
|
||
|
||
<header class="header">
|
||
<div class="header__inner">
|
||
<div class="header__logo">
|
||
|
||
<a href="https://blog.dich.ink" style="text-decoration: none;">
|
||
<div class="logo">
|
||
|
||
Dich'blog
|
||
|
||
</div>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<nav class="menu">
|
||
<ul class="menu__inner">
|
||
<li class="active"><a href="https://blog.dich.ink">blog</a></li>
|
||
|
||
<li><a href="https://blog.dich.ink/tags">tags</a></li>
|
||
|
||
<li><a href="https://blog.dich.ink/archive">archive</a></li>
|
||
|
||
<li><a href="https://blog.dich.ink/about">about me</a></li>
|
||
|
||
<li><a href="https://blog.dich.ink/links">links</a></li>
|
||
|
||
<li><a href="https://github.com/Dichgrem" target="_blank" rel="noopener noreferrer">github</a></li>
|
||
</ul>
|
||
</nav>
|
||
|
||
|
||
|
||
</header>
|
||
|
||
|
||
<div class="content">
|
||
|
||
<div class="post">
|
||
|
||
<h1 class="post-title"><a href="https://blog.dich.ink/linux-for-pc-3/">Linux-For-PC(三):内核/shell/包管理/文件系统</a></h1>
|
||
<div class="post-meta-inline">
|
||
|
||
<span class="post-date">
|
||
2023-07-22
|
||
</span>
|
||
|
||
</div>
|
||
|
||
|
||
<span class="post-tags-inline">
|
||
:: tags:
|
||
<a class="post-tag" href="https://blog.dich.ink/tags/linux/">#Linux</a>
|
||
<a class="post-tag" href="https://blog.dich.ink/tags/tech/">#Tech</a></span>
|
||
|
||
|
||
<div class="post-content">
|
||
<p>前言 在Linux世界中,内核/shell/包管理/文件系统构成了Linux系统的核心,它们相互配合,共同构建了一个强大而稳定的操作环境。本文将深入探讨这些关键组成部分,解释它们的作用和原理,帮助读者更好地理解Linux系统的运作机制。</p>
|
||
<span id="continue-reading"></span><h2 id="yi-linuxnei-he"><strong>一.Linux内核</strong></h2>
|
||
<p>有许多不同的版本,每个版本都包含了一系列的功能改进、bug修复和性能优化。在Linux发行版中,通常会使用某个特定版本的Linux内核,或者在需要时进行升级。以下是一些常见的Linux内核及其主要特点:</p>
|
||
<p><strong>Zen内核</strong>:</p>
|
||
<ul>
|
||
<li>Zen内核是Linux内核的一个变体,旨在提供更好的性能和响应性。它通常包含了一些特定的调度程序和调优参数,以提高系统的负载均衡和响应速度。Zen内核也可能包含一些来自其他内核变体的功能和补丁,以进一步优化性能。</li>
|
||
</ul>
|
||
<p><strong>LTS内核</strong>:</p>
|
||
<ul>
|
||
<li>LTS(Long-Term Support)内核是一种长期支持的内核版本,它会获得更长时间的更新和维护。LTS内核通常会选择一些相对稳定和经过充分测试的功能,并对其进行长期支持,以确保系统的稳定性和安全性。</li>
|
||
</ul>
|
||
<p><strong>Real-Time内核</strong>:</p>
|
||
<ul>
|
||
<li>Real-Time内核是一种专门针对实时应用场景进行优化的内核变体。它通常包含了一些实时调度算法和机制,以确保系统能够及时响应各种事件,并满足实时性要求。Real-Time内核适用于一些对实时性要求较高的应用,如工业控制、机器人控制等领域。</li>
|
||
</ul>
|
||
<p><strong>Hardened内核</strong>:</p>
|
||
<ul>
|
||
<li>Hardened内核是一种针对安全性进行优化的内核变体。它通常包含了一些安全增强功能和补丁,以提高系统的安全性和抵御攻击的能力。Hardened内核适用于一些对安全性要求较高的应用,如服务器、云计算等场景。</li>
|
||
</ul>
|
||
<p><strong>XanMod内核</strong>:</p>
|
||
<ul>
|
||
<li>XanMod内核是一个基于Linux内核的自定义内核,旨在提供更好的响应性和性能。它包含了一些针对桌面和工作站系统优化的功能和补丁,如MuQSS调度器、BFQ I/O调度器等,以提高系统的响应速度和性能稳定性。XanMod内核还支持一些实时性应用,如音视频处理等,适用于对系统响应速度要求较高的用户。</li>
|
||
</ul>
|
||
<p><strong>CachyOS内核</strong>:</p>
|
||
<ul>
|
||
<li>CachyOS内核是一个专门针对缓存优化的Linux内核变体。它包含了一些针对缓存系统优化的功能和调整,以提高系统的缓存性能和数据访问速度。CachyOS内核通常适用于需要高性能缓存的应用场景,如数据库服务器、Web服务器等。</li>
|
||
</ul>
|
||
<p>这些内核变体针对不同的需求和使用场景进行了优化,可以根据具体的应用需求来选择合适的内核版本。例如,如果您需要更好的性能和响应性,可以选择Zen内核;如果您需要长期支持和稳定性,可以选择LTS内核;如果您需要实时性能,可以选择Real-Time内核;如果您需要更高的安全性,可以选择Hardened内核。</p>
|
||
<h2 id="er-linux-shell"><strong>二.Linux Shell</strong></h2>
|
||
<p>在Linux系统中,有许多不同的Shell(命令行解释器),每种Shell都有自己的特点和用途。以下是一些常见的Linux Shell及其主要特点:</p>
|
||
<p><strong>Bash(Bourne Again Shell)</strong>:</p>
|
||
<ul>
|
||
<li>Bash是Linux系统中最常用的Shell之一,也是默认的命令行解释器。它是Bourne Shell的增强版,提供了丰富的功能和扩展性,包括命令历史、命令补全、作业控制等。Bash具有良好的兼容性和易用性,适用于日常的系统管理和脚本编程。</li>
|
||
</ul>
|
||
<p><strong>Zsh(Z Shell)</strong>:</p>
|
||
<ul>
|
||
<li>Zsh是一种功能强大的Shell,提供了丰富的功能和扩展性,如更强大的命令补全、自动纠正拼写错误、主题和插件系统等。Zsh具有良好的可定制性和用户体验,适用于高级用户和程序员。</li>
|
||
</ul>
|
||
<p><strong>Fish(Friendly Interactive Shell)</strong>:</p>
|
||
<ul>
|
||
<li>Fish是一种用户友好的交互式Shell,提供了直观的命令提示和自动补全功能,以及丰富的语法高亮和命令提示信息。Fish具有良好的用户体验和易用性,适用于初学者和普通用户。</li>
|
||
</ul>
|
||
<p><strong>Dash(Debian Almquist Shell)</strong>:</p>
|
||
<ul>
|
||
<li>Dash是一种轻量级的Shell,专门设计用于系统启动过程和脚本执行。Dash具有较高的执行速度和较低的内存占用,适用于系统启动脚本和简单的脚本编程。</li>
|
||
</ul>
|
||
<p>Bash是最常用的Shell之一,具有良好的兼容性和功能性;Zsh提供了更多的高级特性和定制选项,适用于高级用户和程序员;Fish具有友好的交互式体验和直观的用户界面,适用于初学者和普通用户;Dash则是一个轻量级的Shell,专门用于系统启动过程和简单的脚本编程。用户可以根据自己的需求和偏好选择合适的Shell。</p>
|
||
<h2 id="san-linuxbao-guan-li-qi"><strong>三.Linux包管理器</strong></h2>
|
||
<p>在Linux系统中,有几种常见的包管理器,它们各自管理着不同的发行版,具有不同的特点和用途。以下是一些常见的Linux包管理器及其主要特点:</p>
|
||
<p><strong>APT(Advanced Package Tool)</strong>:</p>
|
||
<ul>
|
||
<li>APT是Debian系(如Debian、Ubuntu)中最常用的包管理器之一。它使用基于命令行的工具,如<code>apt-get</code>、<code>apt-cache</code>等来安装、升级和删除软件包。APT还支持依赖关系的自动解决,使得软件包的安装和管理变得更加方便。</li>
|
||
</ul>
|
||
<p><strong>YUM(Yellowdog Updater, Modified)</strong>:</p>
|
||
<ul>
|
||
<li>YUM是Red Hat系(如CentOS、Fedora)中常用的包管理器之一。它使用基于命令行的工具,如<code>yum</code>来管理软件包。YUM具有良好的依赖关系解决能力和事务处理功能,使得系统升级和软件包管理变得更加简单和可靠。</li>
|
||
</ul>
|
||
<p><strong>DNF(Dandified YUM)</strong>:</p>
|
||
<ul>
|
||
<li>DNF是YUM的下一代版本,逐渐取代了YUM在Fedora和RHEL系列中的地位。DNF具有更快的包查询和事务处理能力,以及更友好的用户界面。它是未来主流的包管理器之一。</li>
|
||
</ul>
|
||
<p><strong>Pacman(Package Manager)</strong>:</p>
|
||
<ul>
|
||
<li>Pacman是Arch Linux中常用的包管理器,也被一些其他发行版如Manjaro采用。Pacman使用简洁的命令,如<code>pacman -S</code>安装软件包、<code>pacman -Syu</code>更新系统等来管理软件包。Pacman具有简单、直观的界面和快速的操作速度,适用于对系统有一定了解的用户。</li>
|
||
</ul>
|
||
<p><strong>zypper</strong>:</p>
|
||
<ul>
|
||
<li>zypper是openSUSE中常用的包管理器,它使用基于命令行的工具,如<code>zypper install</code>、<code>zypper update</code>等来管理软件包。zypper具有良好的依赖关系解决能力和事务处理功能,使得系统升级和软件包管理变得更加简单和可靠。</li>
|
||
</ul>
|
||
<p><strong>dpkg</strong>:</p>
|
||
<ul>
|
||
<li>dpkg是Debian系(如Debian、Ubuntu)中的低级别软件包管理工具,用于直接管理软件包的安装、升级和删除。它提供了一系列的命令,如<code>dpkg -i</code>安装软件包、<code>dpkg -r</code>删除软件包等。</li>
|
||
</ul>
|
||
<p><strong>RPM(RPM Package Manager)</strong>:</p>
|
||
<ul>
|
||
<li>RPM是Red Hat系(如CentOS、Fedora)中的低级别软件包管理工具,用于直接管理软件包的安装、升级和删除。它提供了一系列的命令,如<code>rpm -i</code>安装软件包、<code>rpm -e</code>删除软件包等。</li>
|
||
</ul>
|
||
<p><strong>Portage</strong>:</p>
|
||
<ul>
|
||
<li>Portage是Gentoo Linux中的包管理器,它使用源代码进行软件包的安装和管理。Portage具有高度定制化和灵活性,允许用户根据需要自定义软件包的编译参数和依赖关系。</li>
|
||
</ul>
|
||
<p><strong>Snap</strong>:</p>
|
||
<ul>
|
||
<li>Snap是一种跨发行版的软件包格式和包管理器,允许用户在不同的Linux发行版上安装和管理软件包。Snap具有自包含性和隔离性,使得软件包的安装和升级变得更加简单和安全。</li>
|
||
</ul>
|
||
<p><strong>Flatpak</strong>:</p>
|
||
<ul>
|
||
<li>Flatpak是另一种跨发行版的软件包格式和包管理器,类似于Snap,允许用户在不同的Linux发行版上安装和管理软件包。Flatpak提供了一种统一的应用分发和运行环境,使得软件包的安装和升级更加简单和可靠。</li>
|
||
</ul>
|
||
<h2 id="si-linuxwen-jian-xi-tong"><strong>四.Linux文件系统</strong></h2>
|
||
<p>Linux系统支持多种文件系统,每种文件系统都有自己的特点和优势,适用于不同的应用场景和需求。以下是一些常见的Linux文件系统及其主要特点:</p>
|
||
<p><strong>ext4</strong>:</p>
|
||
<ul>
|
||
<li>ext4是Linux系统中最常用的文件系统之一,它是ext文件系统的后续版本,提供了更好的性能和扩展性。ext4支持更大的文件和分区大小,更快的文件系统检查和恢复速度,以及更高的性能和稳定性。</li>
|
||
</ul>
|
||
<p><strong>Btrfs</strong>:</p>
|
||
<ul>
|
||
<li>Btrfs是一种先进的文件系统,具有许多先进的功能和特性,如快照、数据校验、数据压缩等。Btrfs支持在线扩展和收缩分区大小,以及动态添加和删除磁盘,适用于需要高级特性和灵活性的应用场景。此外,Btrfs对快照功能支持较好。</li>
|
||
</ul>
|
||
<blockquote>
|
||
<p>快照功能是一种文件系统的特性,它允许用户在特定时间点对文件系统的状态进行快照或备份,并且可以在需要时一键恢复到该时间点的状态。
|
||
快照允许用户轻松地创建文件系统的历史版本,并在需要时回滚到特定的版本;快照允许用户在文件系统中进行实验和测试,并在测试失败或不需要时轻松地回滚到初始状态,以避免对系统造成影响。在升级或安装过程中出现问题时快速恢复到原始状态</p>
|
||
</blockquote>
|
||
<p><strong>XFS</strong>:</p>
|
||
<ul>
|
||
<li>XFS是一种高性能的日志文件系统,适用于大型文件和高吞吐量的应用场景。XFS支持大容量的文件和分区,具有较低的碎片化和较高的并发性能,适用于大规模存储和数据分析等应用。</li>
|
||
</ul>
|
||
<p><strong>ZFS</strong>:</p>
|
||
<ul>
|
||
<li>ZFS是一种先进的文件系统,具有强大的数据管理和保护功能,如快照、数据校验、数据压缩等。ZFS支持软件RAID和存储池(pool),以及动态添加和删除磁盘,适用于数据中心和大规模存储等应用场景。</li>
|
||
</ul>
|
||
<p><strong>F2FS</strong>:</p>
|
||
<ul>
|
||
<li>F2FS是一种针对闪存存储设备进行优化的文件系统,具有高性能和高可靠性。F2FS支持闪存特性如块擦除计数(block erase count)和块生命周期管理(block lifetime management),适用于固态硬盘(SSD)和闪存卡等闪存设备。</li>
|
||
</ul>
|
||
<h2 id="wu-hou-ji"><strong>五.后记</strong></h2>
|
||
<p>个人使用推荐Zen+Zsh+Pacman+Btrfs。</p>
|
||
|
||
</div>
|
||
|
||
|
||
<div class="pagination">
|
||
<div class="pagination__title">
|
||
<span class="pagination__title-h">Thanks for reading! Read other posts?</span>
|
||
<hr />
|
||
</div>
|
||
<div class="pagination__buttons">
|
||
<span class="button previous">
|
||
<a href="https://blog.dich.ink/linux-for-pc-2/">
|
||
<span class="button__icon">←</span>
|
||
<span class="button__text">Linux-For-PC(二):FHS与目录结构</span>
|
||
</a>
|
||
</span>
|
||
|
||
|
||
<span class="button next">
|
||
<a href="https://blog.dich.ink/linux-for-pc-4/">
|
||
<span class="button__text">Linux-For-PC(四):Terminal,Console and Shell</span>
|
||
<span class="button__icon">→</span>
|
||
</a>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
<footer class="footer">
|
||
<div class="footer__inner">
|
||
<div class="copyright">
|
||
<span>©
|
||
2024
|
||
Dichgrem</span>
|
||
<span class="copyright-theme">
|
||
<span class="copyright-theme-sep">:: </span>
|
||
Theme: <a href="https://github.com/pawroman/zola-theme-terminimal/">Terminimal</a> by pawroman
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<script async defer src="http://173.249.208.93:12345/tracker.js" data-website-id="cluckwxwg0005qf4n55m737sz"></script>
|
||
</div>
|
||
</body>
|
||
|
||
</html>
|