2023年6月

我们将介绍一些最佳的虚拟化程序,为用户创建/管理虚拟机提供便利。

虚拟化软件由于其用途和好处而广泛使用,你可以使用它来体验、测试或运行需要特定操作系统版本的软件。

虚拟化提供了一个抽象的计算机硬件概念,帮助你创建虚拟机(VM)、网络、存储等。其好处包括隔离性、安全性和自由度高,可以尽情测试各种事物。

不同类型的虚拟化软件分别适用于桌面用户、服务器管理员和企业用户。

在列出各种虚拟化软件的同时,我还会提到适用对象。

1、VirtualBox

VirtualBox 运行 Ubuntu

VirtualBox 是一款备受赞誉的开源虚拟机程序,适用于 Linux、Windows 和 macOS。

它适用于各种类型的用户,无论你只是想在虚拟机上运行 Linux,还是想创建一个用于测试的虚拟机,或者是企业需要一个虚拟机解决方案。

对大多数用户来说,它可以被视为一个全能解决方案。虽然它主要适用于桌面使用,但你可以尝试其 无头 headless 模式,通过查阅其 文档,将虚拟机作为远程桌面服务器运行。

主要亮点:

  • 支持广泛的客户操作系统
  • 简单的用户界面和快速的性能
  • 定期更新
  • 功能丰富

2、OpenVZ

OpenVZ

想在服务器上创建隔离的 Linux 容器吗?OpenVZ 可以帮助你。

你可以创建行为类似于独立服务器的容器。这些容器具备帮助你高效管理的所有基本功能。

由于 OpenVZ 是作为 Linux 发行版构建和分发的,因此容器仅运行于 Linux 上。

对于初学者来说,OpenVZ 是学习使用容器的绝佳选择,因为它易于配置和管理。此外,与其他一些方案相比,基于 OpenVZ 的 VPS 托管价格实惠。

主要亮点:

  • 资源利用效率高
  • 使用和管理简单

3、KVM

基于内核的虚拟机 Kernel-based Virtual Machine KVM)集成在 Linux 中,这是它最大的优势。你可以直接在 Linux 上使用 KVM 运行虚拟机。它是一种 第一类 type-1 虚拟化管理程序 Hypervisor ,也就是硬件级别的虚拟化。

KVM 可以将 Linux 主机转换为运行虚拟机的虚拟化管理程序,以实现与物理机相似的性能。

与 OpenVZ 不同,KVM 高度可定制,且已内置于 Linux 系统中,无需单独安装。考虑到 KVM 借助虚拟化管理程序实现硬件级别的虚拟化,它相对需要更多的内存和其他系统资源。

你可以使用 KVM 创建不同操作系统的虚拟机。要配置它,你可以参考 Ubuntu 的官方博客文章 关于 KVM 安装的内容。

主要亮点:

  • 高度可定制且设置复杂
  • 与 Linux 系统集成
? 虚拟化管理程序 Hypervisor 是一种创建和运行虚拟机(VM)的软件。

4、GNOME Boxes

GNOME Boxes

GNOME Boxes 是最简单的虚拟化程序,适用于希望尽快下载和测试发行版的用户。

与其他一些解决方案相比,GNOME Boxes 可能不具备各种各样复杂的功能,但它包含了必需的功能。用户体验简单,新手也能轻松上手。

主要亮点:

  • 现代化的用户界面
  • 简单易用

5、VMware Workstation(非自由及开源软件)

Linux 上的 VMware

VMware 是一款非常受欢迎的 Linux、Windows 和 macOS 虚拟机程序。

尽管它是一个专有解决方案,但它是个人用户和企业用户使用的行业领先选项之一。VMware 还提供了与云计算相关的几种其他产品。

因此,如果你需要一个桌面虚拟化程序,VMware Workstation Player 可以是一个很好的选择。对于其他用户,还有许多其他用于服务器和云服务提供商的版本。

主要亮点:

  • 个人和企业服务器版本
  • 易于使用
  • 高级版带有更多功能

