分类 技术 下的文章

使用这个强大的开源工具可以在命令行中纠正音乐标签错误。

很久以来我就将 CD 翻录到电脑。在此期间,我用过几种不同的翻录工具,观察到每种工具在标记上似乎有不同的做法,特别是在保存哪些音乐元数据上。所谓“观察”,我是指音乐播放器似乎按照有趣的顺序对专辑进行排序,它们将一个目录中的曲目分为两张专辑,或者产生了其他令人沮丧的烦恼。

我还看到有些标签非常不明确,许多音乐播放器和标签编辑器没有显示它们。即使这样,在某些极端情况下,它们仍可以使用这些标签来分类或显示音乐,例如播放器将所有包含 XYZ 标签的音乐文件与不包含该标签的所有文件分离到不同的专辑中。

那么,如果标记应用和音乐播放器没有显示“奇怪”的标记,但是它们受到了某种影响,你该怎么办?

Metaflac 来拯救!

我一直想要熟悉 metaflac,它是一款开源命令行 FLAC 文件元数据编辑器,这是我选择的开源音乐文件格式。并不是说 EasyTAG 这样出色的标签编辑软件有什么问题,但我想起“如果你手上有个锤子……”这句老话(LCTT 译注:指如果你手上有个锤子,那么所有的东西看起来都像钉子。意指人们惯于用熟悉的方式解决问题,而不管合不合适)。另外,从实际的角度来看,带有 ArmbianMPD 的小型专用服务器,音乐存储在本地、运行精简的仅限音乐的无头环境就可以满足我的家庭和办公室的立体音乐的需求,因此命令行元数据管理工具将非常有用。

下面的截图显示了我的长期翻录过程中产生的典型问题:Putumayo 的哥伦比亚音乐汇编显示为两张单独的专辑,一张包含单首曲目,另一张包含其余 11 首:

 title=

我使用 metaflac 为目录中包含这些曲目的所有 FLAC 文件生成了所有标签的列表:

rm -f tags.txt
for f in *.flac; do
        echo $f >> tags.txt
        metaflac --export-tags-to=tags.tmp "$f"
        cat tags.tmp >> tags.txt
        rm tags.tmp
done

我将其保存为可执行的 shell 脚本(请参阅我的同事 David Both 关于 Bash shell 脚本的精彩系列专栏文章,特别是关于循环这章)。基本上,我在这做的是创建一个文件 tags.txt,包含文件名(echo 命令),后面是它的所有标签,然后是下一个文件名,依此类推。这是结果的前几行:

A Guapi.flac
TITLE=A Guapi
ARTIST=Grupo Bahia
ALBUMARTIST=Various Artists
ALBUM=Putumayo Presents: Colombia
DATE=2001
TRACKTOTAL=12
GENRE=Latin Salsa
MUSICBRAINZ_ALBUMARTISTID=89ad4ac3-39f7-470e-963a-56509c546377
MUSICBRAINZ_ALBUMID=6e096386-1655-4781-967d-f4e32defb0a3
MUSICBRAINZ_ARTISTID=2993268d-feb6-4759-b497-a3ef76936671
DISCID=900a920c
ARTISTSORT=Grupo Bahia
MUSICBRAINZ_DISCID=RwEPU0UpVVR9iMP_nJexZjc_JCc-
COMPILATION=1
MUSICBRAINZ_TRACKID=8a067685-8707-48ff-9040-6a4df4d5b0ff
ALBUMARTISTSORT=50 de Joselito, Los
Cumbia Del Caribe.flac

经过一番调查,结果发现我同时翻录了很多 Putumayo CD,并且当时我所使用的所有软件似乎给除了一个之外的所有文件加上了 MUSICBRAINZ_* 标签。(是 bug 么?大概吧。我在六张专辑中都看到了。)此外,关于有时不寻常的排序,我注意到,ALBUMARTISTSORT 标签将西班牙语标题 “Los” 移到了标题的最后面(逗号之后)。

我使用了一个简单的 awk 脚本来列出 tags.txt 中报告的所有标签:

awk -F= 'index($0,"=") > 0 {print $1}' tags.txt | sort -u

这会使用 = 作为字段分隔符将所有行拆分为字段,并打印包含等号的行的第一个字段。结果通过使用 sort 及其 -u 标志来传递,从而消除了输出中的所有重复项(请参阅我的同事 Seth Kenlon 的关于 sort 程序的文章)。对于这个 tags.txt 文件,输出为:

