2023年1月

如果你想 在 Ubuntu 上使用终端卸载软件,可以使用:

sudo apt remove package_name

但是在很多论坛,你可能会看到别人说,如果你想彻底删除软件就用 apt purge

你可能会觉得很困惑,因为 apt purgeapt remove 看起来是一样的。

sudo apt purge package_name

为什么会有两个如此像的命令来删除软件包呢?两者之间有什么不同呢?下面将为你揭晓。

apt-remove 和 apt-purge 有什么不同?

apt-removeapt-purge 的相同之处就是都可以卸载软件包,但是运行 apt-purge 除了可以删除安装包之外,还可以清除相关的配置文件。这是两者之间唯一的不同点。要注意的是这两条命令都不能删除用户主目录中相关的应用程序文件。

你是否遇到过这样的情况,卸载一个软件然后重新安装,却发现之前的设置都还在。这是因为用 apt remove 不能删除该软件的相关配置文件。

哪些东西被删除了?哪些还在?

我分享一个使用 apt removeapt purge 两个命令分别卸载 mplayer 这个软件的实际例子。重点是看每次操作后还残余哪些文件。

这是删除前的文件:

mplayer before removal

现在运行 apt remove 这个命令:

apt uninstall package ubuntu

下面的是还残留在系统中的文件:

files after mplayer removal

我们可以看到,有两个地方残留着 mplayer 的文件: /etc/home/abhishek

这次我们重新安装 mplayer,然后用 apt purge 来卸载软件。

apt purge command

现在让我们看看与 mplayer 相关的文件:

files after mplayer removal

我们可以看到 /etc 目录下的文件已经没有了。

但是在主目录中的文件呢?apt purge 会删除它们吗?

答案是否定的。apt 命令不会删除主目录中的配置文件。所以它们仍然在系统中,除非你手动删除。但是这些文件所占的空间真的很小,几乎不占磁盘空间。

值得注意的是,不是所有的软件在主目录或者 /etc 目录下都有配置文件。

使用 apt remove 或者 apt purge 的效果

我能想到的一个实际例子就是 Discord,你用 deb 文件 在 Ubuntu 上安装了 Discord。然后登录自己的账号,之后又卸载并重新用 deb 文件安装。

现在如果你打开 Discord,你会发现你的账号自动登录了。是不是觉得很奇怪?

这是个功能,像一些软件,比如 Discord、VirtualBox,它们会提供更新,就是卸载现在的版本然后下载新的(尽管你不知道它内部怎么进行的),但是它在卸载的时候,这些软件的配置文件没有被删除,所以等你打开这些软件的时候就会自动登录。

当你想卸载一个软件,但是想保留你过去使用该软件留下的配置文件的时候,你就可以用 apt remove

但是,有时候用它不能满足你的需求,比如当你没有配置好一个软件的时候,你想要重新开始,这个时候用 apt purge 就比较合适。

运行 apt purge 是否可以用通配符删除?

当你删除一个包的时候,它会提示 removing package-name*。这意味着它会删除以这个包名开头的所有文件。

apt purge wild card

我在手册页之类的文档中没有找到关于这个问题的答案。所以我自己做了一个小测试,我安装了 espeak 和 espeak-ng 这两个软件,espeak* 应该可以通配扩展到 espeak-ng。

但是当我用 apt purge 删除 espeak 包时,espeak-ng 包还在,没有被一并删除。因此,这似乎是有一种防止通配符的扩展的机制。

那么,你应该使用 apt remove 还是 apt purge 呢?

很少有人会一直使用 apt purge

在我看来,一般清况下,用 apt remove 就可以了,但是当你想删除那些自定义配置文件时,你就得用 apt purge

不管是用 apt remove 还是 apt purge,你都需要从用户的主目录中删除残余的配置文件,并运行 apt autoremove 来清除任何依赖的包。

现在到你啦。你现在对 apt removeapt purge 的区别更加了解吗?你更喜欢使用哪一个呢?


via: https://itsfoss.com/apt-remove/

作者:Abhishek Prakash 选题:lkxed 译者:Tingze-G 校对:wxy

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

不要指望再看到任何更多的 AIX 大新闻了。这意味着最后剩下的 Unix 是 …… Linux。