6、Xen

Xen 是最古老的虚拟化软件之一,亚马逊和红帽使用它。尽管大多数人已经转向使用 KVM,但 Xen 仍然是云基础设施的一个选项。

是的,Xen 更适合用于服务器而不是桌面虚拟化。它支持 Linux、Windows 和 FreeBSD。

主要亮点:

  • 面向服务器基础设施
  • 支持半虚拟化(大多数其他软件不支持)

7、oVirt

oVirt

oVirt 是一个优秀的开源解决方案,适用于寻找管理服务器架构的社区和企业。它是一个利用 KVM 的管理工具。

你可以使用丰富的基于 Web 的用户界面来管理其中的一切,包括主机、存储和网络配置。它还支持虚拟机的实时迁移,以提供便利。

然而 oVirt 不支持 Windows 平台,它专为与 RHEL 和 CentOS Linux 配合使用而设计。

主要亮点:

  • 针对企业市场
  • 使用 KVM 虚拟化管理程序
  • 分布式虚拟化解决方案
  • 不适合初学者使用

8、Proxmox

Proxmox

Proxmox 是另一个针对企业市场的开源虚拟化平台。

你需要订阅才能获得软件更新和技术支持。根据你的需求,你可以选择其中一个订阅方案。除了虚拟环境平台,他们还提供备份和电子邮件安全解决方案,以供你在企业基础设施中使用。

主要亮点:

  • 安装设置简单
  • 文档齐全

9、QEMU

QEMU

QEMU 是一个很棒的虚拟机程序(及模拟器),可在多个平台上运行。

它支持广泛的硬件架构和客户操作系统。你可以与 KVM 结合使用,以运行表现出色的虚拟机,因为 KVM 是硬件级别的虚拟化工具,而 QEMU 是软件级别的虚拟化程序。

从技术上讲,QEMU 是一种 第二类 type-2 虚拟化软件。

如果你想要一个以 QEMU 为核心,并且方便初学者创建虚拟机的工具,你可以尝试 Quickgui

主要亮点:

  • 支持广泛的操作系统
  • 在不依赖硬件的情况下提供灵活性

10、Hyper-V

Hyper-V

Hyper-V 是一种与微软 Windows 操作系统捆绑在一起的虚拟化管理程序。

尽管它不适用于 Linux,但它支持将 Linux 作为客户操作系统运行。你可以在 Windows 上使用 Hyper-V 运行 Kali Linux 和 Ubuntu 等发行版。

Hyper-V 在 Windows 桌面版和服务器版上有一些功能差异。因此,根据你的用例,你可能需要查阅其 官方文档

主要亮点:

  • 可用于 Windows 的第一类虚拟化软件
  • 性能卓越
  • 支持 Windows 和 Linux 操作系统
  • 适用于桌面和服务器用户

这些工具让虚拟化变得简单

虚拟化是一种在十年前开始兴起的概念。现在几乎所有熟悉计算机的人都知道它。

用于实现虚拟化的程序易于使用,并提供了简化专业用户和家庭用户工作的功能。对于大多数用户来说,VirtualBox、GNOME Boxes 和 VMware 等解决方案应该是首选。

如果你是一个企业用户或技术爱好者,你可以根据你的需求寻找其他选项。

? 你在 Linux 上运行虚拟化软件时最喜欢使用哪个?你更喜欢使用虚拟机管理程序还是 Linux 或其他主机操作系统?在下方的评论中分享你的想法。

(题图:MJ/c89ae6b4-c923-4219-b7cd-96ee7e37c84b)


via: https://itsfoss.com/virtualization-software-linux/

作者:Ankush Das 选题:lkxed 译者:ChatGPT 校对:wxy

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

安卓开源项目将不是一个完整的开源移动操作系统