ALBUM
ALBUMARTIST
ALBUMARTISTSORT
ARTIST
ARTISTSORT
COMPILATION
DATE
DISCID
GENRE
MUSICBRAINZ_ALBUMARTISTID
MUSICBRAINZ_ALBUMID
MUSICBRAINZ_ARTISTID
MUSICBRAINZ_DISCID
MUSICBRAINZ_TRACKID
TITLE
TRACKTOTAL

研究一会后,我发现 MUSICBRAINZ_* 标签出现在除了一个 FLAC 文件之外的所有文件上,因此我使用 metaflac 命令删除了这些标签:

for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_ALBUMARTISTID "$f"; done
for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_ALBUMID "$f"; done
for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_ARTISTID "$f"; done
for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_DISCID "$f"; done
for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_TRACKID "$f"; done

完成后,我可以使用音乐播放器重建 MPD 数据库。结果如下:

 title=

完成了,12 首曲目出现在了一张专辑中。

太好了,我很喜欢 metaflac。我希望我会更频繁地使用它,因为我会试图去纠正最后一些我弄乱的音乐收藏标签。强烈推荐!

关于音乐

我花了几个晚上在 CBC 音乐(CBC 是加拿大的公共广播公司)上收听 Odario Williams 的节目 After Dark。感谢 Odario,我听到了让我非常享受的 Kevin Fox 的 Songs for Cello and Voice。在这里,他演唱了 Eurythmics 的歌曲 “Sweet Dreams(Are Made of This)”。

我购买了这张 CD,现在它在我的音乐服务器上,还有组织正确的标签!


via: https://opensource.com/article/19/11/metaflac-fix-music-tags

作者:Chris Hermansen 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Nagios 是一个自由开源的网络和警报引擎,它用于监控各种设备,例如网络设备和网络中的服务器。它支持 Linux 和 Windows,并提供了直观的 Web 界面,可让你轻松监控网络资源。经过专业配置后,它可以在服务器或网络设备下线或者故障时向你发出邮件警报。在本文中,我们说明了如何在 RHEL 8/CentOS 8 上安装和配置 Nagios Core。

Install-Nagios-Core-RHEL8-CentOS8

Nagios Core 的先决条件

在开始之前,请先检查并确保有以下各项:

  • RHEL 8/CentOS 8 环境
  • 能通过 SSH 访问该环境
  • 快速稳定的互联网连接

满足上述要求后,我们开始吧!

步骤 1:安装 LAMP

为了使 Nagios 能够按预期工作,你需要安装 LAMP 或其他 Web 软件,因为它们将在浏览器上运行。为此,请执行以下命令:

# dnf install httpd mariadb-server php-mysqlnd php-fpm

Install-LAMP-stack-CentOS8

你需要确保 Apache Web 服务器已启动并正在运行。为此,请使用以下命令启用并启动 Apache 服务器:

# systemctl start httpd
# systemctl enable httpd

Start-enable-httpd-centos8

检查 Apache 服务器运行状态:

# systemctl status httpd

Check-status-httpd-centos8

接下来,我们需要启用并启动 MariaDB 服务器,运行以下命令:

# systemctl start mariadb
# systemctl enable mariadb

Start-enable-MariaDB-CentOS8

要检查 MariaDB 状态,请运行:

# systemctl status mariadb

Check-MariaDB-status-CentOS8

另外,你可能会考虑加强或保护服务器,使其不容易受到未经授权的访问。要保护服务器,请运行以下命令:

# mysql_secure_installation

确保为你的 MySQL 实例设置一个强密码。对于后续提示,请输入 “Y” 并按回车。

Secure-MySQL-server-CentOS8

步骤 2:安装必需的软件包

除了安装 LAMP 外,还需要一些其他软件包来安装和正确配置 Nagios。因此,如下所示安装软件包:

# dnf install gcc glibc glibc-common wget gd gd-devel perl postfix

Install-requisite-packages-CentOS8

步骤 3:创建 Nagios 用户帐户

接下来,我们需要为 Nagios 用户创建一个用户帐户。为此,请运行以下命令:

# adduser nagios
# passwd nagios

Create-new-user-for-Nagios

现在,我们需要为 Nagios 创建一个组,并将 Nagios 用户添加到该组中。

# groupadd nagiosxi

现在添加 Nagios 用户到组中:

# usermod -aG nagiosxi nagios

