2021年11月

这里是如何在不使用安装程序的情况下来手动设置你的 FreeDOS 系统。

 title=

大多数的人应该能够使用安装程序来非常容易地安装 FreeDOS 1.3 RC4 。FreeDOS 安装程序会先询问几个问题,然后处理剩余的工作,包括为 FreeDOS 制作安装空间和使系统可启动。

但是,如果安装程序不适合你怎么办?或者,你更喜欢 手动 设置你的 FreeDOS 系统,而不喜欢使用安装程序怎么办?使用 FreeDOS ,你也可以做到这些!让我们在不使用安装程序的情况下逐步走完安装 FreeDOS 的步骤。我将使用 QEMU 虚拟机的一个空白的硬盘驱动器镜像来完成所有的步骤。我使用这个 Linux 命令来创建了一个 100 MB 的硬盘驱动器镜像:

$ qemu-img create freedos.img 100M

我下载了 FreeDOS 1.3 RC4 的 LiveCD ,并将其命名为 FD13LIVE.iso ,它提供了一个 “身临其境” 的环境,我可以在其中运行 FreeDOS ,包括所有的标准工具。大多数用户也使用 LiveCD 自带的常规安装程序来安装 FreeDOS 。但是,在这里我将仅使用 LiveCD ,并从其命令行中使用某些类型的命令来安装 FreeDOS 。

我使用这个相当长的 QEMU 命令来启动虚拟机,并选择 “Use FreeDOS 1.3 in Live Environment mode” 启动菜单项:

$ qemu-system-x86_64 -name FreeDOS -machine pc-i440fx-4.2,accel=kvm,usb=off,dump-guest-core=off -enable-kvm -cpu host -m 8 -overcommit mem-lock=off -no-user-config -nodefaults -rtc base=utc,driftfix=slew -no-hpet -boot menu=on,strict=on -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny -msg timestamp=on -hda freedos.img -cdrom FD13LIVE.iso -device sb16 -device adlib -soundhw pcspk -vga cirrus -display sdl -usbdevice mouse

 title=