这是一个时代的结束。正如上周报道的那样,IBM 已经将 AIX 的开发转移到印度。在它支付了 340 亿美金买下了红帽,有了自己的 FOSS 版本的 Unix 后,为什么还要为一个昂贵的美国团队支付费用来维护它自己的官方 Unix 的专有版本呢?!

自从我们报道“大蓝”推出 不支持 AIX 的新 POWER 服务器后,我们就察觉到了这一点 —— 而这已经是近八年前的事了。即使这已经是明摆的事,它也是一个重大事件。AIX 是最后一个正在积极开发的专有 Unix,在官方的 Open Group 名单 的 10 个条目中就占了 4 个。

在甲骨文公司内部,Solaris 正处于 维护模式。几乎整整六年前,我们报道了下一个主要版本 Solaris 12 已经从甲骨文的路线图上 消失 了。HPE 的 HP-UX 也处于维护模式,因为没有新的硬件可以运行它。安腾现在真的 已经死了,而最后 HP-UX 只能在这上面运行。自从我们报道惠普调查但 取消 了将其移植到 x86-64 的努力以来,已经过去了十年。

SCO Group 的最后一个化身 Xinuos 仍然存在,它提供的不是一个而是两个专有的 Unix 变体:SCO OpenServer 是 SCO Xenix 的后代,而 UnixWare 是 Novell 的 Unix 的后代。我们注意到,OpenServer 10,一个基于 FreeBSD 10 的更现代的操作系统,已经从 Xinuos 的主页上消失了。值得指出的是,SCO Group 是以前被称为 Caldera 的公司,与 1980 年代与微软 共同创建 Xenix 的 Santa Cruz Operation 不是同一个 SCO。

曾经有 两个 中国的 Linux 发行版通过了 Open Group 的测试,可以使用 Unix 商标:浪潮 K/UX华为 EulerOS。虽然这两家公司都丢掉了这个相当 昂贵 的商标。但这里的重要细节是,Linux 通过并被认证为 UNIX™。而且这不仅仅是一个发行版,尽管这两个都是 CentOS Linux 的衍生产品。我们怀疑任何 Linux 都会轻而易举地通过,因为许多非类 Unix 操作系统以前都通过了。

其他操作系统已经通过了,或者可能很容易就会通过。IBM 的 z/OS 活得很好:2021 年推出了 2.5 版本,2022 年大蓝开始提供 云实例。z/OS 有一个与 Unix 兼容的环境,已经通过了兼容性测试,所以正式来说,它是一个 UNIX™,即使这不是它最初的原生 API。

“OpenVMS” 这个名字中的 “Open” 最初 是指 它在 1991 年的第五版中获得的 POSIX 兼容性,并首次应用于 DEC 的 Alpha CPU 的新版本。去年,VMS 软件公司发布了适用于 x86-64 管理程序的 9.2 版本(以及一个支持的机器,HPE DL380)。

自从 1993 年的 Windows NT 以来,Windows 就有了一个 POSIX 环境。现在,有了 WSL,它可以说有了两个,而且我们怀疑,如果微软有这样的想法,它可以把 Windows 认证为一个官方的 Unix 兼容的操作系统。

在我们最近关于 Haiku Beta 4 的 报道 中,我们说它并不是真正的 Unix。正如你所看到的,在文章的结尾处有一个编辑说明,解释了为什么。

我们听取了 Haiku 的主要全职开发人员的意见,他坚决不同意我们的观点。在他看来,Haiku 现在有很强的 Unix 兼容性,文件系统中有一些主要的 Unix 目录,有一套相当完整的 Unix API 调用,有一个 Unix shell,等等,这意味着 Haiku 绝对是一个 Unix。我们认为,由于它是 BeOS 的重新实现,有自己原生的文件系统、API、GUI 等等,它是一种不同的东西,只是提供了 Unix 兼容性。