另外,将 Apache 用户添加到 Nagios 组:

# usermod -aG nagiosxi apache

Add-Nagios-group-user

步骤 4:下载并安装 Nagios Core

现在,我们可以继续安装 Nagios Core。Nagios 4.4.5 的最新稳定版本于 2019 年 8 月 19 日发布。但首先,请从它的官方网站下载 Nagios tarball 文件。

要下载 Nagios Core,请首进入 /tmp 目录:

# cd /tmp

接下来下载 tarball 文件:

# wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.5.tar.gz

Download-Nagios-CentOS8

下载完 tarball 文件后,使用以下命令将其解压缩:

# tar -xvf nagios-4.4.5.tar.gz

接下来,进入未压缩的文件夹:

# cd nagios-4.4.5

按此顺序运行以下命令:

# ./configure --with-command-group=nagcmd
# make all
# make install
# make install-init
# make install-daemoninit
# make install-config
# make install-commandmode
# make install-exfoliation

要配置 Apache,请运行以下命令:

# make install-webconf

步骤 5:配置 Apache Web 服务器身份验证

接下来,我们将为用户 nagiosadmin 设置身份验证。请注意不要更改该用户名,否则,可能会要求你进一步的配置,这可能很繁琐。

要设置身份验证,请运行以下命令:

# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Configure-Apache-webserver-authentication-CentOS8

系统将提示你输入 nagiosadmin 用户的密码。输入并按要求确认密码。在本教程结束时,你将使用该用户登录 Nagios。

为使更改生效,请重新启动 Web 服务器:

# systemctl restart httpd

步骤 6:下载并安装 Nagios 插件

插件可以扩展 Nagios 服务器的功能。它们将帮助你监控各种服务、网络设备和应用。要下载插件的 tarball 文件,请运行以下命令:

# wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz

接下来,解压 tarball 文件并进入到未压缩的插件文件夹:

# tar -xvf nagios-plugins-2.2.1.tar.gz
# cd nagios-plugins-2.2.1

要安装插件,请编译源代码,如下所示:

# ./configure --with-nagios-user=nagios --with-nagios-group=nagiosxi
# make
# make install

步骤 7:验证和启动 Nagios

成功安装 Nagios 插件后,验证 Nagios 配置以确保一切良好,并且配置中没有错误:

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Verify-Nagios-settings-CentOS8

接下来,启动 Nagios 并验证其状态:

# systemctl start nagios
# systemctl status nagios

Start-check-status-Nagios-CentOS8

如果系统中有防火墙,那么使用以下命令允许 ”80“ 端口:

# firewall-cmd --permanent --add-port=80/tcp# firewall-cmd --reload

步骤 8:通过 Web 浏览器访问 Nagios 面板

要访问 Nagios,请打开服务器的 IP 地址,如下所示:http://server-ip/nagios

这将出现一个弹出窗口,提示输入我们在步骤 5 创建的用户名和密码。输入凭据并点击“Sign In”。

Access-Nagios-via-web-browser-CentOS8

这将引导你到 Nagios 面板,如下所示:

Nagios-dashboard-CentOS8

我们终于成功地在 CentOS 8 / RHEL 8 上安装和配置了 Nagios Core。欢迎你的反馈。


via: https://www.linuxtechi.com/install-nagios-core-rhel-8-centos-8/

作者:James Kiarie 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

有时,你可能需要定期或以预定的时间间隔执行任务。这些任务包括备份数据库、更新系统、执行定期重新引导等。这些任务称为 “cron 任务”。cron 任务用于“自动执行的任务”,它有助于简化重复的、有时是乏味的任务的执行。cron 是一个守护进程,可让你安排这些任务,然后按指定的时间间隔执行这些任务。在本教程中,你将学习如何使用 cron 来安排任务。

crontab 文件

crontab 即 “cron table”,是一个简单的文本文件,其中包含指定任务执行时间间隔的规则和命令。 crontab 文件分为两类:

1)系统范围的 crontab 文件

这些通常由需要 root 特权的 Linux 服务及关键应用程序使用。系统 crontab 文件位于 /etc/crontab 中,并且只能由 root 用户访问和编辑。通常用于配置系统范围的守护进程。crontab 文件的看起来类似如下所示:

etc-crontab-linux

2)用户创建的 crontab 文件

Linux 用户还可以在 crontab 命令的帮助下创建自己的 cron 任务。创建的 cron 任务将以创建它们的用户身份运行。