安卓开源项目(AOSP)是安卓系统开源的部分,但谷歌不断地将其中一些部分抽取到其私有的谷歌服务框架。最近,谷歌又废弃了 AOSP 中的拨号和消息应用程序,谷歌称,“这个应用程序没有得到积极的支持,其源代码只作为参考。这个项目将在未来的某个时候从源代码清单中删除。”虽然每个安卓 OEM 厂商都已经使用了他们自己的拨号和消息应用,而且也有比谷歌更好的开源替代品,但对于安卓这个开源操作系统来说,由于 AOSP 的功能不断地被转移到闭源的谷歌服务框架中,你将不能说 AOSP 是一个完整的开源移动操作系统了。

消息来源:OS News
老王点评:从谷歌删除“不作恶”信条那时起,开源就不断被它践踏。当然,这并不是谷歌做的有多差,或者违背了开源许可证,在这方面比它差的比比皆是。叹息的是,终究很多公司只是将开源当成一件需要利用时披上的华丽衣服,而在金钱当道时就如旧衣一样丢弃。

Debian 13 将支持 RISC-V 64

Debian 12 已经正式发布,官方支持 AMD64、AArch64、i386、POWER 等架构,但不支持 RISC-V 64 位。不过,对 RISC-V 64 位的移植正在取得良好的进展。在一年半到两年后的 Debian 13 版本中,预计会有对 RISC-V 64 位的支持。考虑到许多社区开源开发者缺乏高性能 RISC-V 硬件,这也是可以理解的。

消息来源:Phoronix
老王点评:如果 Debian 能够支持高性能 RISC-V 架构,将从根本上推动 RISC-V 的发展。

生成型人工智能每年可为全球经济增加 4.4 万亿美元

麦肯锡公司称,生成性人工智能每年可为全球经济增加 “2.6 万亿至 4.4 万亿美元”。这几乎是 “相当于在地球上增加一个规模相当于英国的新国家(其 2021 年 GDP 为 3.1 万亿美元)”。这一数据比该公司在 2017 年的预估上调了 15% 至 40%。生成性人工智能和其他技术有可能使工作自动化,但麦肯锡认为这并不意味着大规模的工作流失,而是“使这些工作的执行速度大大加快”。麦肯锡发现,主要受到影响的工作任务是客户运营、市场和销售、软件工程和研发等工作。

消息来源:Venture Beat
老王点评:虽然如此说,但是一些人失业是不可避免的,就看谁能适应。可以预期的是,人工智能鸿沟会进一步拉大社会差距。

回音

  • AMD 上个月 披露 将用开源固件 openSIL 取代其 AGESA 固件。这件事的新进展是,AMD 刚刚 发布 了 openSIL 非常早期的概念验证代码。

与你最亲近的人建立一种开放的文化,并带着它走遍天下。

作为 80 年代的叛逆少年,“因为我这么说”是我在家里经常听到的一句话。我并不是一个真正的叛逆者。我只是想让别人听到我的声音,把我看成是一个开始表达自己想法和情感的人。

我那种不被倾听/聆听的感觉让我相信,培养不害怕说话的孩子很重要,但他们也能学会适应。倾听他们的意见,与孩子们合作,也可以帮助他们发挥创造力,最终让他们成为成功组织的一部分。

孩子们如何解释信息

我并没有刻意鼓励孩子们的开放行为,也没有主动告诉孩子们要大声说话。尽管如此,在我大儿子上幼儿园的第一天,他的老师给我们打电话。她告诉我们,当她和全班同学一起讨论不打架、不推搡等规则时,我的孩子举手告诉她,他的父母允许他一直争论和辩论。

这是真的。我让我的孩子们表达自己的意见,并让他们听到。但我孩子的话让我感到惊讶。直到那时我才意识到,虽然我一直在做正确的事情,但事实上,我的孩子们的行为不应该只是对我们教育他们的方式的反应。我们也不应该让他们从二手语境中挑选东西。那一天对我来说是一个游戏规则的改变,践行开放的文化正式主动地进入我们的家庭。

为成长而开放

在我小的时候,父母和长辈是有知识的人。