但这说明了在 21 世纪准确定义 “Unix” 一词的含义的困难。自从 1993 年 Novell 从 AT&T 收购 了 Unix 系统实验室,保留了代码,并将商标捐赠给 Open Group 后,Unix 就不再意味着 “基于 AT&T 的代码”。从那时起,如果通过了 Open Group 的测试(并且你支付了使用商标的费用),它就是 UNIX™。Haiku 还没有,所以它不是。Linux 有,所以它是。但 z/OS 也是如此,它是 OS/390 的直接后裔,或者说它是 IBM MVS 在 1974 年推出时的名字。换句话说,它是一个实际上并不基于、类似于、甚至与 Unix 有关的操作系统。

这意味着最后一个官方商标的商业 UNIX™ 是苹果的 macOS 13,在专有的 GUI 层之下,无论如何,它主要是一个名为 Darwin 的开源操作系统。内核 XNU 是基于 Mach 的,内核中的 “Unix 服务器” 来自 FreeBSD。

所以,从 2023 年起,开源真的赢了。现在有比以往更多的类 Unix 操作系统,还有一些非常不类似于 Unix 的操作系统与之高度兼容,但是官方路线,就所有的意图和目的而言,已经死亡和消失。所有专有的、商业的 Unix 们现在都是在维持而已:它们会得到基本的错误修复和安全更新,但我们不会看到任何重大的新版本。

让我们为之献花。


via: https://www.theregister.com/2023/01/17/unix_is_dead

作者:Liam Proven 译者:wxy 校对:wxy

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

苹果 AR 眼镜被无限期推迟

据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)眼镜的推出,但仍计划在今年推出其首款混合现实(MR)头盔。MR 头盔结合了增强现实和虚拟现实(VR),将在今年的春季活动中推出,该设备的价格将在 3000 美元左右。但 Meta 的 Quest Pro 价格只有它的一半左右。

消息来源:路透社
老王点评:看来在 AR 眼镜上又一家巨头折戟了,我原本很看好苹果的 AR 眼镜。

数千 Sophos 防火墙存在严重漏洞

数千台暴露在互联网上的服务器运行的 Sophos 防火墙中存在一个严重漏洞,允许黑客执行恶意代码。它的严重性评级为 9.8/10。当 Sophos 在去年 9 月披露该漏洞时,它已经作为一个零日漏洞在野外被利用。该安全公司敦促客户安装热补丁或完整的升级。最新的研究发现,有超过 4400 台运行 Sophos 防火墙的服务器仍然存在漏洞,约占所有的 Sophos 防火墙的 6%。

消息来源:ARS Technica
老王点评:作为第一道防御措施,如果连严重漏洞都不去修补,无异于给盗贼开门。

Windows 专业版也将默认禁止访客访问

这意味着最新版本的 Windows 10、Windows Server 2019、使用 SMB2 和 SMB3 的系统将不再默认允许访客账户访问远程服务器,或允许那些提供无效凭证的人回退到访客账户。这使得 Windows 专业版与企业版和教育版中安全性保持一致,它们自 Windows 10 以来就不再允许默认访问。允许客户端使用访客登录使用户容易受到中间人攻击或恶意服务器的影响。微软称,自 Windows 2000 以来,Windows 客户端和服务器就不允许访客访问或远程用户作为访客或匿名用户连接。只有第三方远程设备可能默认需要访客访问,但运行 Windows 的系统不需要。

消息来源:The Register
老王点评:默认访客可能是方便,但在当前网络安全越来越重要的形式下,显然是个严重的安全缺陷。

Vim 很不错,但 NeoVim 更新一些,甚至更棒。Vim 和 NeoVim 都是基于终端的文本编辑器,具有类似的功能。

如果你是一个习惯于使用 像 VS Code 这样的 GUI 文本编辑器 的人,并且希望拥有 NeoVim 提供的类似功能,你应该了解一下这些 GUI 编辑器。

虽然我知道你可以把 NeoVim 作为你目前的文本编辑器的插件,但直接使用 NeoVim 工作要比管理插件更有效和方便。

在选择 NeoVim 的 GUI 时,有一些不同的选择,我把一些最好的 GUI 列在下面:

1、Neovide

neovide

主要特点:

  • 动画光标
  • 平滑滚动
  • 动画窗口
  • 模糊的浮动窗口
  • 支持表情符号

Neovide 旨在成为一个简单的 NeoVim GUI。