所有 cron 任务都存储在 /var/spool/cron(对于 RHEL 和 CentOS 发行版)和 /var/spool/cron/crontabs(对于 Debian 和 Ubuntu 发行版)中,cron 任务使用创建该文件的用户的用户名列出。

cron 守护进程在后台静默地检查 /etc/crontab 文件和 /var/spool/cron/etc/cron.d*/ 目录。

crontab 命令用于编辑 cron 文件。让我们看一下 crontab 文件的结构。

crontab 文件剖析

在继续之前,我们要首先探索 crontab 文件的格式。crontab 文件的基本语法包括 5 列,由星号表示,后跟要执行的命令。

*    *    *    *    *    command

此格式也可以表示如下:

m h d moy dow command

m h d moy dow /path/to/script

让我们来解释一下每个条目

  • m:代表分钟。范围是 0 到 59
  • h:表示小时,范围是 0 到 23
  • d:代表一个月中的某天,范围是 1 到 31
  • moy:这是一年中的月份。范围是 1 到 12
  • dow:这是星期几。范围是 0 到 6,其中 0 代表星期日
  • command:这是要执行的命令,例如备份命令、重新启动和复制命令等

管理 cron 任务

看完 crontab 文件的结构之后,让我们看看如何创建、编辑和删除 cron 任务。

创建 cron 任务

要以 root 用户身份创建或编辑 cron 任务,请运行以下命令:

# crontab -e

要为另一个用户创建或安排 cron 任务,请使用以下语法:

# crontab -u username -e

例如,要以 Pradeep 用户身份运行 cron 任务,请发出以下命令:

# crontab -u Pradeep -e

如果该 crontab 文件尚不存在,那么你将打开一个空白文本文件。如果该 crontab 文件已经存在,则 -e 选项会让你编辑该文件,

列出 crontab 文件

要查看已创建的 cron 任务,只需传递 -l 选项:

# crontab -l

删除 crontab 文件

要删除 cron 任务,只需运行 crontab -e 并删除所需的 cron 任务行,然后保存该文件。

要删除所有的 cron 任务,请运行以下命令:

# crontab -r

然后,让我们看一下安排任务的不同方式。

使用 crontab 安排任务示例

如图所示,所有 cron 任务文件都带有 释伴 shebang 标头。

#!/bin/bash

这表示你正在使用的 shell,在这种情况下,即 bash shell。

接下来,使用我们之前指定的 cron 任务条目指定要安排任务的时间间隔。

要每天下午 12:30 重启系统,请使用以下语法:

30  12 *  *  * /sbin/reboot

要安排在凌晨 4:00 重启,请使用以下语法:

0  4  *  *  *  /sbin/reboot

注:星号 * 用于匹配所有记录。

要每天两次运行脚本(例如,凌晨 4:00 和下午 4:00),请使用以下语法:

0  4,16  *  *  *  /path/to/script

要安排 cron 任务在每个星期五下午 5:00 运行,请使用以下语法:

0  17  *  *  Fri  /path/to/script

0 17  *  *  *  5  /path/to/script

如果你希望每 30 分钟运行一次 cron 任务,请使用:

*/30  *  *  *  * /path/to/script

要安排 cron 任务每 5 小时运行一次,请运行:

*  */5  *  *  *  /path/to/script

要在选定的日期(例如,星期三和星期五的下午 6:00)运行脚本,请执行以下操作:

0  18  *  *  wed,fri  /path/to/script

要使用单个 cron 任务运行多个命令,请使用分号分隔任务,例如:

*  *  *  *  *  /path/to/script1 ; /path/to/script2

使用特殊字符串节省编写 cron 任务的时间

某些 cron 任务可以使用对应于特定时间间隔的特殊字符串轻松配置。例如,

1)@hourly 时间戳等效于 0 * * * *

它将在每小时的第一分钟执行一次任务。

@hourly /path/to/script

2)@daily 时间戳等效于 0 0 * * *

它在每天的第一分钟(午夜)执行任务。它可以在执行日常工作时派上用场。

@daily /path/to/script

3)@weekly 时间戳等效于 0 0 * * 0

它在每周的第一分钟执行 cron 任务,一周第一天是从星期日开始的。

@weekly /path/to/script

3)@monthly 时间戳等效于 0 0 1 * *

它在每月第一天的第一分钟执行任务。

@monthly /path/to/script