作为一个孩子,要获得信息并不容易。虽然我被鼓励表达意见,但也只是到了一个规范的、“容易消化”的程度。今天,父母、老师和孩子都有同样的手段来获取数据。你如何处理它,完全取决于你。

例如,在用希伯来语玩 Scattergories 时,“病毒”一词通常是大多数人玩的唯一以 “V” 开头的生物。为了获得更多的分数,我们决定寻找其他符合条件的动物名称。不一会儿,我们就找到了不是一种而是三种新的生物(我孩子的老师认为“小袋鼠”(希伯来语中以 “V” 拼写)不是一种真实的东西,但这是另一个故事)。

我教我的孩子阅读字里行间的内容,决不要不加质疑地接受作为“事实”呈现给他们的东西。这使他们能够练习批判性思维。这也使他们能够质疑我,从而使我们进行公开和透明的讨论。

这些讨论容易吗?不是。我总是有精力进行这些讨论吗?绝对不是。

然而,为了帮助他们练习学会倾听的“肌肉”,这些对话是必须的。

偶尔,我们必须强迫自己找到时间,把注意力集中在家庭上。建立一个强大而开放的文化需要时间,随着人们的变化,你的家庭文化也在变化。你必须适应并努力保持它的活力。作为群体的领导者,我必须为我的孩子们提供一个安全的地方,一个他们可以公开分享自己想法的地方,一个他们有归属感的地方。

在一个家庭中,你们必须合作,共同解决问题。倾听不同的想法和解决问题的方法可以让你想出创造性的(但并不总是符合每个人的喜好)解决方案。

我家里的一个问题是玩电脑游戏时家里的噪音。这种情况大多发生在深夜和周末。我们一起坐下来,想出了一个商定的嘈杂游戏的时间段。从那时起,那些想玩的人知道他们什么时候可以玩,而那些寻求一些安静时间的人也知道这些时间会发生什么。随着孩子们的长大,决定和讨论的性质也发生了变化。

这是否意味着所有的决定都与孩子们分享?不。这是否意味着都是玫瑰花?绝对不是。

鼓励孩子们建立联系可能会以一个破花瓶告终,似乎没有人对此负责。这可能会导致“因为我这么说”来拜访。然而,进行具有挑战性但又具有包容性的对话、鼓励创新思维以及让孩子参与决策都是让他们为成年做好准备的方法。希望它也能让他们成为更好的人(到目前为止,以我的拙见,这运作良好)。

开放的家庭文化

实行开放的文化不是一次性的事情。它是一个旅程,也是一种心态。我相信它为我和我的孩子们提供了工具,使他们在屋内和屋外都能坚韧不拔、思想开放、宽容和充满好奇心。与你最亲近的人建立一种开放的文化,并带着它走遍天下。

(题图:MJ/76568fbf-4e8a-4a9e-9ff1-d6a7e0922622)


via: https://opensource.com/article/23/3/open-source-family

作者:Ruth Netser 选题:lkxed 译者:geekpi 校对:wxy

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

在 Rust 系列的 上一篇文章 中,我介绍了如何使用 ifelse 关键字来处理 Rust 程序的控制流。

这是处理程序控制流的一种方法。另一种方法是使用循环。因此,让我们在本文中看看循环。

Rust 中可用的循环

Rust 编程语言有三种不同的循环,基于你想要实现什么以及可用的内容:

  • for
  • while
  • loop

我假设你对 forwhile 已经很熟悉了,但 loop 对你来说可能是个新概念。让我们先从熟悉的概念开始。

for 循环

for 循环主要用于迭代一种称为迭代器的东西。

这个迭代器可以从任何东西中创建,从数组、向量(很快就会介绍!)、一系列值,或者任何自定义的东西。这里的可能性是无限的。

来看看 for 循环的语法。

for 迭代变量 in 迭代器 {
    <语句>;
}

其中的 迭代变量 在大多数其他编程语言教程中通常被称为 i ; )

迭代器 可以是任何东西,只要它能告诉下一个值是什么,如果有的话。

