分类 技术 下的文章

Gwenview 是一个优秀的照片编辑器,适合业余摄影师在 Linux KDE 桌面上使用。

 title=

一张好的照片可以蕴含很多信息。表面上它表达了你所看到的,但它也讲述了你所经历的。细微之处也能说明很多问题:你在拍照时选择的角度、取景中隐约可见的的东西有多大,以及,相比之下,那些有意识选择忽略的部分。

照片通常并不意味着记录真实发生的事情,相反,它们会成为你(摄影师)如何看待发生的事情的洞察力。

这就是照片编辑如此普遍的原因之一。当你把照片发布到你的在线图片库或社交网络时,你不应该发布一张不能准确表达照片所包含的感受的照片。但同样的道理,你也不应该成为一个专业的照片合成师,而只是为了剪掉在最后时刻将头伸进你的家庭快照的路人。如果你使用的是 KDE,你可以使用 Gwenview 这种休闲照片编辑器。

在 Linux 上安装 Gwenview

如果你正在运行 KDE Plasma 桌面,你可能已经安装了 Gwenview。如果你没有安装,或者你正在使用一个不同的桌面,而你想尝试 Gwenview,那么你可以用你的软件包管理器安装它。

我建议同时安装 Gwenview 和 Kipi 插件集,它可以将 Gwenview 与几个在线照片服务连接起来,这样你就可以轻松上传照片。在 Fedora、Mageia 和类似发行版上:

$ sudo dnf install gwenview kipi-plugins

在 Debian、Elementary 和类似版本上:

$ sudo apt install gwenview kipi-plugins

使用 Gwenview

Gwenview 通常有两种启动方式。你可以在 Dolphin 中点击图片文件,并选择在 Gwenview 中打开它;或者你可以启动 Gwenview,并在文件夹中寻找照片,Gwenview 或多或少可以充当你的文件管理器。第一种方法是直接的方法,很适合快速方便地预览图片文件。第二种方法是当你浏览大量照片,不确定哪一个版本的照片是“正确的”时,你可能会使用。

无论你如何启动 Gwenview,界面和功能都是一样的:右边有一个工作区,左边有一个面板。

 title=