4)@yearly 时间戳等效于 0 0 1 1 *

它在每年的第一分钟执行任务,可以用于发送新年问候。

@yearly /path/to/script

限制 crontab

作为 Linux 用户,你可以控制谁有权使用 crontab 命令。可以使用 /etc/cron.deny/etc/cron.allow 文件来控制。默认情况下,只有一个 /etc/cron.deny 文件,并且不包含任何条目。要限制用户使用 crontab 实用程序,只需将用户的用户名添加到该文件中即可。当用户添加到该文件中,并且该用户尝试运行 crontab 命令时,他/她将遇到以下错误。

restricted-cron-user

要允许用户继续使用 crontab 实用程序,只需从 /etc/cron.deny 文件中删除用户名即可。

如果存在 /etc/cron.allow 文件,则仅文件中列出的用户可以访问和使用 crontab 实用程序。

如果两个文件都不存在,则只有 root 用户具有使用 crontab 命令的特权。

备份 crontab 条目

始终建议你备份 crontab 条目。为此,请使用语法:

# crontab -l > /path/to/file.txt

例如:

# crontab -l > /home/james/backup.txt

检查 cron 日志

cron 日志存储在 /var/log/cron 文件中。要查看 cron 日志,请运行以下命令:

# cat /var/log/cron

view-cron-log-files-linux

要实时查看日志,请使用 tail 命令,如下所示:

# tail -f /var/log/cron

view-live-cron-logs

总结

在本指南中,你学习了如何创建 cron 任务以自动执行重复性任务,如何备份和查看 cron 日志。我们希望本文提供有关 cron 作业的有用见解。请随时分享你的反馈和意见。


via: https://www.linuxtechi.com/schedule-automate-tasks-linux-cron-jobs/

作者:Pradeep Kumar 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

如果你曾经在家和办公室之外连接到 WiFi,那么通常会看到一个门户页面。它可能会要求你接受服务条款或其他协议才能访问。但是,当你无法通过这类门户进行连接时会发生什么?本文向你展示了如何在 Fedora 上使用 NetworkManager 在某些故障情况下让你仍然可以访问互联网。

强制门户如何工作

强制门户是新设备连接到网络时显示的网页。当用户首次访问互联网时,门户网站会捕获所有网页请求并将其重定向到单个门户页面。

然后,页面要求用户采取一些措施,通常是同意使用政策。用户同意后,他们可以向 RADIUS 或其他类型的身份验证系统进行身份验证。简而言之,强制门户根据设备的 MAC 地址和终端用户接受条款来注册和授权设备。(MAC 地址是附加到任何网络接口的基于硬件的值,例如 WiFi 芯片或卡。)

有时设备无法加载强制门户来进行身份验证和授权以使用 WiFI 接入。这种情况的例子包括移动设备和游戏机(Switch、Playstation 等)。当连接到互联网时,它们通常不会打开强制门户页面。连接到酒店或公共 WiFi 接入点时,你可能会看到这种情况。

不过,你可以在 Fedora 上使用 NetworkManager 来解决这些问题。Fedora 可以使你临时克隆要连接的设备的 MAC 地址,并代表该设备通过强制门户进行身份验证。你需要得到连接设备的 MAC 地址。通常,它被打印在设备上的某个地方并贴上标签。它是一个六字节的十六进制值,因此看起来类似 4A:1A:4C:B0:38:1F。通常,你也可以通过设备的内置菜单找到它。

使用 NetworkManager 克隆

首先,打开 nm-connection-editor,或通过“设置”打开 WiFi 设置。然后,你可以使用 NetworkManager 进行克隆:

  • 对于以太网:选择已连接的以太网连接。然后选择 “Ethernet” 选项卡。记录或复制当前的 MAC 地址。在 “ 克隆 MAC 地址 Cloned MAC address ” 字段中输入游戏机或其他设备的 MAC 地址。
  • 对于 WiFi:选择 WiFi 配置名。然后选择 “WiFi” 选项卡。记录或复制当前的 MAC 地址。在 “ 克隆 MAC 地址 Cloned MAC address ” 字段中输入游戏机或其他设备的 MAC 地址。

启动所需的设备

当 Fedora 系统与以太网或 WiFi 配置连接,克隆的 MAC 地址将用于请求 IP 地址,并加载强制门户。输入所需的凭据和/或选择用户协议。该 MAC 地址将获得授权。