虽然你不会看到很多图形元素,它只是增加了一些诸如动画之类的 GUI 功能。它使用了一个叫 Skulpin 的库来渲染动画。

而我在使用 Neovide 时最喜欢的地方是它拥有一个动画光标和平滑滚动。你看一看这个就明白了:

看起来很酷。对吗?

2、Neovim Qt

neovim Qt

主要特点:

  • 悬停功能
  • 多个 GUI 标签
  • 自动制表符补完
  • 跨平台支持

顾名思义,Neovim Qt 是用 Qt5 库构建的,你会经常看到它在 KDE 中使用。它没有太多花哨的东西,只是增加了一些额外的 GUI 功能,如多个标签,自动制表符补完等。

因此,如果你已经在使用 Qt5 库,并希望为 NeoVim 提供一个精简的 GUI,它将工作的很好,并为你省去一些依赖安装。

推荐:

Vim vs Nano:你应该选择哪个?

3、Uivonim

uivonim

主要特点:

  • WebGL GPU 渲染和多线程
  • 支持 VSCode 扩展
  • Nyancat(经典猫咪动画的 ANSI 文本程序)
  • 悬停和代码动作

Uivonim 是 Veonim(一个建立在 VSCode 插件和 NeoVim 上的简单 IDE)的复刻版,采用 Electron 框架编写,如果你从 VSCode 转换过来,它是一个完美的选择。

而 Uivonim 的唯一目标是提供丰富的 NeoVim 体验,支持 NeoVim 的最新功能,包括浮动窗口、内置 LSP 等等。你不需要依赖 VSCode 扩展来获得这些功能。

4、FVim

fvim