来通过一个程序来理解这个。

fn main() {
    let my_arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

    println!("迭代数组");
    for element in my_arr {
        println!("{}", element);
    }

    println!("\n迭代一个真正的迭代器");
    for element in my_arr.iter() {
        println!("{}", element);
    }

    println!("\nPython 风格的范围");
    for element in 0..10 {
        println!("{}", element);
    }
}

这里,我声明了一个数组,它包含从 0 到 9 的 10 个数字。在第 5 行的 for 循环中,我只是将这个数组指定为迭代器,Rust 会自动处理对这个数组的所有元素的迭代。不需要花哨的 my_arr[i] 魔法。

但是,在第 10 行,我调用了 .iter() 函数。这是一个明确的提及,它基于 my_arr 的值来获取一个迭代器。这个循环和第 5 行的循环之间唯一的区别是,这里你是通过在数组上调用 .iter() 函数来明确地调用它的。

在这个上下文环境中,在一个数据类型上调用 .iter() 函数不是必须的。因为这是一个数组,是语言本身提供的一种数据类型,Rust 已经知道如何处理它了。但是你 需要 在自定义数据类型中使用它。

最后,在第 15 行,我们有一个循环,它循环遍历一个范围。嗯,差不多是这样。如果你仔细看,这个范围看起来很像切片 “类型”。Rust 也知道这一点,并且 你处理了迭代(哈哈,明白了吗?)。

LCTT 译注:此处的梗是,“为你处理了迭代” 的英文原文是 “handles iteration for you",其中的 “for” 与 “for 循环” 的 “for” 是同一个单词。

输出如下:

迭代数组
0
1
2
3
4
5
6
7
8
9

迭代一个真正的迭代器
0
1
2
3
4
5
6
7
8
9

Python 风格的范围
0
1
2
3
4
5
6
7
8
9

while 循环

while 循环可以被认为是非常类似于 if 条件语句。使用 if 语句,只要用户提供的条件为 trueif 语句体中的代码就会被执行 一次

但是,在 while 循环中,如果条件评估为 true,循环就会开始循环循环体。只要条件继续评估为 true,循环就会继续迭代。

while 循环只有在循环完成当前迭代中所有语句的执行并且在检查条件时,它的结果为 false 时才会停止。

来看看 while 循环的语法...

while 条件 {
    <语句>;
}

看到了吗?和 if 条件语句非常相似!不过没有 else 块 ; )

来看一个程序来更好地理解这个。

fn main() {
    let mut var = 0;

    while var < 3 {
        println!("{var}");
        var += 1;
    }
}

我有一个可变变量 var,它的初始值为 0。只要可变变量 var 中存储的值小于 3,while 循环就会执行。

在循环中,var 的值被打印出来,然后它的值被增加 1。

这是上面代码的输出:

0
1
2

loop 循环

Rust 有一个无限循环。是的,一个没有开始条件和停止条件的循环。它只是一直循环,直到永远。当然,它有触发器来停止代码本身的循环执行。

无限循环的语法如下:

loop {
    <语句>;
}
? 这些循环主要用于 GUI 软件,退出是一个 显式 操作。

在我给你一个例子之前,因为这个循环非常特殊,让我们先看看如何 退出 它 :p

要停止无限循环的执行,需要在循环内使用 break 关键字。

来看一个例子,只有 0 到 3 之间的整数(包括 0 和 3)才会被打印到程序输出。

fn main() {
    let mut var = 0;

    loop {
        if var > 3 {
            break;
        }

        println!("{}", var);
        var += 1;
    }
}

看待这个特定的例子的最好方法是将它看作是一个增加了一堆没有必要的东西的 while 循环 ; )

你有一个可变变量 var,它的初始值为 0,它被用作迭代器。无限循环从一个 if 条件开始,如果 var 的值大于 3,break 关键字就会被执行。后来,就像 while 循环的前一个例子一样,var 的值被打印到标准输出,然后它的值被增加 1。