现在,断开 WiF i或以太网配置连接,然后将 Fedora 系统的 MAC 地址更改回其原始值。然后启动游戏机或其他设备。该设备现在应该可以访问互联网了,因为它的网络接口已通过你的 Fedora 系统进行了授权。

不过,这不是 NetworkManager 全部能做的。例如,请参阅随机化系统硬件地址,来获得更好的隐私保护。


via: https://fedoramagazine.org/cloning-a-mac-address-to-bypass-a-captive-portal/

作者:Esteban Wilson 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

本文将向你展示如何在 Fedora 的命令行解释器(CLI)Shell 中设置一些强大的工具。如果使用bash(默认)或zsh,Fedora 可让你轻松设置这些工具。

前置需求

这需要一些已安装的软件包。在 Fedora 工作站上,运行以下命令:

sudo dnf install git wget curl ruby ruby-devel zsh util-linux-user redhat-rpm-config gcc gcc-c++ make

在 Silverblue 上运行:

sudo rpm-ostree install git wget curl ruby ruby-devel zsh util-linux-user redhat-rpm-config gcc gcc-c++ make

注意:在 Silverblue 上,你需要重新启动才能继续。

字体

你可以通过安装新字体使终端焕然一新。为什么不使用可以同时显示字符和图标的字体呢?

Nerd-Fonts

打开一个新终端,然后键入以下命令:

git clone https://github.com/ryanoasis/nerd-fonts ~/.nerd-fonts
cd .nerd-fonts
sudo ./install.sh

Awesome-Fonts

在工作站上,使用以下命令进行安装:

sudo dnf fontawesome-fonts

在 Silverblue 上键入:

sudo rpm-ostree install fontawesome-fonts

Powerline

Powerline 是 vim 的状态行插件,并为其他几个应用程序也提供了状态行和提示符,包括 bash、zsh、tmus、i3、Awesome、IPython 和 Qtile。你也可以在官方文档站点上找到更多信息。

安装

要在 Fedora 工作站上安装 Powerline 实用程序,请打开一个新终端并运行:

sudo dnf install powerline vim-powerline tmux-powerline powerline-fonts

在 Silverblue 上,命令更改为:

sudo rpm-ostree install powerline vim-powerline tmux-powerline powerline-fonts

注意:在 Silverblue 上,你需要重新启动才能继续。

激活 Powerline

要使 Powerline 默认处于活动状态,请将下面的代码放在 ~/.bashrc 文件的末尾:

if [ -f `which powerline-daemon` ]; then
  powerline-daemon -q
  POWERLINE_BASH_CONTINUATION=1
  POWERLINE_BASH_SELECT=1
  . /usr/share/powerline/bash/powerline.sh
fi

最后,关闭终端并打开一个新终端。它看起来像这样:

Oh-My-Zsh

Oh-My-Zsh 是用于管理 Zsh 配置的框架。它捆绑了有用的功能、插件和主题。要了解如何将 Zsh 设置为默认外壳程序,请参见这篇文章

安装

在终端中输入:

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

或者,你也可以输入以下内容:

sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

最后,你将看到如下所示的终端:

恭喜,Oh-my-zsh 已安装成功。

主题

安装后,你可以选择主题。我喜欢使用 powerlevel10k。优点之一是它比 powerlevel9k 主题快 100 倍。要安装它,请运行以下命令行:

git clone https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/themes/powerlevel10k

并在你的 ~/.zshrc 文件设置 ZSH_THEME

ZSH_THEME=powerlevel10k/powerlevel10k

关闭终端。再次打开终端时,powerlevel10k 配置向导将询问你几个问题以正确配置提示符。

完成 powerline10k 配置向导后,你的提示符将如下所示:

如果你不喜欢它。你可以随时使用 p10k configure 命令来运行 powerline10k 向导。

启用插件

插件存储在 .oh-my-zsh/plugins 文件夹中。要激活插件,你需要编辑 ~/.zshrc 文件。安装插件意味着你创建了一系列执行特定功能的别名或快捷方式。

例如,要启用 firewalld 和 git 插件,请首先编辑 ~/.zshrc

plugins=(firewalld git)

注意:使用空格分隔插件名称列表。

然后重新加载配置:

source ~/.zshrc

要查看创建的别名,请使用以下命令:

alias | grep firewall

更多配置

我建议安装语法高亮和语法自动建议插件。

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

将它们添加到文件 ~/.zshrc 的插件列表中。