主要特点:

  • 脱离窗口(使用 Ctrl+wGE
  • 自定义弹出式菜单条目图标
  • 支持 HiDPI
  • GPU 加速

FVim 是一个用 F# + Avalonia 构建的 NeoVim 的跨平台 GUI,带有一些突破性的功能,如高性能渲染(在 4K 显示器上支持 60FPS)。

而我经常使用脱离窗口的功能,因为我更喜欢为不同的文本文件设置独立的窗口。另外,如果你是一个资深的远程用户,FVim 也不会让你失望。

5、Goneovim

goneovim

主要特点:

  • 支持一个带有 Bash 和 Zsh 的终端
  • 迷你地图
  • 动画光标
  • HiDPI 缩放
  • 外部浮动窗口

顾名思义,Goneovim 是用 Go 语言编写的,是 Gonvim 的一个复刻品。它提供了足够的 GUI 功能来完成你的工作,如动画光标、像素级滚动等。

而且它在让你获得基本的文本编辑功能方面也并不差,比如对文本文件的拖放支持。

总结

这是我对 NeoVim 的图形用户界面的一些好的选择,我希望你能找到你想要的东西。

如果我错过了任何你喜欢的东西,请在评论中告诉我。


via: https://itsfoss.com/neovim-gui-editors/

作者:Sagar Sharma 选题:lkxed 译者:wxy 校对:wxy

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

如果你想调试或排除任何问题,你需要一个像 lnav 这样的高级日志文件查看器。它在任何 Linux 系统的终端都能创造奇迹。

lnav: 日志文件查看器

lnav 可以即时解压缩所有的压缩日志文件,并将它们合并在一起进行漂亮的显示。显示是根据错误/警告的类型进行解析和格式化的,这有助于快速浏览成千上万的日志,特别是在服务器中。

在分析日志的时候,时间戳是非常重要的。所以 lnav 会根据时间戳合并多个日志,这对追踪系统问题很有帮助。

大多数重要的日志文件格式检测都是内置的,包括如下:

  • 通用网络访问日志 Common Web Access Log 格式
  • CUPS page\_log
  • Syslog
  • Glog
  • VMware ESXi/vCenter 日志
  • dpkg.log
  • uwsgi
  • “通用”:任何以时间戳开头的信息
  • Strace
  • sudo
  • GZIP、BZIP

这还不是全部,lnav 还能实现以下功能,使其成为 Linux 系统的重要应用:

  • 根据正则表达式过滤消息
  • 错误日志的时间轴视图
  • 漂亮的打印视图,这有助于重新格式化
  • 使用 SQL 查询日志
  • 在搜索时,日志会实时更新
  • 通过正则表达式高亮显示语法(比如你想在整个日志中找出一个 IP 地址)
  • 显示的日志中任何单词的 Tab 补全!!

lnav 在 ubuntu 中运行

要查看上述功能的截图和了解更多信息,请访问 本页面

如何安装

这个程序在 Ubuntu、Debian 的官方仓库中可以找到。使用以下命令安装它。

sudo apt install lnav

而对于 Fedora、RHEL 用户,使用下面的命令:

sudo dnf install lnav

另外,开发者还提供了一个离线的独立可执行文件,你不需要安装。你可以从 GitHub 发布页 下载压缩包,然后按以下方式执行:

./lnav

注意:它也可用于 macOS,你可以在上述 GitHub 页面找到。

lnav: 如何使用(基础)

简单的命令语法是:

lnav [options] [logfile1 logfile2 …]

如果你直接运行 lnav 命令,它会显示你系统中的所有日志(/var/log/messages/var/log/syslog)

lnav

要查看任何特定的日志文件,在命令行中输入:

lnav /var/log/syslog

使用 -t 参数在你的日志输出中添加时间戳:

lnav -t /var/log/syslog

以下是 lnav 的一些关键开关:

  • -d file:将调试信息写入给定的文件。
  • -a:加载所有最新的日志文件类型。
  • -r:也加载较早的轮转的日志文件。
  • -t:在标准输入中读入的数据行上预加时间戳。
  • -w file:将标准输入的内容写入该文件。
  • -c cmd:在文件加载后执行命令。
  • -f path:执行给定文件中的命令。
  • -n:不使用 curses UI 运行(无头模式)。

lnav 在 Ubuntu 22.04 中运行

要进一步阅读和探索,请访问 官方文档


via: https://www.debugpoint.com/advanced-log-file-viewer-lnav-ubuntu-linux/

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

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

PyTorch 和 Triton 正在打破英伟达 CUDA 的垄断

大部分机器学习软件开发框架严重依赖于英伟达 CUDA,并在英伟达 GPU 上表现最佳。但随着 PyTorch 2.0 和 OpenAI Triton 的到来,英伟达 CUDA 对机器学习的垄断地位正逐渐瓦解。即将到来的 PyTorch 2.0 在英伟达 A100 上的训练性能提升了 86%,在 CPU 上的推理性能提升了 26%。而且这种优势可以扩展到 AMD、英特尔、特斯拉、谷歌、亚马逊、微软等等各个公司生产的 GPU 和 AI 加速器上。而 Triton 能让高级语言达到与使用低级语言相当的性能,提高了可用性。

消息来源:Semi Analysis
老王点评:又一次证明了开源胜过闭源,无论闭源的护城河有多深。

Basecamp 因巨额账单退出云计算

Basecamp 的 CTO,也是 Ruby On Rails 的创建者 DHH 介绍了让该公司退出云计算的巨额账单。其 2022 年的费用为 320 万美元,绝大部分都花在了 AWS 上,其中 S3 花费 90 万美元,RDS 47 万美元,OpenSearch 52 万美元,Elasticache 12 万美元。即便如此,也是经过大量工作才减少到这一费用的,该团队不但运行了成本检查计划,还就作为私人协议就长期使用达成了协议。DHH 还用戴尔服务器的三年均摊成本做了对比。

消息来源:The Register
老王点评:云计算确实有很多好处,但也可能是个让你花钱上瘾的无底洞。

使用了 25 年的笔记本内存规范 SO-DIMM 将被替换

制定内存标准的组织 JEDEC 正在制定新规范,以取代已经使用了 25 年的 SO-DIMM 规范。新的 CAMM 标准将基于戴尔公司的设计,目标是在 2023 年下半年完成 1.0 规范,到明年推出基于 CAMM 的系统。现有的 SO-DIMM 在 DDR5/6400 时已经遇到了“困境”,CAMM 的主要吸引力在于它可以实现更高的内存密度,同时还可以扩展到更高的时钟速度。

消息来源:PC World
老王点评:这是不是代表以后笔记本会需要更多内存?