它的输出如下:

0
1
2
3

标记循环

假设有两个无限循环,一个嵌套在另一个中。由于某种原因,退出条件在最内层循环中被检查,但这个退出条件是为了退出最外层循环。

在这种情况下,标记循环可能是有益的。

? breakcontinue 关键字并不仅仅用于无限循环。它们可以用于 Rust 语言提供的所有三种循环。

接下来是如何标记循环。

'标记: loop {}

要告诉编译器一个循环被标记了,从一个单引号字符开始,输入它的标签,然后跟着一个冒号。然后,继续使用你通常定义循环的方式。

当你需要退出某个循环时,只需像这样指定循环标签:

break '标记;

来看一个例子来更好地理解这个。

fn main() {
    let mut a = 0;
    let mut b = 0;

    'parent: loop {
        a += 1;

        loop {
            println!("a: {}, b: {}", a, b);
            b += 1;

            if a + b == 10 {
                println!("\n{} + {} = 10", a, b);
                break 'parent;
            }
        }
    }
}

这里,我使用两个可变变量 ab,它们的初始值都设置为 0。

然后,最外层的循环被标记为 parentparent 循环将变量 a 的值增加 1,并有一个内部/子循环。

这个(在第 8 行的)子循环打印变量 ab 的值。在这个循环内部,变量 b 的值增加了 1。退出条件是 a + b == 10。这意味着只要变量 ab 中存储的值相加,结果为 10,parent 循环就会被打破。即使第 14 行的 break 条件“属于”内部循环,它也会打破 parent 循环。

来看看程序的输出。

a: 1, b: 0
a: 1, b: 1
a: 1, b: 2
a: 1, b: 3
a: 1, b: 4
a: 1, b: 5
a: 1, b: 6
a: 1, b: 7
a: 1, b: 8

1 + 9 = 10

就像从程序输出中可以看出的那样,循环在 ab 分别具有值 1 和 9 时停止。

continue 关键字

如果你已经在其他编程语言(如 C/C++/Java/Python)中使用过循环,你可能已经知道 continue 关键字的用法。

break 关键字用于完全停止循环执行时,continue 关键字用于“跳过”循环执行的 当前迭代 并从下一迭代开始(如果条件允许)。

来看一个例子来理解 continue 关键字的工作原理。

fn main() {
    for i in 0..10 {
        if i % 2 == 0 {
            continue;
        }
        println!("{}", i)
    }
}

在上面的代码中,我有一个 for 循环,它迭代了 0 到 9 之间的整数(包括 0 和 9)。一旦循环开始,我就设置了一个条件检查,看看这个数字是不是偶数。如果这个数字是偶数,continue 关键字就会被执行。

但是如果这个数字是奇数,这个数字就会被打印到程序输出。

来看看这个程序的输出。

1
3
5
7
9

正如你所看到的,循环似乎一直在“进行”,尽管 0 到 9 之间显然有偶数。但是因为我使用了 continue 关键字,当遇到这个关键字时,循环执行就会停止。

这个循环跳过了它下面的任何东西,并继续下一次迭代。这就是为什么偶数没有被打印出来,但是 0 到 9 之间的所有奇数都被打印到了程序输出中。

总结

要总结这篇长文,我演示了 3 种不同循环的用法:forwhileloop。我还讨论了两个关键字,它们影响这些循环的控制流:breakcontinue

我希望你现在能理解每个循环的适当用例。如果你有任何问题,请告诉我。

(题图:MJ/25579e09-ae1c-47d3-8266-3bd9a54456c0)


via: https://itsfoss.com/rust-loops/

作者:Pratham Patel 选题:lkxed 译者:Cubik65536 校对:wxy

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

伊朗把 FPGA 开发板“变成了”量子设备