plugins=( [plugins...] zsh-syntax-highlighting zsh-autosuggestions)

重新加载配置。

source ~/.zshrc

查看结果:

彩色的文件夹和图标

colorls 是一个 ruby gem,可使用颜色和超棒的字体图标美化终端的 ls 命令。你可以访问官方网站以获取更多信息。

因为它是个 ruby gem,所以请按照以下简单步骤操作:

sudo gem install colorls

要保持最新状态,只需执行以下操作:

sudo gem update colorls

为防止每次输入 colorls,你可以在 ~/.bashrc~/.zshrc 中创建别名。

alias ll='colorls -lA --sd --gs --group-directories-first'
alias ls='colorls --group-directories-first'

另外,你可以为 colorls 的选项启用制表符补完功能,只需在 shell 配置末尾输入以下行:

source $(dirname ($gem which colorls))/tab_complete.sh

重新加载并查看会发生什么:


via: https://fedoramagazine.org/tuning-your-bash-or-zsh-shell-in-workstation-and-silverblue/

作者:George Luiz Maluf 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在无数次劝说自己后,你终于做出了一个大胆的决定,试试 Linux。不过,在完全熟悉 Linux 之前,你依旧需要使用 Windows 10 系统。幸运的是,通过一个双系统引导设置,能让你在启动时,选择自己想要进入的系统。在这个指南中,你会看到如何 如何双重引导 Windows 10 和 Debian 10。

如何拥有一个 Windows 10 和 Debian 10 的双系统

前提条件

在开始之前,确保你满足下列条件:

  • 一个 Debian 10 的可引导 USB 或 DVD
  • 一个快速且稳定的网络(为了安装更新以及第三方软件)

另外,记得注意你系统的引导策略(UEFI 或 Legacy),需要确保两个系统使用同一种引导模式。

第一步:在硬盘上创建一个空余分区

第一步,你需要在你的硬盘上创建一个空余分区。之后,这将是我们安装 Debian 系统的地方。为了实现这一目的,需要使用下图所示的磁盘管理器:

同时按下 Windows + R 键,启动“运行程序”。接下来,输入 diskmgmt.msc,按回车键。

启动“运行程序”

这会启动“磁盘管理”窗口,它会显示你 Windows 上所有已有磁盘。

磁盘管理

接下来,你需要为安装的 Debian 系统创建空余空间。为此,你需要缩小其中一个磁盘(卷)上的分区,从而创建一个未分配的新分区。在这个例子里,我会从 D 盘中创建一个 30 GB 的新分区。

为了缩小一个卷,右键点击它,然后选中选项 “ 缩小 Shrink volume… ”。

缩小卷

在弹出窗口中,定义你想缩小的空间大小。记住,这是将来要安装 Debian 10 的磁盘空间。我选择了 30000MB(大约 30 GB)。压缩完成后,点击“ 缩小 Shrink ”。

缩小空间

在缩小操作结束后,你会看到一个如下图所示的未分配分区:

未分配分区

完美!现在可以准备开始安装了。

第二步:开始安装 Debian 10

空余分区已经创建好了,将你的可引导 USB 或安装 DVD 插入电脑,重新启动系统。记得更改 BIOS 中的引导顺序,需要在启动时按住功能键(通常,根据品牌不同,是 F9F10F12 中的某一个)。 这一步骤,对系统是否能进入安装媒体来说,至关重要。保存 BIOS 设置,并重启电脑。

如下图所示,界面会显示一个新的引导菜单:点击 “Graphical install”。

图形化界面安装

下一步,选择你的偏好语言,然后点击 “ 继续 Continue ”。

设置语言-Debian10

接着,选择你的地区,点击“ 继续 Continue ”。 根据地区,系统会自动选择当地对应的时区。如果你无法找到你所对应的地区,将界面往下拉, 点击“ 其他 Other ”后,选择相对应位置。

选择地区-Debain10

而后,选择你的键盘布局。

设置键盘-Debain10

接下来,设置系统的主机名,点击 “ 继续 Continue ”。

设置主机名-Debian10

下一步,确定域名。如果你的电脑不在域中,直接点击 “ 继续 Continue ”按钮。

设置域名-Debian10

然后,如图所示,设置 root 密码,点击 “ 继续 Continue ”。

设置 root 密码-Debian10

下一步骤,设置账户的用户全名,点击 “ 继续 Continue ”。