选择 "Use FreeDOS 1.3 in Live Environment mode" 来启动 LiveCD(Jim Hall, CC-BY SA 4.0

这个 QEMU 命令行包含大量的选项,乍看可能会让你迷糊。因为你完全使用命令行选项配置 QEMU ,所以在这里有很多东西需要审查。但是,我将简单地重点说明几个重要的选项:

  • -m 8:设置系统存储器(RAM)为 8 MB
  • -boot menu=on,strict=on:使用一个启动菜单,这样,我可以选择从 CD-ROM 镜像或硬盘驱动器镜像启动
  • -hda freedos.img:使用 freedos.img 作为硬盘驱动器镜像
  • -cdrom FD13LIVE.iso:使用 FD13LIVE.iso 作为 CD-ROM 镜像
  • -device sb16 -device adlib -soundhw pcspk:定义计算机带有一个 SoundBlaster16 声卡、AdLib 数字音乐卡、PC 扬声器模拟器(如果你想玩 DOS 游戏的话,这些模拟器很有用)
  • -usbdevice mouse:将用户的鼠标识别为一个 USB 鼠标(在 QEMU 窗口中单击以使用鼠标)

对硬盘驱动器进行分区

你可以从 LiveCD 使用 FreeDOS 1.3 RC4 ,但是,如果你想安装 FreeDOS 到你的计算机中,你需要先在硬盘驱动器上制作安装空间。这需要使用 FDISK 程序来创建一个 分区

从 DOS 命令行中,输入 FDISK 来运行 分区 设置程序。FDISK 是一个全屏交互式程序,你只需要输入数字来选择菜单项。从 FDISK 的主菜单中,输入 1 来在驱动器上创建一个 DOS 分区,然后在接下来的屏幕上输入 1 来创建一个 “主” DOS 分区。

 title=

选择 1 来创建一个分区(Jim Hall, CC-BY SA 4.0

 title=

在接下来的菜单上选择 1 来制作一个主分区(Jim Hall, CC-BY SA 4.0

FDISK 会询问你是否想要使用全部的硬盘空间大小来创建分区。除非你需要在这个硬盘驱动器上和另外一个操作系统(例如 Linux)共享硬盘空间,否则,对于这个提示,你应该回答 Y

FDISK 创建新的分区后,在 DOS 能够识别新的分区信息前,你将需要重新启动 DOS 。像所有的 DOS 操作系统一样,FreeDOS 仅在其启动时识别硬盘驱动器信息。因此,如果你创建或删除任何的磁盘分区的话,你都将需要重新启动 FreeDOS ,只有这样做,FreeDOS 才能识别到更改的分区信息。FDISK 会提醒你重新启动,因此,你是不会忘记的。

 title=

你需要重新启动以识别新的分区(Jim Hall, CC-BY SA 4.0

你可以通过停止或重新启动 QEMU 虚拟机来重新启动 FreeDOS,但是我更喜欢在 FreeDOS 命令行中使用 FreeDOS 的高级电源管理(FDADPM)工具来重新启动 FreeDOS 。为了重新启动,输入命令 FDADPM /WARMBOOT ,FreeDOS 将自动重新启动。

对硬盘驱动器进行格式化

在 FreeDOS 重新启动后,你可以继续设置硬盘驱动器。创建磁盘分区是这个过程的“第一步”;现在你需要在分区上创建一个 DOS 文件系统 ,以便 FreeDOS 可以使用它。

DOS 系统使用字母 AZ 来识别“驱动器”。FreeDOS 将识别第一个硬盘驱动器的第一个分区为 C 驱动器,依此论推。你经常使用字母和一个冒号(:)来表示驱动器,因此我们在上面创建的新分区实际上是 C: 驱动器。

你可以在新的分区上使用 FORMAT 命令来创建一个 DOS 文件系统。这个命令带有一些选项,但是,我们将仅使用 /S 选项来告诉 FORMAT 来使新的文件系统可启动: S 意味着安装 FreeDOS “系统” 文件。输入 FORMAT /S C: 来在 C: 驱动器上制作一个新的 DOS 文件系统。

 title=

格式化分区来创建 DOS 文件系统(Jim Hall, CC-BY SA 4.0

使用 /S 选项,FORMAT 将运行 SYS 程序来传输系统文件。你将看到这是从 FORMAT 输出的一部分:

 title=

FORMAT /S 将使用 SYS 来使磁盘可启动(Jim Hall, CC-BY SA 4.0

安装软件

在使用 FDISK 创建了一个新的分区,并使用 FORMAT 创建了一个新的文件系统后, 新的 C: 驱动器基本上是空的。此时,C: 驱动器仅包含一份内核和 COMMAND.COM 命令行 shell 的副本。为使新的磁盘可以执行一些有用的操作,我们需要在其上安装软件。这是手动安装过程的最后步骤。

FreeDOS 1.3 RC4 LiveCD 包含所有的你可能希望在新的系统上所要安装的软件。每个 FreeDOS 程序都是一个单独的 “软件包” ,它实际上只是一个 Zip 档案文件。建立标准 DOS 环境的软件包存储在 LiveCD 上 PACKAGES 目录下的 BASE 目录之中。

你可以一次一个的将其中的每一个软件包都 “解压缩” 到硬盘驱动器来完成安装。在 Base 组中有 62 个单独的软件包,如果每次安装一个软件包,这可能会花费非常多的时间。不过,你可以运行一个只有一行的 FOR “循环” 命令来 UNZIP 每个程序。接下来 FreeDOS 可以为你 “解压缩” 所有的软件包。

FOR 循环的基本用法中提及的一个单个字母变量(让我们使用 %F),稍后,FreeDOS 将使用该字母变量来 “填充” 文件名称。FOR 还需要括号中的一个文件列表,这个命令会对每个文件都运行一次。用来解压一系列的 Zip 文件的语法看起来像这样:

FOR %F IN (*.ZIP) DO UNZIP %F

这将提取所有的 Zip 文件到当前目录之中。为提取或 UNZIP 文件到一个不同的位置,在 UNZIP 命令行结尾处使用 -d (“目的地”) 选项。对于大多数的 FreeDOS 系统来说,你应该安装软件包到 C:\FDOS 目录中:

 title=

解压缩所有的基本软件包来完成安装 FreeDOS(Jim Hall, CC-BY SA 4.0

FreeDOS 会处理剩余的工作,安装所有的 62 个软件包到你的系统之中。这可能会花费几分钟的时间,因为 DOS 在处理很多单个的文件时会很慢,这个命令需要提取 62 个 Zip 文件。如果我们使用单个的 BASE.ZIP 档案文件的话,安装过程可能会运行地更快,但是使用软件包的话,在你选择想要安装或不安装软件包时会提供更多的灵活性。

 title=

在安装所有的基本软件包后(Jim Hall, CC-BY SA 4.0

在我们安装完所有的东西后,使用 FDADPM /WARMBOOT 来重新启动你的系统。手动安装意味着你的新 FreeDOS 系统没有常见的 FDCONFIG.SYS 配置文件,因此,当 FreeDOS 在启动时,它将假设一些典型的默认值。因为没有 AUTOXEC.BAT 文件,FreeDOS 也会提示你时间和日期。

 title=

在手动安装后,重新启动 FreeDOS(Jim Hall, CC-BY SA 4.0

大多数的用户应该能够使用比较用户友好的过程来在一台新的计算机上安装 FreeDOS 。但是如果你想自己使用“古老的”方法来安装它,那么你可以手动运行安装步骤。这会提供一些额外的灵活性和控制权,因为是你自己安装的一切。现在你知道如何安装它了。


via: https://opensource.com/article/21/6/install-freedos-without-installer

作者:Jim Hall 选题:lujun9972 译者:robsean 校对:wxy

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

想试一个只是好玩的应用吗?试试 cowsay。

 title=

大多数时候,终端是一个生产力的动力源。但是,终端的作用不止是命令和配置。在所有杰出的开源软件中,有些是 为了好玩而写的。我以前介绍过一些 有趣的命令,但这篇文章只讲一个:古老的 cowsay 命令。

cowsay 是一只可配置的会说话(或思考)的牛。它接受一个文本字符串,并输出一个牛说话的图形。下面是一头牛在说它喜欢 Linux:

< I love Linux >
--------------
       \   ^__^
        \  (oo)\_______
           (__)\       )\/\
               ||----w |
               ||     ||

要得到这个结果,我只需输入:

$ cowsay "I love Linux"

在 Linux 上安装 cowsay

你可以用你的包管理器安装 cowsay。在 Debian、Mint、Elementary 和类似的发行版上:

$ sudo apt install cowsay

在 Fedora 上:

$ sudo apt install cowsay-beefymiracle

Cowsay 命令选项

cowsay 是一个简单又有点傻的应用。除了为你的终端机提供一些不同样式外,它并没有什么实际用途。例如,与其让一头普通的牛说一个有趣短语,你可以让一头长着古怪眼睛的牛说一个有趣的短语。输入:

$ cowsay -e @@ Hello

你会看到:

< Hello >
 -------
       \   ^__^
        \  (@@)\_______
           (__)\       )\/\
               ||----w |
               ||     ||

或者你可以让它伸出舌头。输入:

$ cowsay -T U Hello

你会看到:

< Hello >
-------
       \   ^__^
        \  (oo)\_______
           (__)\       )\/\
            U ||----w |
               ||     ||

更好的是,你可以将 fortune 命令与 cowsay 结合起来:

$ fortune | cowsay

现在你有了一头特别睿智的牛:

 _______________________________________
/ we:                                   \
|                                       |
| The single most important word in the |
\ world.                                /
 ---------------------------------------
       \   ^__^
        \  (oo)\_______
           (__)\       )\/\
               ||----w |
               ||     ||

“结实的奇迹”

在 Fedora 上,有一个额外的 cowsay 选项,也是一个非官方的项目吉祥物。多年来,Fedora 安装程序一直在展示宣传开源贡献的幻灯片。因为它们是根据汽车电影院的插曲设计的,所以幻灯片中常见的卡通人物是拟人化的热狗。

为了与这个主题保持一致,你可以用 Fedora 版本的 cowsay 调用一个所谓的“ 结实的奇迹 beefy miracle ”。(LCTT 译注:Fedora 17 的开发代号。)

$ cowsay -f beefymiracle Hello Fedora

你会得到一个非常傻的输出:

< Hello Fedora >
 --------------      .---. __
          ,    \    /     \   \    ||||
         \\\\      |O___O |    | \\||||
         \   //    | \_/  |    |  \   /
          '--/----/|     /     |   |-'
                 // //  /     -----'
                //  \\ /      /
               //  // /      /
              //  \\ /      /
             //  // /      /
            /|   ' /      /
            //\___/      /
           //   ||\     /
           \\_  || '---'
           /' /  \\_.-
          /  /    --| |
          '-'      |  |
                    '-'

图形化的 cowsay

如果你发现自己需要用图形化的牛来传递信息,可以使用 xcowsay 命令。这是一个类似于 cowsay 的图形程序,它接受一个由用户输入的文本字符串,或从另一个应用(如 Fortune)输送过来的文本字符串。

 title=

有趣的 Linux 命令

虽然 cowsay 不是一个有用的命令,但它是一个有趣的命令,相当于你终端的桌面小工具。它很适合用来分散注意力和进行有趣的管道命令实验(尝试将 ifconfig 管道到 cowsay,或 lsblkmount,或任何东西!)。如果你想让你的终端更有趣,试试 cowsay


via: https://opensource.com/article/21/11/linux-cowsay-command

作者:Don Watkins 选题:lujun9972 译者:geekpi 校对:wxy

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

周易 AI 加速器因缺乏开源客户端而无法进入 Linux 内核主线

周易 AI 加速器是由 Arm 中国开发的,目前已经用在一些 SoC 中,如全志 R329。一位百度工程师发布了一个超过五千行代码的新内核驱动,实现了对它的支持。但是这个驱动目前只能进入暂存区,而无法进入 Linux 内核主线,因为 Arm 中国只是以二进制方式分发了用户空间组件(客户端),而没有提供它的源代码。甚至开发该驱动的开发者似乎也没有用户空间的源代码,而是要靠逆向工程来实现。

老王点评:这种闭源而小众的硬件,Linux 内核是不欢迎的。

开发了五年的新 Linux 随机数发生器仍然无法进入内核主线

LRNG 是 Linux 上的一个新的 /dev/random 实现,它已经开发了五年多。它采用与现有内核实现不同的设计,但是完全兼容现有的接口。由于加密处理的改进、大型并行系统更好的可扩展性、关键代码路径中高达 130% 的性能提升等等,这个实现更加出色。但是这个新的随机数发生器何时能进入 Linux 内核,目前还需要拭目以待。

老王点评:随机数的实现看似简单和基础,但是其实是整个安全系统的基石,所以内核对它非常慎重。

三分之一的暗网域名现在是 V3 洋葱网站

过去两年,Tor 匿名网络经历了一个重大变化,.onion 域名取消了被称为 V2 地址的 16 个字符长的域名,取而代之的是被称为 V3 的 56 个字符长的域名。据调查,目前 62% 是 V2 地址,38% 是 V3 地址。Tor 团队在 9 月自己的 V2-V3 分析中指出,预计 V2 网站将在未来一年内绝迹。

老王点评:V3 域名给对洋葱网络上的非法内容打击增加了困难。

亚马逊已经发布了 Amazon Linux 2022 的公开预览版,并有了新的发布模式。

如果你还不知道,亚马逊有自己的通用 Linux 发行版,自然而然,它被称为 Amazon Linux。

它的目的是在 AWS 服务器上使用。当你部署服务器时,你可以选择使用 Amazon Linux,或其他流行的选择,如 Ubuntu、Debian 等。由于它来自亚马逊,所以没有许可费,而且亚马逊对软件库和软件包进行控制。你可以期待它与 AWS 工具紧密结合,并通过它获得新的 AWS 创新。

Amazon Linux 2022(AL2022)是其版本 1 和 2 之后的下一个版本,它将在 2022 年发布(你可以从版本号上猜到)。

即将发布的 Amazon Linux 2022 只基于 Fedora

到目前为止,Amazon Linux 的发布是基于红帽 Linux 和 Fedora 两者的组合。从 AL2022 开始,它将明确使用 Fedora 作为上游。

此举意在为 AWS 客户“提供各种最新软件,如更新的语言运行时,作为季度发布的一部分”。

为了提高安全性,减少攻击面,AL2022 还将启用 SELinux 并默认执行。

与 Ubuntu 相似的新发布模式

Amazon Linux 还选择了一个更可预测的发布时间表。每两年将发布一个新的 Amazon Linux 主要版本,并将支持五年。这样,用户就会知道何时以及如何升级他们的操作系统。

这种“每两年一个新的 LTS 版本和 5 年的支持”与 Ubuntu 如今的特点非常相似。

还有什么?

AL2022 也能锁定到亚马逊 Linux 软件包库的特定版本。这使得用户可以控制如何以及何时吸收更新。

Amazon Linux 2022 在所有的地理区域都可以作为预览版(即 beta 版)体验。你可以访问他们的 GitHub 页面了解更多关于 AL2022 的信息。


via: https://news.itsfoss.com/amazon-linux-2022-preview/

作者:Abhishek 选题:lujun9972 译者:wxy 校对:wxy

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

复制控制器负责管理吊舱的生命周期并确保在任何时候运行着所需的指定数量的吊舱。

 title=

你有没有想过,谁负责监督和管理 Kubernetes 集群内运行的“ 吊舱 pod ”的确切数量?Kubernetes 可以通过多种方式做到这一点,但一个常见的方法是使用 “ 复制控制器 ReplicationController (RC)”。RC 负责管理吊舱的生命周期,并确保在任何时候运行着所需的指定数量的吊舱。但另一方面,它不负责高级的集群能力,如执行自动扩展、准备度和活跃探测以及其他高级的复制能力。Kubernetes 集群中的其他组件可以更好地执行这些功能。

简而言之,RC 的职责有限,通常用于不需要复杂逻辑就能达到某些要求的具体实现(例如,确保所需的吊舱数量总是与指定的数量相符)。如果超过了所需的数量,RC 会删除多余的,并确保即使在节点故障或吊舱终止的情况下,也有相同数量的存在。

简单的事情不需要复杂的解决方案,对我来说,这就是 RC 如何被使用的一个完美的比喻。

如何创建一个 RC

像大多数 Kubernetes 资源一样,你可以使用 YAML 或 JSON 格式创建一个 RC,然后将其发布到 Kubernetes API 端点。

$ kubectl create -f rcexample.yaml
 replicationcontroller/rcexample created

现在,我将深入一下 rcexample.yaml 的样子。

apiVersion: v1
kind: ReplicationController   →  RC 描述符    
metadata:
 name: rcexample            →  复制控制器名字              
spec:
 replicas: 3                 → 预期的吊舱数量      
 selector:                  → 这个 RC 的吊舱选择器
   app: nginx                        
 template:                  → 用于创建新吊舱的模板    
   metadata:                        
     labels:                        
       app: nginx                    
   spec:                            
     containers:                    
     - name: nginx                  
       image: nginx

进一步解释,这个文件在执行时创建了一个名为 rcexample 的 RC,确保三个名为 nginx 的吊舱实例一直在运行。如果一个或所有的 app=nginx 吊舱没有运行,新的吊舱将根据定义的吊舱模板创建。

一个 RC 有三个部分:

  • 复制品:3
  • 吊舱模板:app=nginx
  • 吊舱选择器:app=nginx

注意,吊舱模板要与吊舱选择器相匹配,以防止 RC 一直创建吊舱。如果你创建的 RC 的吊舱选择器与模板不匹配,Kubernetes API 服务器会给你一个错误。

为了验证 RC rcexample 是否被创建:

$ kubectl get po
NAME     READY   STATUS       RESTARTS  AGE
rcexample-53thy  0/1  Running         0     10s
rcexample-k0xz6  0/1  Running         0     10s
rcexample-q3vkg  0/1  Running         0     10s

要删除 RC:

$ kubectl delete rc rcexample
 replicationcontroller "rcexample" deleted

注意,你可以对 RC 中的服务使用 滚动更新 策略,逐个替换吊舱。

其他复制容器的方法

在 Kubernetes 部署中,有多种方法可以实现容器的复制。Kubernetes 成为容器平台的主要选择的主要原因之一是复制容器以获得可靠性、负载平衡和扩展的原生能力。

我在上面展示了你如何轻松地创建一个 RC,以确保在任何时候都有一定数量的吊舱可用。你可以通过更新副本的数量来手动扩展吊舱。

另一种可能的方法是通过使用 “ 复制集 ReplicaSet (RS)”来达到复制的目的。

(kind: ReplicaSet)

RS 的功能几乎与 RC 相同。主要区别在于,RS 不允许滚动更新策略。

另一种实现复制的方法是通过使用 “ 部署 Deployments ”。

(kind: Deployment)

部署是一种更高级的容器复制方法。从功能上讲,部署提供了相同的功能,但在需要时可以推出和回滚变化。这种功能之所以能够实现,是因为部署有 “ 策略类型 StrategyType ” 规范来用新的吊舱替换旧的吊舱。你可以定义两种类型的部署策略:“ 重新创建 Recreate ” 和 “ 滚动更新 RollingUpdate ”。你可以如下指定部署策略:

StrategyType: RollingUpdate

总结

容器的复制功能是大多数企业考虑采用 Kubernetes 的主要原因之一。复制可以让你达到大多数关键应用程序需要的可靠性和可扩展性,作为生产的最低要求。

了解在 Kubernetes 集群中使用哪些方法来实现复制,对于决定哪种方法最适合你的应用架构考虑非常重要。


via: https://opensource.com/article/21/11/kubernetes-replicationcontroller

作者:Mike Calizo 选题:lujun9972 译者:geekpi 校对:wxy

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

攻击者不愿费力暴力破解长密码

根据微软蜜罐服务器网络收集的数据,大多数暴力破解攻击者主要 尝试猜测短密码,很少攻击针对长的或包含复杂字符的凭证。微软安全研究员表示:“我分析了微软传感器网络中约 30 天的数据,这包括超过一百万次针对 SSH 的暴力攻击输入的凭据。77% 的破解行为使用的是长度在 1 至 7 个字符之间的密码。长度超过 10 个字符的密码尝试只占 6%。”

老王点评:看,你只需要使用一个比较长的密码就可以了,换句话说,你只要“比其他人跑得快,狗熊就追不上你”。

央视新闻 AI 手语主播亮相

11 月 24 日,据 央视新闻官微消息,今日,央视新闻联合百度智能云打造的首个 AI 手语主播正式亮相,将从 2022 北京冬奥会开始为听障人士提供全年无休服务。从视频来看,这位 AI 手语主播有着“真人般”的皮肤、头发、眼睛,形象亲切自然,气质优雅独特。据介绍,百度智能云采⽤语⾳识别、⾃然语⾔处理等⼈⼯智能技术,构建出⼀套复杂⽽精确的⼿语翻译引擎,实现了⽂字及⾳视频内容到⼿语的翻译。随后,通过专为⼿语优化的⾃然动作引擎,进⾏虚拟形象的驱动,将⼿语实时演绎为数字⼈的表情动作。

老王点评:AI 技术的正确打开方式,这比现在热捧的元宇宙有用多了。

苹果“播客”应用找到了迅速提升了评分的捷径

苹果默认安装的“播客”应用在一个多月内,在没有任何实际修复的情况下,从公开的 1.8 星得分一路上升到 4.6 星。而且它还在上升:该应用每天都有成千上万的评分,其中绝大多数都是 5 星。截至目前,该应用的总体评分已达到 4.7 星,并稳居苹果应用商店“播客”搜索结果的第一位。而做到这一切的做法是通过 应用内的提示 来中断听众的播客收听,让他们提交更好的评论和评分。可能很多喜欢苹果“播客”应用的人,从未费心在苹果商店中查找它并给出评分;但是另外一方面,一些积极的评论根本不是对苹果“播客”应用的评论,它们是对播客内容本身的评论。

老王点评:滥觞一开,我觉得各种浏览器、内容应用都可以效仿了。