上周伊朗军方展示了其海军大学开发的“量子处理算法”的首款产品,它能帮助军方探测水面的扰动。但通过媒体公布的“量子”设备图像的分析显示,该设备可能是一款在亚马逊上出售的 FPGA 开发板 ZedBoard,在图像上甚至可以清晰地看到该品牌名。ZedBoard 开发板主要是用于视频处理、可重构计算、电机控制、软件加速等用途,并不具有“量子比特”。

消息来源:VICE
老王点评:有没有一种可能,他们就是在这样的板卡上安装了几个“量子比特”??

人工智能对人工智能生成的内容进行训练将导致人工智能崩溃

用于训练大型语言模型的数据最初来自人类来源,如书籍、文章、照片等,这些都是在没有人工智能的帮助下创建的。但随着越来越多的人使用人工智能来制作和发布内容,一个明显的问题出现了:当人工智能生成的内容在互联网上扩散时,人工智能模型开始对其进行训练。研究人员发现,“在训练中使用模型生成的内容会导致所产生的模型出现不可逆转的缺陷。”他们研究了文本到文本和图像到图像的人工智能生成模型的概率分布,得出结论:“从其他模型产生的数据中学习会导致模型崩溃 —— 这是一个退化的过程,并且随着时间的推移,模型会忘记真正的基础数据分布。”他们观察到模型崩溃发生得如此之快:模型可以迅速忘记它们最初学习的大部分原始数据。这导致它们随着时间的推移,表现越来越差,错误越来越多。

消息来源:Venture Beat
老王点评:这让我想起了衔尾蛇,一种自己吞噬自己尾巴的蛇。这样下来人工智能失去对世界的真正认知,我们的未来或许再也分不清现实和人工智能虚构的“现实”。

Meta 开源了音乐和图像模型

Meta 公司开源发布了自己的人工智能音乐生成器 MusicGen。它可以将文字描述(例如 “一首 80 年代的流行歌曲,背景音效是重鼓声和合成器垫音效”)变成大约 12 秒的音频。该公司没有提供用于训练模型的代码,但它提供了预训练的模型,任何拥有合适硬件的人,如 16GB 的 GPU 都可以运行。

Meta 也发布了一个 “类似人类” 的人工智能图像创作模型 I-JEPA,训练代码和模型快照发布在 GitHub 上。Meta 称,该模型利用相关世界的背景知识来填补图像的缺失部分,而不是像其他生成性人工智能模型那样只看附近的像素。它使用了类似人类的推理,可以避免人工智能生成的图像中常见的错误,如多了手指的手。

消息来源:Tech Crunch
消息来源:路透社
老王点评:Meta 在人工智能方面的战略就是走开源的道路,让别人无路可走。

在安装完 Debian 12 “Bookworm”要做的一些事情。

我想你已经安装好了 Debian 12 “Bookworm” 或者 准备升级 了。Debian 12 经过一年多的开发,于 2023 年 6 月 10 日发布。它带来了最新的软件包、升级和替换一些关键模块。请在此查看 Debian 12 的一些新特性 指南

如果你在笔记本电脑或台式机上使用 Debian,那么在安装或升级到 Debian 12 后,以下是你可能需要完成的一些步骤。

Debian 12 安装后需要做的几件事情

启用 sudo

如果你将 Debian 12 作为新安装的系统,那么你的用户账户可能没有超级用户访问权限。出于安全原因,Debian 在安装期间不允许任何选项给予用户账户 sudo 访问权限。以下是如何将用户添加到超级用户组。

打开终端并使用 root 密码进入 root 账户。

su

然后运行以下命令,将你的用户账户添加到 sudo 组。请将下面的用户名更改为你的账户。

/sbin/addgroup 用户名 sudo

现在,你可以注销并再次登录该账户。

确保 Debian 已更新至最新版本

在开始工作或进行任何配置之前,确保 Debian 12 已更新至最新版本非常重要。从终端中按以下顺序运行以下命令以刷新 Debian 系统。

sudo apt update
sudo apt upgrade

Debian 12 中的非自由软件