(Seth Kenlon CC BY-SA 4.0, Photo courtesy Andrea De Santis

在左边的面板下面,有三个标签:

  • 文件夹 Folders :显示你电脑上的文件夹的树状视图,以便你可以浏览你的文件,寻找更多的照片。
  • 信息 Information :提供关于你目前正在查看的照片的元数据。
  • 操作 Operations :允许你对当前的照片进行小的修改,如在横向和纵向之间旋转、调整大小和裁剪等。

Gwenview 能理解文件系统,所以你可以按键盘上的箭头,查看文件夹中的上一张或下一张照片。

要离开单张照片视图并查看一个文件夹中的所有图片,请点击顶部工具栏中的“ 浏览 Browse ”按钮。

 title=

(Seth Kenlon,CC BY-SA 4.0

你也可以同时拥有两种视图。点击 Gwenview 底部的“ 缩略图栏 Thumbnail Bar ”按钮,可以以电影胶片的形式看到当前文件夹中的其他图片,而当前选择的照片则在主面板中。

 title=

(Seth Kenlon,CC BY-SA 4.0

用 Gwenview 编辑照片

数码照片是很常见的,因此在网上发布或与朋友分享之前,需要对照片进行细微的调整也是同样常见。有非常好的应用可以编辑照片,事实上,其中最好的一个是另一个 KDE 应用,叫做 Krita(你可以在我的 给摄影者的 Krita 文章中阅读我如何使用它来处理照片),但是小的调整不应该需要艺术学位。这正是 Gwenview 所确保的:用一个休闲但功能强大的应用进行简单而快速的照片调整,并与你的 Plasma 桌面的其他部分整合。

我们大多数人对照片进行的最常见的调整是:

  • 旋转:当你的相机没有提供正确的元数据让你的电脑知道一张照片是要以横向还是纵向观看时,你可以手动修复它。
  • 镜像:许多笔记本电脑或面部摄像头模仿镜子,这很有用,因为这是我们习惯于看到自己的方式。但是,它会使文字逆转。镜像功能可以从右到左翻转图像。
  • 翻转:在数码相机和笔记本电脑上不太常见,但在手机上,无论你怎么拿手机,使用倒置设备拍照的现象在屏幕翻转的手机中并不少见。翻转功能可将图像旋转 180 度。
  • 调整大小:数字图像现在通常具有超高清尺寸,有时这比你需要的要多得多。如果你通过电子邮件发送照片或将其发布在你想要优化加载时间的网页上,你可以将尺寸(和相应的文件大小)缩小到更小的尺寸。
  • 裁剪:你有一张很棒的自己的照片,但不小心偶然发现了一个你认为不合适的人。用裁剪工具剪掉你不想要的所有东西。
  • 红眼:当你的视网膜将相机的闪光灯反射回相机时,会得到红眼效果。Gwenview 可以通过在可调节区域中对红色通道进行去饱和和变暗来减少这种情况。

所有这些工具都在“ 操作 Operations ”侧面板或“ 编辑 Edit ”菜单中可用。这些操作具有破坏性,因此在你进行更改后,单击“ 另存为 Save As ”以保存图像的 副本

 title=

(Seth Kenlon,CC BY-SA 4.0,照片由 Elise Wilcox 提供)

分享照片

当你准备好分享照片时,单击顶部工具栏中的“ 分享 Share ”按钮,或转到“ 插件 Plugins ”菜单并选择“ 导出 Export ”。Gwenview 与 Kipi 插件集成在一起,可以在 NextcloudPiwigo、普通旧电子邮件以及 Google Drive、Flickr、Dropbox 等服务共享照片。

Linux 上的照片编辑要点

Gwenview 拥有桌面照片管理器的所有必需功能。如果你需要的不仅仅是基本功能,你可以在 Krita 或 Digikam 中打开一张照片,并根据需要进行重大修改。对于其他一切,从浏览、排名、标记和小调整,Gwenview 都很方便。


via: https://opensource.com/article/22/2/crop-resize-photos-gwenview-kde

作者:Seth Kenlon 选题:lujun9972 译者:geekpi 校对:wxy

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

我们为程序员和开发人员总结了 2022 年最好用的 10 款 Linux 发行版,以便他们开展日常工作和个人项目。

由于工作和项目需要,程序员和开发人员会用到各种工具和应用,包括代码编辑器、编译器、插件以及数据库等等。若对现代开发人员的工作流程做一番整理,一般流程如下:

  • 创建代码仓库
  • 编程
  • 调试
  • 测试
  • 部署

上述工作流程需要用到各种各样的工具,一份标准的工具清单如下:

  • 代码编辑器
  • 简单的文本编辑器
  • 网页浏览器(包括 Web 开发人员使用的各种浏览器)
  • 数据库引擎
  • 本地服务器
  • 各类编程语言的编译器
  • 调试器
  • 监视或分析工具(客户端或者网页端)

与 Windows 相比,Linux 可以说是编程的最佳平台。之所以这样说,主要是因为 Linux 发行版与 Windows 不同,预装了许多功能强大的包和软件,自行安装也比较容易。在本文中,考虑到一些原因,我不会将 macOS 纳入对比范围之内。

综上,本文将整理出 2022 年最适合程序员的 10 款 Linux 发行版。

2022 最适合程序员的 10 款 Linux 发行版

1、Fedora 工作站

Fedora 35 Workstation

在这 10 款 Linux 发行版当中,最优秀的可能就要数 Fedora Linux 了。Fedora 默认的工作站版本精选了一些软件包,为用户带来真正的 GNOME 桌面体验。

Fedora Linux 默认安装了开箱即用的主流开发软件包,包括 PHP、OpenJDK、PostgreSQL、Django、Ruby on Rails 以及 Ansible 等等。

dnf 是 Fedora Linux 的包管理器,有了它,安装代码编辑器以及其他软件就相当容易了。此外,你还可以使用“软件”应用商店一键搜索、安装软件。

Fedora Linux 支持 Snap 和 Flatpak,使用起来会更加灵活方便。你还可以使用 RPM Fusion 仓库,获取大量自由或非自由的软件。因为许可证等一些原因,Fedora Linux 不希望在其主仓库内包括这些包,于是就有了 RPM Fusion。

点击下方链接,了解 Fedora Linux 最新版本。

下载 Fedora

2、Ubuntu Linux

Ubuntu Desktop is a perfect Linux Distribution for Programmers.

在今天,无论是服务器还是个人电脑,使用最为广泛的发行版当属 Ubuntu Linux。Ubuntu 提供长期支持版本,每个长期支持版本官方提供五年的支持(外加五年的维护支持),并且每年为高级用户提供两个短期版本。

由于 Ubuntu 非常流行,各种包与软件的供应商都会提供适用于 Ubuntu 的版本(.deb)。此外,得益于广泛的知名度,Ubuntu 有着更为庞大的论坛群体和更为丰富的帮助文档。所以说,Ubuntu 是开发人员的最佳之选,尤其是在开发过程中陷入难题的时候,Ubuntu 更能发挥其作用。点击下方链接,了解更多。

下载 Ubuntu

3、openSUSE

openSUSE 是用在全球关键系统中最稳定、最专业的 Linux 发行版之一,是企业界(包括个人电脑、服务器以及瘦客户机)的首选解决方案。

相较于 Ubuntu 和 Fedora,openSUSE 具有一些独特的优势。首先,openSUSE 有两个版本:Leap 和 Tumbleweed。其中,openSUSE Leap 属于长期支持版,为用户带来稳定的升级体验。openSUSE Tumbleweed 属于滚动发行版,有着最新、最尖端的软件包。

如果你想获得最新的包和硬件支持,助力开发工作,你可以选择 openSUSE Tumbleweed;如果你想要的是稳定性,无需频繁维护即可长期运行,openSUSE Leap 会更适合你。

使用 openSUSE 进行开发工作,最大的优势之一就是 YaST 包管理工具。有了 YaST,许多操作可以轻松实现自动化。

此外,openSUSE 获取软件非常方便。它有专属的应用网站,供用户查找、安装包和软件。

如果你有一些 Linux 发行版的使用经验,推荐选择 openSUSE 进行开发工作。

下载 openSUSE

4、Manjaro Linux

Manjaro Linux 基于 Arch Linux,不过安装起来更容易一些。Manjaro Linux 自身还有许多独特功能,比如带有图形用户界面的安装程序、pamac 软件安装器以及高质量的软件仓库等等。Manjaro 有三个主要的桌面版本:GNOME、KDE Plasma 和 Xfce,足以满足各类用户的需要。

如果你想使用 Arch Linux 及其滚动发行的软件包来满足开发需求,但又不想在安装原版 Arch 上来回折腾,Manjaro 绝对是你的最佳选择。

下载 Manjaro

5、Arch Linux

尽管有 Manjaro 以及其他基于 Arch Linux 的发行版,而且安装操作非常简单,你可能还是想在自己的定制电脑上折腾一番,亲自动手 安装原版 Arch

不过这种选择更适合程序员和开发人员,因为他们想得到更多的掌控权,或者想要定制一个 Linux 操作系统,用于开发项目或满足开发需求。这样一来,他们可能就会安装 Arch Linux,选择自己最喜欢的桌面,设置专用于开发工作的操作系统。

假设你对 Arch Linux 和普通的电脑都比较熟悉,那么 Arch Linux 就是你的最佳选择,因为在自己定制的 Linux 操作系统上,你可以完全控制每一个软件包。

下载 Arch Linux

6、Pop OS

Pop OS(即 Pop!\_OS)由电脑制造商 System76 针对其系列硬件开发,是一款基于 Ubuntu 的自由开源的发行版。发行周期与 Ubuntu 保持同步,并为用户提供了额外的调整工具和软件包。

Pop OS 21.10 Desktop

Pop OS 基于 Ubuntu,默认支持多种程序语言,所以非常适合程序员使用。Pop OS 的软件中心非常出色,设有开发软件专区,深受计算机科学家和程序员青睐。

此外,Pop OS 的 COSMIC 桌面(GNOME 桌面的定制版)支持窗口自动平铺,具有柔美的调色板、默认的深色模式以及丰富的设置选项,给程序员带来独特的使用体验。

如果你既想要基于 Ubuntu,又想要适合程序员的稳定 Linux 发行版,推荐选择 Pop OS。

下载 POP OS

7、KDE Neon

作为一个程序员,如果你喜欢 KDE Plasma 桌面,又想使用基于 Qt 的开发环境,那么你应该选择 KDE Neon。

KDE Neon 基于 Ubuntu 长期支持版本,兼具最新的 KDE Plasma 桌面和 KDE 框架。因此,使用 KDE Neon,你不仅可以享受 Ubuntu 长期支持版本的稳定性,还能体验基于 Qt 的最新版 KDE 软件。

运行速度快,程序开箱即用,用户界面友好,广泛的社区支持,如你所愿,完美如斯。

下载 KDE Neon

8、Debian

Debian GUN/Linux 就无需过多介绍了。Debian 的稳定分支是 Ubuntu 及其衍生系统的基础。换句话说,Debian 是最主要、最稳定的 Linux 发行版之一。优秀的稳定性和较长的支持时间使得 Debian 非常适合用做开发环境。

不过,Debian 的稳定分支比较保守,很少使用最新的软件包。毕竟全世界(几乎)都依赖 Debian 的稳定运行,所以维护者在检查、合并软件包时必须十分谨慎。

Debian 不仅能够长期稳定运行,而且维护成本较低,是高级用户和系统管理员绝佳的编程环境。

下载 Debian Linux

9、Kali Linux

Kali Linux 由 Offensive Security 开发,服务对象为道德黑客和查找网络漏洞的渗透测试人员,内置大量黑客软件和工具。

对技术娴熟的程序员和开发人员来说,Kali Linux 堪称最佳之选。如果你精通 Linux,具备解决错误和依赖问题的经验,推荐选择 Kali Linux。

下载 Kali Linux

10、Fedora Labs

最后,我们来看看 Fedora Linux 的各种 Fedora Labs 版本。

Fedora Labs 为程序员、科学家、学生等各类人群提供各类专业化的 Linux 发行版,内置各类专业软件、包和工具。很多人并没有意识到 Fedora Labs 的优势,只要经过适当的配置,这些版本都是非常优秀的发行版。

我们来总结一下这些 Fedora Labs:

Fedora Scientific:

  • 采用 KDE Plasma 桌面,集成科学和数学领域的各种开源工具
  • 软件清单如下:

    • 基于 C/C++ 的 GNU Scientific Library
    • 兼容 MATLAB 的 MGNU Octave
    • LaTeX
    • Gnuplot:用于绘制 2D 与 3D 图像
    • Pandas:用于数据处理的 Python 库
    • IPython
    • Java 和 R 程序语言相关包
下载 Fedora Scientific

Fedora COMP NEURO:

  • 采用 GNOME 桌面环境,预装神经科学领域的各种开源包和应用。
下载 Comp Neuro

Fedora Robotics Suite:

  • 集成各种开源机器人技术包和软件,适合初学者、资深计算机科学家和编程人员。
下载 Fedora Robotics

除了上述版本,还有 Fedora Security LabsFedora AstronomyFedora Python Classroom 可供选择。

在编程项目以及科学领域,Fedora Labs 堪称完美之选。

总结

那么,怎样才能从以上 10 款 最适合程序员的 Linux 发行版中选出自己最喜欢的呢?

如果你想要一款开发系统,但又不想耗费太多精力,拿不定主意的话,推荐使用 Fedora 工作站或者 Ubuntu。

如果你的空闲时间比较多或者想要进一步掌控自己的系统,乐于尝试并且能够忍受偶尔发生的错误,推荐选择基于 Arch Linux 的系统。

对于刚接触 Linux 生态的新手程序员来说,Pop OS 也是一个不错的选择。如果有特殊需要的话,可以试试 Fedora Labs。

我希望本文能帮助程序员和开发人员选出最喜欢的 Linux 发行版。

祝你好运!

(题图由 jplenioPixabay 上发布 )


via: https://www.debugpoint.com/2022/03/top-linux-distributions-programmers-2022/

作者:Arindam 选题:lujun9972 译者:aREversez 校对:wxy

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

这是一份关于 Ubuntu 22.04 LTS 的次要特点的列表,这些特点使它成为迄今为止最好的 LTS 版本之一。

Canonical 的最新 LTS 版本 Ubuntu 的代号为 “Jammy Jellyfish” 受到了全球用户的好评。但是有数百个新的微小功能,以及一些不太流行的功能,没有引起人们的注意。因此,这里有五个 Ubuntu 22.04 的独特功能,我们认为这些功能可以使它成为一个史诗般的版本。

Ubuntu 22.04 发布 – 五个独特的功能

为数据驱动的方案进行了优化

数据分析和处理是当今每个企业的核心。而要做到这一点,你需要巨大的计算能力。Ubuntu 22.04 LTS 带来了开箱即用的 英伟达虚拟 GPU(vGPU) 驱动支持。这意味着你可以利用英伟达虚拟 GPU 软件,使你能够在虚拟机中使用从物理 GPU 服务器共享的 GPU 计算能力。

不仅如此,如果你的业务依赖于 SQL Server,Ubuntu LTS for Azure 带来了 Ubuntu 中的 SQL Server,它由 “Micro$oft” 支持,提供优化的性能和可扩展性。

改进的活动目录集成

此外,许多企业在多个工作站中为整个企业用户部署 Ubuntu。而且,部署工作站策略以监测和控制用户访问和各种关键业务控制非常重要。

活动目录实现了基于策略的工作站管理(在 Ubuntu 20.04 中引入),在这个版本中得到了进一步改善。除此之外,这个版本还带来了 ADsys 客户端,它有助于通过命令行远程管理组策略、权限升级和远程脚本执行。从这个版本开始,活动目录现在也支持与高级组策略对象的安装程序集成。

实时内核支持

此外,在 Ubuntu 22.04 LTS 发布期间,Canonical 宣布的一个有趣的消息是,提供“实时”内核选项,现在是测试版。对于电信和其他行业来说,一个低延迟的操作系统对于时间敏感的工作是必需的。因此,考虑到这一点和渗透到这些领域的愿景,Ubuntu 22.04 LTS 带来了一个应用了 PREEMPT\_RT 补丁的实时内核构建。它可用于 x86\_64 和 AArch64 架构。

然而,该 补丁 还没有在主线内核中出现,希望它能很快能出现。

最新的应用、软件包和驱动程序

除了上述变化之外,这个版本还带来了大量的软件包和工具链的升级。例如,这个版本带来了基于各种用途的多种 Linux 内核类型,如 Ubuntu 桌面可以选择使用 内核 5.17,而硬件启用内核仍然是 5.15。

不仅如此,Ubuntu Server 采用长期支持版的 内核 5.15,而 Ubuntu Cloud 镜像可以选择使用与云供应商合作的更优化的内核。

此外,如果你是英伟达用户,值得一提的是,ARM64 上的英伟达驱动的 Linux 限制模块现在已经可用(在 x86\_64 中已经可用)。你可以使用 ubuntu-drivers 程序来安装和配置英伟达驱动。

核心模块和子系统构成的完整的操作系统可以完美无缺地工作。因此,考虑到这一点,Ubuntu 22.04 LTS 对它们都进行了仔细的升级,以迎合这个很好的版本。以下是简介:

GNU/Linux 核心:

  • GCC 11.2.0
  • binutils 2.38
  • glibc 2.35

编程工具链:

  • Python 3.10.4
  • Perl 5.34.0
  • LLVM 14
  • golang 1.18
  • rustc 1.58
  • OpenJDK 11(可选使用 OpenJDK 18)
  • Ruby 3.0
  • PHP 8.1.2
  • Apache 2.4.52
  • PostgreSQL 14.2
  • Django 3.2.12
  • MySQL 8.0
  • 更新的 NFS 以及 Samba Server
  • Systemd 249.11
  • OpenSSL 3.0

虚拟化:

  • qemu 6.2.0
  • libvirt 8.0.0
  • virt-manager 4.0.0

性能提升

但这还不是全部。由于一些长期等待的更新,你应该体验到更快的 Ubuntu 22.04 Jammy Jellyfish,这些体验最终会在这个版本中出现。

首先,长期等待的 GNOME 桌面的 [三重缓冲代码] 已经来到。当先前的帧缓冲落后时,三重缓冲会自动启用,它在英特尔和树莓派驱动中产生了更快的桌面性能。不仅如此,代码还监控最后一帧,以便系统不会遇到过量缓冲的情况。

其次,改进的电源管理,在运行时对 AMD 和英伟达的 GPU 起作用,将帮助笔记本电脑用户。

此外,Wayland 现在是大多数系统的默认显示服务器,除了英伟达 GPU 硬件默认为 X11。Wayland 为你提供了更快的跨应用的桌面体验,包括网页浏览器。

最后,定制的 GNOME 42 及其 独特功能(例如平衡和省电电源配置文件)为重度笔记本电脑用户提供了更多优势。此外,带有浅色/深色外观的新强调色和将选定的 GNOME 模块移植到 GTK4/libadwaita 只是这个史诗般的 Ubuntu 22.04 LTS 版本的一个补充。

结论

总而言之,就上述所有内容的变化和许多其他方面而言,我相信这是 Canonical 发布的最好的 LTS 版本之一。

我们希望它得到好评,并在未来能保持稳定。


via: https://www.debugpoint.com/2022/04/ubuntu-22-04-release-unique-feature/

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

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

了解如何在 Linux 上使用 dnf 命令安装软件包,然后下载我们的速查表,让正确的命令触手可及。

 title=

在计算机系统上安装应用程序非常简单:就是将档案(如 .zip 文件)中的文件复制到目标计算机上,放在操作系统预期放应用程序的位置。因为我们中的许多人习惯于使用花哨的安装“向导”来帮助我们在计算机上安装软件,所以这个过程似乎在技术上应该比实际更复杂。

然而,复杂的是,是什么构成了一个程序?用户认为的单个应用程序实际上包含了分散在操作系统中的软件库的各种依赖代码(例如:Linux 上的 .so 文件、Windows 上的 .dll 文件和 macOS 上的 .dylib 文件)。

为了让用户不必担心这些程序代码之间的复杂的互相依赖关系, Linux 使用 包管理系统 package management system 来跟踪哪些应用程序需要哪些库,哪些库或应用程序有安全或功能更新,以及每个软件会附带安装哪些额外的数据文件。包管理器本质上是一个安装向导。它们易于使用,提供了图形界面和基于终端的界面,让你的生活更轻松。你越了解你的发行版的包管理器,你的生活就会越轻松。

在 Linux 上安装应用程序

如果你在使用 Linux 桌面时,偶尔想要安装一个应用程序,那么你可能正在寻找 GNOME “软件”,它是一个桌面应用程序浏览器。

 title=

它会按你的预期工作:点击它的界面,直到你找到一个看起来有用的应用程序,然后单击 “安装” 按钮。

或者,你可以在 GNOME “软件” 中打开从网络下载的 .rpm.flatpakref 软件包,以便它进行安装。

但如果你更倾向于使用命令行,请继续阅读。

用 dnf 搜索软件

在安装应用程序之前,你可能需要确认它是否存在于你的发行版的服务器上。通常,使用 dnf 搜索应用程序的通用名称就足够了。例如,假设你最近阅读了 一篇关于 Cockpit 的文章,并决定尝试一下。你可以搜索 cockpit 验证该发行版是否包含它:

$ dnf search cockpit
 Last metadata expiration check: 0:01:46 ago on Tue 18 May 2021 19:18:15 NZST.
 ==== Name Exactly Matched: cockpit ====
 cockpit.x86_64 : Web Console for Linux servers

==== Name & Summary Matched: cockpit ==
 cockpit-bridge.x86_64 : Cockpit bridge server-side component
 cockpit-composer.noarch : Composer GUI for use with Cockpit
 [...]

有一个精确的匹配。上面列出的匹配的软件包名为 cockpit.x86_64,但名称中的 .x86_64 部分仅表示它兼容该 CPU 架构。默认情况下,你的系统会安装适配当前 CPU 架构的软件包,因此你可以忽略该扩展名。所以你确认你要查找的软件包确实简称为 cockpit

现在你可以放心地使用 dnf install 安装它。 此步骤需要管理员权限:

$ sudo dnf install cockpit

一般来说,这就是典型的 dnf 工作流:搜索并安装。

然而,有时 dnf search 的结果并不清晰,或者你想要关于一个软件包的更多信息,而不仅仅是它的通用名称。有一些相关的 dnf 子命令,具体取决于你想要的信息。

软件包的元数据

如果你觉得你的搜索已 接近 想要的结果,但还不确定,查看软件包的元数据通常会有所帮助,例如项目的网址和描述。要获取此信息,请使用顾名思义的 dnf info 命令:

$ dnf info terminator
Available Packages
Name         : terminator
Version      : 1.92
Release      : 2.el8
Architecture : noarch
Size         : 526 k
Source       : terminator-1.92-2.el8.src.rpm
Repository   : epel
Summary      : Store and run multiple GNOME terminals in one window
URL          : https://github.com/gnome-terminator
License      : GPLv2
Description  : Multiple GNOME terminals in one window.  This is a project to produce
             : an efficient way of filling a large area of screen space with
             : terminals. This is done by splitting the window into a resizeable
             : grid of terminals. As such, you can  produce a very flexible
             : arrangements of terminals for different tasks.

这个信息告诉你可用软件包的版本、在你系统中注册的哪一个存储库提供了它、该项目的网站以及详细的功能描述。

哪个软件包提供的这个文件?

软件包名称并不总是与你要查找的内容相匹配。例如,假设你正在阅读的文档告诉你必须安装名为 qmake-qt5 的东西:

$ dnf search qmake-qt5
No matches found.

dnf 数据库非常广泛,因此你不要局限于搜索完全匹配的内容。你可以使用 dnf provides 命令来了解你正在寻找的东西是否作为某个更大的软件包的一部分而提供:

$ dnf provides qmake-qt5
qt5-qtbase-devel-5.12.5-8.el8.i686 : Development files for qt5-qtbase
Repo        : appstream
Matched from:
Filename    : /usr/bin/qmake-qt5

qt5-qtbase-devel-5.15.2-3.el8.x86_64 : Development files for qt5-qtbase
Repo        : appstream
Matched from:
Filename    : /usr/bin/qmake-qt5

可以确认应用程序 qmake-qt5 是名为 qt5-qtbase-devel 的软件包的一部分。它还告诉你,该应用程序会安装到 /usr/bin,因此你知道了安装后它的确切位置。

软件包中包含哪些文件?

有时我发现自己会从完全不同的角度来对待 dnf。有时,我已经确认我的系统上安装了一个应用程序;我只是不知道我是怎么得到它的。还有一些时候,我知道我安装了一个特定的软件包,但我不清楚这个软件包到底在我的系统上安装了什么。

如果你需要对包的 有效负载 payload 进行 “ 逆向工程 reverse engineer ”,可以使用 dnf repoquery 命令和 --list 选项。这将查看存储库中有关软件包的元数据,并列出该软件包提供的所有文件:

$ dnf repoquery --list qt5-qtbase-devel
/usr/bin/fixqt4headers.pl
/usr/bin/moc-qt5
/usr/bin/qdbuscpp2xml-qt5
/usr/bin/qdbusxml2cpp-qt5
/usr/bin/qlalr
/usr/bin/qmake-qt5
/usr/bin/qvkgen
/usr/bin/rcc-qt5
[...]

这些列表可能很长,使用 less 或你喜欢的分页命令配合管道操作会有所帮助。

移除应用程序

如果你决定系统中不再需要某个应用程序,可以使用 dnf remove 卸载它,该软件包本身安装的文件以及不再需要的任何依赖项都会被移除:

$ dnf remove bigapp

有时,你发现随着一个应用程序一起安装的依赖项对后来安装的其他应用程序也有用。如果两个包需要相同的依赖项,dnf remove 不会 删除依赖项。在安装和卸载大量应用程序之后,孤儿软件包散落各处的现象并不少见。大约每年我都要执行一次 dnf autoremove 来清除所有未使用的软件包:

$ dnf autoremove

这不是必需的,但这是一个让我的电脑感觉更好的大扫除步骤。

了解 dnf

你对包管理器的工作方式了解得越多,在必要时安装和查询应用程序就越容易。即便你不是 dnf 的重度使用者,当你发现自己与基于 RPM 的发行版交互时,了解它也会很有用。

告别 yum 后,我最喜欢的包管理器之一是 dnf 命令。虽然我不喜欢它的所有子命令,但我发现它是目前最健壮的 包管理系统 package management system 之一。 下载我们的 dnf 速查表 习惯该命令,不要害怕尝试一些新技巧。一旦熟悉了它,你可能会发现很难使用其他任何东西替代它。

dnf 速查表

via: https://opensource.com/article/21/6/dnf-linux

作者:Seth Kenlon 选题:lujun9972 译者:hanszhao80 校对:wxy

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

使用 Samba 设置跨平台文件共享。

 title=

如果你使用不同的操作系统,能够在它们之间共享文件会让你倍感方便。这篇文章介绍如何使用 Sambamount.cifs 在 Linux (Fedora 33)和 Windows 10 之间设置文件共享。

Samba 是 SMB/CIFS 协议的 Linux 实现,允许通过网络连接直接访问共享的文件夹和打印机。 mount.cifs 是 Samba 套件的一部分,可让你在 Linux 下挂载 CIFS 文件系统。

注意: 这些说明适用于在你的私有本地网络内,或在 Linux 宿主机和虚拟化的 Windows 访客机之间的虚拟主机专用网络中共享文件。不要将本文视为你公司网络的操作指南,因为本文没有实现必要的网络安全考虑。

从 Windows 访问 Linux

本节介绍从 Windows 文件资源管理器访问用户的 Linux 主目录。

1、安装和配置 Samba

进入你的系统安装 Samba:

dnf install samba

Samba 是一个系统守护进程,其配置文件位于 /etc/samba/smb.conf。它的默认配置应该就可以工作。如果不行,下面这个最小化配置应该可以解决问题:

[global]
        workgroup = SAMBA
        server string = %h server (Samba %v)
        invalid users = root
        security = user
[homes]
        comment = Home Directories
        browseable = no
        valid users = %S
        writable = yes

你可以在该项目网站的 smb.conf 部分找到参数的详细说明。

2、修改 LinuxSE

如果你的 Linux 发行版受 SELinux 保护(比如 Fedora),必须通过以下命令才能通过 Samba 共享主目录:

setsebool -P samba_enable_home_dirs on

通过以下命令查看这个值:

getsebool samba_enable_home_dirs

输出如下:

 title=

3、启用你的用户

Samba 使用一组用户/密码来管理连接权限。通过键入以下命令将你的 Linux 用户添加到该集合中:

smbpasswd -a <你的用户名>

系统提示你输入密码。这是一个 全新 的密码;而不是你账户的当前密码。请输入你想用来登录 Samba 的密码。

键入以下命令得到有 Samba 使用权限的用户列表:

pdbedit -L -v

键入以下命令删除一个用户:

smbpasswd -x <用户名>

4、开启 Samba

既然 Samba 是一个系统守护进程,你可以在 Fedora 上键入以下命令启动它:

systemctl start smb

这将为当前会话开启 Samba 服务。如果想让它自启动,键入以下命令:

systemctl enable smb

在某些系统上,Samba 守护进程注册为 smbd

4、配置防火墙

你的防火墙会默认阻拦 Samba。通过配置防火墙允许 Samba 能永久访问网络。

你可以在命令行执行如下操作:

firewall-cmd --add-service=samba --permanent

或者,你可以使用 firewall-config 工具以图形化方式进行操作:

 title=

5、从 Windows 访问 Samba

在 Windows 中,打开文件资源管理器。在地址栏中,键入两个反斜杠(\\),紧跟你的 Linux 机器的地址(IP 地址或主机名):

 title=

系统将提示你输入登录信息。输入第 3 步中的用户名和密码组合。你现在应该可以访问 Linux 机器上的主目录:

 title=

从 Linux 访问 Windows

以下步骤说明了如何从 Linux 访问共享的 Windows 文件夹。要实现这一点,需要你的 Windows 用户帐户具有管理员权限。

1、启用文件共享

通过点击 “Windows 按钮” > “ 设置 Settings ” > “ 网络和 Internet Network & Internet ” ,或者右键单击任务栏右下角的小监视器图标, 打开网络和共享中心 Open Network an d Sharing Center

 title=

在打开的窗口中,找到你要使用的连接并记下其配置文件。我使用了 以太网 3,它被标记为 公用网络 Public Network

注意:如果你的 PC 经常连接公用网络,请考虑将本地计算机的连接配置文件更改为 私有

记住你的网络配置,然后单击 更改高级共享设置 Change advanced sharing settings

 title=

选择与你的连接对应的配置文件并打开 网络发现 network discovery 文件和打印机共享 file and printer sharing

 title=

2、定义一个共享文件夹

通过右键单击你要共享的文件夹打开上下文菜单,导航到 授予访问权限 Give access to ,然后选择 特定用户... Specific people...

 title=

检查你当前的用户名是否在列表中。点击 共享 Share 将此文件夹标记为共享:

 title=

你可以通过在文件资源管理器的地址栏中输入 \\localhost 来显示所有共享文件夹的列表:

 title=

 title=

3、在 Linux 下挂载共享文件夹

回到你的 Linux 系统,打开一个命令行,然后创建一个新文件夹,用于挂载 Windows 共享:

mkdir ~/WindowsShare

挂载 Windows 共享是使用 mount.cifs 完成的,它应该被默认安装。使用如下命令临时挂载你的共享文件夹:

sudo mount.cifs //<address-of-windows-pc>/MySharedFolder ~/WindowsShare/ -o user=<Windows-user>,uid=$UID

在这个命令里:

  • <address-of-windows-pc> 是 Windows PC 的地址信息(IP 或主机名)
  • <Windows-user> 是允许访问共享文件夹的用户(见步骤 2)

系统将提示你输入 Windows 密码。之后,你将能够使用普通 Linux 用户访问 Windows 上的共享文件夹。

要卸载共享文件夹:

sudo umount ~/WindowsShare/

你还可以在系统启动时挂载 Windows 共享文件夹。按照 这些步骤 相应地配置你的系统。

总结

在这里展示了如何建立临时的文件夹共享访问权限,每次重启后都要重新设置,因此修改成永久访问会更便利。我经常在不同的系统之间来回切换,对我而言设置直接文件访问非常实用。


via: https://opensource.com/article/21/4/share-files-linux-windows

作者:Stephan Avenwedde 选题:lujun9972 译者:hanszhao80 校对:wxy

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

在网络钓鱼攻击中,用户会收到一封带有误导性链接的邮件或信息,攻击者可以利用它来收集重要数据,比如你的银行卡密码。本文将会给出一个简短的教程,旨在介绍如何检测这种网络钓鱼的企图。

通过网络钓鱼攻击,攻击者能够获得一些重要凭证,这些凭证可以用来进入你的银行或其他金融账户。攻击者发送的 URL 看起来与我们日常使用的原始应用程序完全相同。这也是人们经常相信它,并在其中输入个人信息的原因。钓鱼网址可以打开一个网页,它看起来与你的银行的原始登录页面相似。最近,这样的网络钓鱼攻击正变得相当普遍,所以,检测钓鱼链接变得非常重要。因此,我将介绍如何在 Python 中使用机器学习来检查一个链接是误导性的还是真实的,因为它可以帮助我们看到网页代码及其输出。注意,本文将使用 Jupyter Notebook。当然,你也可以使用 Google Colab 或 Amazon Sagemaker,如果你对这些更熟悉的话。

下载数据集

第一步,我们需要用于训练数据集。你可以从下面的链接中下载数据集。

训练机器进行预测

当数据集下载完成,我们需要使用以下几行代码来导入所需的库:

import pandas as pd
from sklearn.ensemble import RandomForestClassifier

如果你没有这些库,你可以使用 pip 工具来安装这些库,如下图所示:

使用 pip 工具安装依赖库

当依赖安装完成,你就可以导入数据集,并将其转换为 pandas 数据框架,使用以下几行代码进一步处理:

legitimate_urls = pd.read_csv(“/home/jishnusaurav/jupyter/Phishing-Website-Detection/datasets/legitimate-urls.csv”)
phishing_urls = pd.read_csv(“/home/jishnusaurav/jupyter/Phishing-Website-Detection/datasets/phishing-urls.csv”)

在成功导入后,我们需要把这两个数据集合并,以便形成一个数据集。合并后的数据集的前几行如下图所示:

合并后的数据集的前几行

然后去掉那些我们不需要的列,如路径(path)、协议(protocol)等,以达到预测的目的:

urls = urls.drop(urls.columns[[0,3,5]],axis=1)

在这之后,我们需要使用以下代码将数据集分成测试和训练两部分:

data_train, data_test, labels_train, labels_test = train_test_split(urls_without_labels, labels, test_size=0.30, random_state=110)

接着,我们使用 sklearn 的随机森林分类器建立一个模型,然后使用 fit 函数来训练这个模型。

random_forest_classifier = RandomForestClassifier()
random_forest_classifier.fit(data_train,labels_train)

完成这些后,我们就可以使用 predict 函数来最终预测哪些链接是钓鱼链接。下面这行可用于预测:

prediction_label = random_forest_classifier.predict(test_data)

就是这样啦!你已经建立了一个机器学习模型,它可以预测一个链接是否是钓鱼链接。试一下吧,我相信你会满意的!


via: https://www.opensourceforu.com/2022/04/detect-a-phishing-url-using-machine-learning-in-python/

作者:Jishnu Saurav Mittapalli 选题:lkxed 译者:lkxed 校对:wxy

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