设置用户全名-debain10

接着,设置与此账户相关联的用户名。

指定用户名-Debian10

下一步,设置用户密码,点击“ 继续 Continue ”。

设置用户密码-Debian10

然后,设置时区。

设置时区-Debian10

这时,你要为 Debian10 安装创建分区。如果你是新手用户,点击菜单中的第一个选项,“ 使用最大的连续空余空间 Use the largest continuous free space ”,点击“ 继续 Continue ”。

使用最大的连续空余空间-debian10

不过,如果你对创建分区有所了解的话,选择“ 手动 Manual ” 选项,点击 “ 继续 Continue ”。

选择手动-Debain10

接着,选择被标记为 “ 空余空间 FREE SPACE ” 的磁盘,点击 “ 继续 Continue ” 。接下来,点击“ 创建新分区 Create a new partition ”。

创建新分区-Debain10

下一界面,首先确定交换空间大小。我的交换空间大小为 2GB,点击 “ 继续 Continue ”。

确定交换空间大小-debian10

点击下一界面的 “ 主分区 Primary ”,点击“ 继续 Continue ”。

磁盘主分区-Debian10

选择在磁盘 “ 初始位置 beginning ” 创建新分区后,点击继续。

在初始位置创建-Debain10

选择 “ Ext 4 日志文件系统 Ext 4 journaling file system ”,点击 “ 继续 Continue ”。

选择 Ext4 日志文件系统-debain10

下个界面选择“ 交换空间 swap space ” ,点击 “ 继续 Continue ”。

选择交换空间-debian10

选中 “ 完成此分区设置 done setting the partition ”,点击 “ 继续 Continue ”。

完成此分区设置-debian10

返回磁盘分区界面,点击 “ 空余空间 FREE SPACE ”,点击 “ 继续 Continue ”。

点击空余空间-Debain10

为了让自己能轻松一点,选中 “ 自动为空余空间分区 Automatically partition the free space ”后,点击 “ 继续 Continue ”。

自动为空余空间分区-Debain10

接着点击 “ 将所有文件存储在同一分区(新手用户推荐) All files in one partition (recommended for new users) ”。

将所有文件存储在同一分区-debian10

最后, 点击 “ 完成分区设置,并将改动写入磁盘 Finish partitioning and write changes to disk ” ,点击 “ 继续 Continue ”。

完成分区设置,并将改动写入磁盘

确定你要将改动写入磁盘,点击 “ Yes ”。

将改动写入磁盘-Debian10

而后,安装程序会开始安装所有必要的软件包。

当系统询问是否要扫描其他 CD 时,选择 “ No ” ,并点击 “ 继续 Continue ”。

扫描其他CD-No-Debain10

接着,选择离你最近的镜像站点地区,点击 “ 继续 Continue ”。

Debian-镜像站点-国家

然后,选择最适合你的镜像站点,点击“ 继续 Continue ”。

选择镜像站点

如果你打算使用代理服务器,在下面输入具体信息,没有的话就留空,点击 “ 继续 Continue ”。

输入代理信息-debian10

随着安装进程的继续, 你会被问到,是否想参加一个软件包用途调查。你可以选择任意一个选项,之后点击“ 继续 Continue ”,我选择了“ No ”。

参与调查-debain10

在软件选择窗口选中你想安装的软件包,点击“ 继续 Continue ”。

软件选择-debian10

安装程序会将选中的软件一一安装,在这期间,你可以去喝杯咖啡休息一下。

系统将会询问你,是否要将 grub 的引导装载程序安装到主引导记录表(MBR)上。点击 “ Yes ”,而后点击 “ 继续 Continue ”。

安装-grub-bootloader-debian10

接着,选中你想安装 grub 的硬盘,点击“ 继续 Continue ”。

选择硬盘-安装 grub-Debian10

最后,安装完成,直接点击 “ 继续 Continue ”。

安装完成-重新启动-debian10

你现在应该会有一个列出 Windows 和 Debian 的 grub 菜单。为了引导 Debian 系统,往下选择 Debian。之后,你就能看见登录界面。输入密码之后,按回车键。

Debian10-登录

这就完成了!这样,你就拥有了一个全新的 Debian 10 和 Windows 10 双系统。

Debian10-Buster-Details


via: https://www.linuxtechi.com/dual-boot-windows-10-debian-10/

作者:James Kiarie 选题:lujun9972 译者:wenwensnow 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出