Debian 12 中有一个关于管理“非自由”固件包的根本变化。Debian 创建了一个新的软件源,以便轻松访问那些专有包。因此,如果你想添加非自由软件包,需要确保在 APT 软件源文件 /etc/apt/sources.list 中添加以下行:

sudo nano /etc/apt/sources.list
deb http://deb.debian.org/debian bookworm non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm non-free non-free-firmware

deb http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
deb-src http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware

deb http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm-updates non-free non-free-firmware

保存并关闭文件。然后刷新 Debian 系统。完成后,你现在可以安装“非自由”软件包。

sudo apt update

安装额外的桌面环境

Debian Linux 提供了所有主要的桌面环境包。如果你使用 Debian 的 Netinst ISO 文件(最小化 ISO 镜像)进行安装,那么你可能已经获得了默认的 Xfce 桌面环境。在 Debian 12 安装期间,你可以选择桌面环境。

如果你想安装任何额外的桌面环境,则可以使用各种软件包管理器进行安装。或者,获取专用的 ISO 文件。从 Debian 12 开始,团队为每个桌面提供单独的 ISO 文件。你可以在以下链接中获取它们。

设置 Flatpak 和 Flathub

你应该在 Debian 中 设置 Flatpak,以便从 Flathub 获取数百款最新的应用程序。要设置它,可以从终端中运行以下命令。

sudo apt install flatpak

如果你想通过浏览器安装 Flatpak 应用程序,则以下软件包是可选的。

sudo apt install gnome-software-plugin-flatpak

添加 Flathub 软件源库,其中包含所有 Flatpak 应用程序。从终端中运行以下命令。

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

重新启动 Debian 系统就可以使用 Flatpak 应用程序了。

安装最新的 Firefox

Debian Linux 附带的是 Firefox ESR 版本,这个版本的功能略旧。不过它非常稳定和安全。如果你想 安装最新版本的 Firefox,可以从以下官方网站下载预编译的二进制文件,并执行 firefox

下载 Firefox

安装额外的软件 – 图形界面

默认的 Debian 安装只有非常简洁的图形界面应用程序。为了配置你的工作站,你可以考虑安装以下一组应用程序。但是,以下列表非常基本,对于基本用例应该是足够的。

它们包括分区软件、BT 客户端、媒体播放器和图形实用工具。

sudo apt install gparted transmission-gtk vlc pavucontrol geany gimp inkscape audacity filezilla leafpad

安装额外的软件 – 命令行界面

虽然上述图形界面应用程序是必要的,但是你应该始终安装一些超级重要的命令行实用工具。以下是我为你准备的列表。

sudo apt install ffmpeg default-jdk git wget nano vim htop locate p7zip p7zip-full unzip

Debian 12 中的替代包

如果你正在运行 Debian 服务器或桌面系统,你应该注意本版本中一些关键软件包已被替换。以下是其中的一些:

  • 默认系统时钟现在由 systemd-timesyncd 管理,ntp 已被 ntpsec 替换。
  • DNS 选项 dnssec-enable 已经过时。如果遇到无效选项错误,请在 named.conf 文件中注释该行(应该在 /etc/etc/bind9 中)。
  • 不会自动安装 systemd-resolved 包。你需要手动安装和启动它。
  • rsyslog 包不会默认安装,因为 journalctl 接管了该功能。

配置 Debian 多媒体仓库

由社区创建的流行 Debian 多媒体仓库已更新为 Bookworm 版本。你可以在 APT 软件源文件中添加以下行,并利用数百个多媒体软件包来完成你的项目。

deb https://www.deb-multimedia.org bookworm main non-free

你可以访问 官方页面 以了解有关该软件源库的更多信息。

总结

以上是你可以利用的各种提示列表。它们只是指南,可能不适用于你的情况,但它们可以成为你开始 Debian 12 后安装旅程的起点。

在评论框中让我知道你最喜欢的 Debian 后安装提示是什么。


via: https://www.debugpoint.com/things-to-do-debian-12/

作者:Arindam 选题:lkxed 译者:ChatGPT 校对:wxy

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