分类 技术 下的文章

在 Windows 上,微软提供了一个 免费云存储服务 OneDrive。它与 Windows 集成,你可以通过你的微软账户获得 5GB 的免费存储空间。

这在 Windows 上很好用,但和谷歌一样,微软也没有在 Linux 桌面上提供 OneDrive 的本地客户端。

当然,你可以通过浏览器访问你的 OneDrive 数据。除此以外,还有一些其他的方法可以在 Linux 上访问 OneDrive。

你可以使用像 Insync 这样的高级服务,或者选择用 rclone 在 Linux 上使用 OneDrive 这种稍微复杂的命令行方式。

最近,我发现了另一个工具,它稍有不同,使用起来也更简单。不出所料,它叫 OneDriver。

OneDriver:在你的 Linux 系统上挂载 OneDrive

OneDrive Linux illustration

OneDriver 是一个自由而开源的工具,允许你在 Linux 系统上挂载 OneDrive 文件。

请记住,它不会像 OneDrive 在 Windows 系统上那样同步文件。它将 OneDrive 文件挂载在本地的挂载点上。你通过网络访问这些文件。

然而,它确实提供了一种混合方法。你在挂载的 OneDrive 中打开的文件也被下载到系统中。这意味着,你也可以离线访问打开的文件。如果你没有连接到互联网,这些文件将成为只读。

如果你在本地对文件做任何修改,并且连接到互联网,它就会反映到 OneDrive 上。

我注意到,在 GNOME 上的 Nautilus 文件管理器中,它会自动下载当前文件夹中的图像。在我的印象中,它们只有在我打开它们时才会被下载。

另一件事是,Nautilus 一开始会建立缩略图缓存。OneDriver 在开始的时候可能会觉得有点慢,有点耗费资源,但最终会好起来。

哦!你也可以挂载多个 OneDrive 账户。

安装和使用 OneDriver

要在 Ubuntu 20.04(和 Linux Mint 20 系列)上安装 OneDriver,你可以使用 OneDriver 开发者的这个 PPA:

sudo add-apt-repository ppa:jstaf/onedriver
sudo apt update
sudo apt install onedriver

对于 Ubuntu 21.04,你可以下载 其 PPA 中的 DEB 文件 来使用它。

在 Fedora 上,你可以添加这个 COPR:

sudo dnf copr enable jstaf/onedriver
sudo dnf install onedriver

Arch 用户可以在 AUR 中找到它。

安装后,在菜单中搜索 OneDriver,然后从这里启动它。

Search for OneDriver

首次运行时,它会给出一个奇怪的空界面。点击 “+” 号,选择一个文件夹或创建一个新的文件夹,OneDrive 会挂载在那里。在我的例子中,我在我的家目录下创建了一个名为 One_drive 的新文件夹。

Click on + sign to add a mount point for OneDrive

当你选择了挂载点后,你会被要求输入你的微软凭证。

one drive login

one drive permission

登录后,你可以在挂载的目录中看到 OneDrive 的文件。

OneDrive mounted in Linux

完成这些后,你可以在应用界面上看到你的 OneDrive 账户。点击旁边的勾按钮,以在重启后自动挂载 OneDrive。

Autostart OneDriver mounting

总的来说,OneDriver 是一个可以在 Linux 上访问 OneDrive 的不错的免费工具。它可能无法像 高级 Insync 服务 那样提供完整的同步设施,但对于有限的需求来说,它做得不错。

如果你使用这个漂亮的工具,请分享你的使用经验。如果你喜欢这个项目,也许可以给它一个 GitHub 上的星标


via: https://itsfoss.com/onedriver/

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

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

第一步是安装一个“虚拟专用网络”服务器。

你是否连接到了不受信任的网络,例如酒店或咖啡馆的 WiFi,而又需要通过智能手机和笔记本电脑安全浏览互联网?通过使用虚拟专用网络,你可以匿名访问不受信任的网络,就像你在专用网络上一样安全。

“虚拟专用网络” 是保护私人数据的绝佳工具。通过使用 “虚拟专用网络”,你可以在保持匿名的同时连接到互联网上的专用网络。

可选的 “虚拟专用网络” 服务有很多,0penVPN 依然是很多人在使用不受信任的网络时保护私人数据的第一选择。

0penVPN 在两点之间创建一个加密通道,防止第三方访问你的网络流量数据。通过设置你的 “虚拟专用网络” 服务,你可以成为你自己的 “虚拟专用网络” 服务商。许多流行的 “虚拟专用网络” 服务都使用 0penVPN,所以当你可以掌控自己的网络时,为什么还要将你的网络连接绑定到特定的提供商呢?

搭建 Linux 服务器

首先,在备用 PC 上安装一份 Linux。本例使用 Fedora,但是不论你使用的是什么 Linux 发行版,步骤基本是相同的。

Fedora 项目 网站下载最新的 Fedora ISO 副本。制作一个 USB 启动盘,将其插入到你的 PC 并启动,然后安装操作系统。如果你从未制作过可引导的 USB 启动盘,可以了解一下 Fedora Media Writer。如果你从未安装过 Linux,请阅读 三步安装 Linux

设置网络

安装完成 Fedora 操作系统后,登录到控制台或者 SSH 会话。

更新到最新并重新启动:

$ sudo dnf update -y && reboot

重新登录并关闭防火墙:

systemctl disable firewalld.service
systemctl stop firewalld.service

你可能希望在此系统上为你的内部网络添加适当的防火墙规则。如果是这样,请在关闭所有防火墙规则后完成 0penVPN 的设置和调试,然后添加本地防火墙规则。想要了解更多,请参照 在 Linux 上设置防火墙

设置 IP 地址

你需要在你的本地网络设置一个静态 IP 地址。下面的命令假设在一个名为 ens3 的设备上有一个名为 ens3 网络管理器 Network Manager 连接。你的设备和连接名称可能不同,你可以通过打开 SSH 会话或从控制台输入以下命令:

$ sudo nmcli connection show
NAME  UUID                                  TYPE      DEVICE
ens3  39ad55bd-adde-384a-bb09-7f8e83380875  ethernet  ens3

你需要确保远程用户能够找到你的 “虚拟专用网络” 服务器。有两种方法可以做到这一点。你可以手动设置它的 IP 地址,或者将大部分工作交给你的路由器去完成。

手动配置一个 IP 地址

通过以下命令来设置静态 IP 地址、前缀、网关和 DNS 解析器,用来替换掉原有的 IP 地址:

$ sudo nmcli connection modify ens3 ipv4.addresses 10.10.10.97/24
$ sudo nmcli connection modify ens3 ipv4.gateway 10.10.10.1
$ sudo nmcli connection modify ens3 ipv4.dns 10.10.10.10
$ sudo nmcli connection modify ens3 ipv4.method manual
$ sudo nmcli connection modify ens3 connection.autoconnect yes

设置主机名:

$ sudo hostnamectl set-hostname OVPNserver2020

如果你运行了一个本地的 DNS 服务,你需要设置一个 DNS 条目,将主机名指向 “虚拟专用网络” 服务器的 IP 地址。

重启并确保系统的网络运行正常。

在路由器中配置 IP 地址

在你的网络当中应该有一台路由器。你可能已经购买了它,或者从互联网服务提供商(ISP)那里获得了一台。无论哪种方式,你的路由器可能都有一个内置的 DHCP 服务,可以为连接到网络上的每台设备分配一个 IP 地址。你的新 “虚拟专用网络” 服务器也是属于网络的一台设备,因此你可能已经注意到它会自动分配一个 IP 地址。

这里的潜在问题是你的路由器不能保证每台设备都能在重新连接后获取到相同的 IP 地址。路由器确实尝试保持 IP 地址一致,但这会根据当时连接的设备数量而发生变化。

但是,几乎所有的路由器都会有一个界面,允许你为特定设备调停和保留 IP 地址。

 title=

路由器没有统一的界面,因此请在你的路由器接口中搜索 “DHCP” 或 “Static IP address” 选项。为你的服务器分配自己的预留 IP 地址,使其在网络中保持 IP 不变。

连接到服务器

默认情况下,你的路由器可能内置了防火墙。这通常很好,因为你不希望网络之外的人能够强行进入你的任何计算机。但是,你必须允许发往 “虚拟专用网络” 服务器的流量通过防火墙,否则你的 “虚拟专用网络” 将无法访问,这种情况下你的 “虚拟专用网络” 服务器将形同虚设。

你至少需要一个来自互联网服务提供商的公共静态 IP 地址。使用其静态 IP 地址设置路由器的公共端,然后将你的 0penVPN 服务器放在专用端,在你的网络中使用专用静态 IP 地址。 0penVPN 默认使用 UDP 1194 端口。配置你的路由器,将你的公网 “虚拟专用网络” IP 地址的 UDP 1194 端口转发到 0penVPN 服务器上的 UDP 1194 端口。如果你决定使用不同的 UDP 端口,请相应地调整端口号。

准备好,我们开始下一步

在本文中,你在服务器上安装并配置了一个操作系统,这已经成功了一半。在下一篇文章中,你将解决安装和配置 0penVPN 本身的问题。同时,请熟悉你的路由器并确保你可以从外部访问你的服务器。但是请务必在测试后关闭端口转发,直到你的 “虚拟专用网络” 服务启动并运行。

本文的部分内容改编自 D. Greg Scott 的博客,并经许可重新发布。


via: https://opensource.com/article/21/8/openvpn-server-linux

作者:D. Greg Scott 选题:lujun9972 译者:perfiffer 校对:wxy

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

elementary OS 6 终于来了。让我们看一下这个主要版本中的重要亮点。

elementary OS 6 是其 5.x 系列经过几年更新后的一次重大升级。

虽然 5.x 系列也有许多功能更新和改进,但 elementary OS 6 的努力成果看起来令人兴奋。

在这里,让我们来看看 elementary OS 6 引入的所有新功能和变化。

1、暗黑风格及强调色

elementary OS 暗黑风格的主题与现在主流的工作方式类似,是一种选择的偏好。你可以在安装 elementary OS 6 之后,在欢迎屏幕上选择它。

虽然增加暗黑模式听起来像是小事一桩,但他们似乎投入了大量的精力来提供一个整体一致的暗黑模式体验。

所有的第一方应用程序都无缝地支持暗黑风格和浅色主题。

elementary OS 还让应用开发者在 elementary OS 6 中遵照用户的偏好。因此,如果用户喜欢暗黑模式或浅色模式,应用程序就可以适应这种模式。

伴随着新的强调色的出现,还有一个自动的强调色偏好,可以从你当前的壁纸中挑选出强调的颜色。

2、改进的通知及重新设计的通知中心

通知现在支持图标徽章和行动按钮,这应该能提供更好的体验。

这可以让你快速打开链接、标记一条消息已读,以及其他几种可能的操作。

紧急通知有了新的外观和独特的声音,以帮助你识别它们。

除了通知方面的改进,通知中心也进行了改造,使其看起来更好,并可以对多个通知进行清理。

3、在线账户

终于,在 elementary OS 6 中,你能够从系统设置中添加在线账户了。

一旦登录,你的数据将在支持的系统应用程序(如日历、任务)中同步。

它也会显示在系统托盘通知中。

4、第一方 Flatpak 应用及权限查看

为了提高整个平台的隐私和安全,elementary OS 6 采用了优先选择 Flatpak 的方式。

Elementary OS 现在有自己的应用中心 Flatpak 资源库。一些默认的应用程序以 Flatpak 包的形式出现,应用中心列出的所有应用程序也都有 Flatpak。

总的来说,这意味着更好的沙盒体验,你的所有应用程序将保持相互隔离,不会访问你的敏感数据。

而且,最重要的是,elementary OS 6 增加了“门户”功能,应用程序会请求权限,以访问你的文件或启动另一个应用程序。

你还可以从系统设置中控制所有的权限。

5、多点触控手势

对于笔记本电脑和触摸板用户来说,新的多点触控手势将变得非常方便。

从访问多任务视图到浏览工作区,你都可以用多点触摸手势来完成。

不仅仅局限于桌面上的某些功能,你还可以与通知互动、滑过应用程序,并可以通过新的多点触控手势获得全系统的顺滑体验。

你可以自定义手势或从系统设置下的手势部分了解更多信息。

6、屏幕盾牌

在 elementary OS 5 中,有些人注意到当你想运行一个耗时的任务或简单地观看视频时,会出现自动锁定屏幕的问题。

然而,这种情况在 elementary OS 6 中得到了改变,它不仅解决了这个问题,还以 “屏幕盾牌” 功能的形式带来了新的实现方式。

因此,在观看视频或执行耗时的任务时,你可以轻松地保持系统的清醒,而不会突然中断。

它利用了 GNOME 的守护程序设置,与第三方应用程序有更好的兼容性。

7、新的任务应用

elementary OS 6 中添加了一个新的任务应用,在那里你可以管理任务、收到提醒,并在你的系统上组织任务,或与在线账户同步。

我可能还不会用它来取代 Planner,但它是一个很好的补充,因为它打造的很好。

8、固件更新应用程序

你可以为支持的设备获得最新的固件更新,而无需摆弄任何其他设置。

只要从菜单中寻找“固件”应用程序就可以开始了。

9、更新的应用程序

一些应用程序已经被更新,同时引入了新的功能。

例如,Epiphany 浏览器被重新命名为 “Web”,现在有 Flatpak 包可用,以方便快速更新。

它还包括内置的跟踪保护和广告拦截。

其他一些值得注意的变化包括:

  • 相机应用获得了一个新的用户界面,可以切换相机、镜像图像等等。
  • 应用中心现在不仅列出了 Flatpak 应用程序,而且还在应用程序完成安装后通知你,让你快速打开它。
  • 文件应用程序也得到了改进,其形式是一个新的侧边栏和列表视图。另外,现在需要双击才能打开一个文件,而单次点击可以在文件夹中导航。

其他应用程序如邮件、日历也得到了改进,以便更好地进行在线整合。

10、改进的桌面工作流程及屏幕截图工具

多任务视图现在可以帮助你明确区分多个活动窗口。而热角视图可以让你将窗口移动到新的工作区,也可以将窗口最大化。

屏幕截图工具可以在窗口中移动,而不仅仅是停留在窗口的中心。你还可以从预览中拖放图片,而不需要保存。

11、改进的安装程序

你会注意到一些新的微妙的动画,而且还做了一些努力,以便在不重新调整窗口大小的情况下提供一个一致的安装程序布局。

这不是一次大修,但他们提到新的安装程序带有改进的磁盘检测和错误处理功能,这应该能使安装顺滑进行。

总结

elementary OS 6 是一个激动人心的版本,有多项改进。尽管外观和感觉并没有完全改变,但它已被全面精心雕琢。

我喜欢他们为提供一致和漂亮的用户体验所做的工作。另外,像全系统的 Flatpak 这样的变化应该使用户更容易和更安全。

你对这个版本有什么看法?你试过了吗?


via: https://news.itsfoss.com/elementary-os-6-features/

作者:Ankush Das 选题:lujun9972 译者:wxy 校对:wxy

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

使用 mv 命令将一个文件从一个位置移动到另一个位置。

 title=

要在有图形界面的计算机上移动一个文件,你要打开该文件当前所在的文件夹,然后打开另一个窗口导航到你想把文件移到的文件夹。最后,你把文件从一个窗口拖到另一个窗口。

要在终端中移动文件,你可以使用 mv 命令将文件从一个位置移动到另一个位置。

$ mv example.txt ~/Documents

$ ls ~/Documents
example.txt

在这个例子中,你已经把 example.txt 从当前文件夹移到了主目录下的 Documents 文件夹中。

只要你知道一个文件在 哪里,又想把它移到 哪里 去,你就可以把文件从任何地方移动到任何地方,而不管你在哪里。与在一系列窗口中浏览你电脑上的所有文件夹以找到一个文件,然后打开一个新窗口到你想让该文件去的地方,再拖动该文件相比,这可以大大节省时间。

默认情况下,mv 命令完全按照它被告知的那样做:它将一个文件从一个位置移动到另一个位置。如果在目标位置已经存在一个同名的文件,它将被覆盖。为了防止文件在没有警告的情况下被覆盖,请使用 --interactive(或简写 -i)选项。

$ mv -i example.txt ~/Documents
mv: overwrite '/home/tux/Documents/example.txt'?

via: https://opensource.com/article/21/8/move-files-linux

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

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

学习 kubectl,提升你与 Kubernetes 的互动方式。

 title=

Kubernetes 可以帮你编排运行有大量容器的软件。Kubernetes 不仅提供工具来管理(或者说 编排)运行的容器,还帮助这些容器根据需要进行扩展。有了 Kubernetes 作为你的中央 控制面板 control panel (或称 控制平面 control plane ),你需要一种方式来管理 Kubernetes,而这项工作的工具就是 kubectl。kubectl 命令让你控制、维护、分析和排查 Kubernetes 集群的故障。与许多使用 ctl(“控制”的缩写)后缀的工具一样,如 systemctlsysctlkubectl 拥有大量的功能和任务权限,所以如果你正在运行 Kubernetes,你肯定会经常使用它。它是一个拥有众多选项的命令,所以下面是 kubectl 中简单易用的五个常见任务。

1、列出并描述资源

按照设计,容器往往会成倍增加。在某些条件下,它们可以快速增加。如果你只能通过 podman psdocker ps 来查看正在运行的容器,这可能会让你不知所措。通过 kubectl getkubectl describe,你可以列出正在运行的 吊舱 pod 以及它们正在处理的容器信息。更重要的是,你可以通过使用 --namespacename--selector等选项,只列出所需信息。

get 子命令不仅仅对吊舱和容器有用。它也有关于节点、命名空间、发布、服务和副本的信息。

2、创建资源

如果你只通过类似 OpenShift、OKD 或 Kubernetes 提供的 Web 用户界面(UI)创建过发布,但你想从 Linux 终端控制你的集群,那么可以使用 kubectl createkubectl create 命令并不只是实例化一个新的应用发布。Kubernetes 中还有很多其他组件可以创建,比如服务、配额和 计划任务

Kubernetes 中的计划任务可以创建一个临时的吊舱,用来在你选择的时间表上执行一些任务。它们并不难设置。下面是一个计划任务,让一个 BusyBox 镜像每分钟打印 “hello world”。

$ kubectl create cronjob \
    hello-world \
    --image=busybox \
    --schedule="*/1 * * * *" -- echo "hello world"

3、编辑文件

Kubernetes 中的对象都有相应的配置文件,但在文件系统中查找相应的文件较为麻烦。有了 kubectl edit,你可以把注意力放在对象上,而不是定义文件上。你可以通过 kubectl 找到并打开文件(通过 KUBE_EDITOR 环境变量,你可以设置成你喜欢的编辑器)。

$ KUBE_EDITOR=emacs \
    kubectl edit cronjob/hello-world

4、容器之间的传输文件

初次接触容器的人往往对无法直接访问的共享系统的概念感到困惑。他们可能会在容器引擎或 kubectl 中了解到 exec 选项,但当他们不能从容器中提取文件或将文件放入容器中时,容器仍然会显得不透明。使用 kubectl cp 命令,你可以把容器当做远程服务器,使主机和容器之间文件传输如 SSH 命令一样简单:

$ kubectl cp foo my-pod:/tmp

5、应用变更

对 Kubernetes 对象进行修改,可以通过 kubectl apply 命令完成。你所要做的就是将该命令指向一个配置文件:

$ kubectl apply -f ./mypod.json

类似于运行 Ansible 剧本或 Bash 脚本,apply 使得快速“导入”设置到运行中的 Kubernetes 实例很容易。例如,GitOps 工具 ArgoCD 由于 apply 子命令,安装起来出奇地简单:

$ kubectl create namespace argocd
$ kubectl apply -n argocd \
    -f https://raw.githubusercontent.com/argoproj/argo-cd/vx.y.z/manifests/install.yaml

使用 kubectl

Kubectl 是一个强大的工具,由于它是一个终端命令,它可以写成脚本,并能实现用众多 Web UI 无法实现的功能。学习 kubectl 是进一步了解 Kubernetes、容器、吊舱以及围绕这些重要的云计算创新技术的一个好方法。下载我们的 kubectl 速查表,以获得快速参考,其中包括命令示例,以帮助你学习,并在为你提供注意细节。


via: https://opensource.com/article/21/7/kubectl

作者:Alan Smithee 选题:lujun9972 译者:geekpi 校对:turbokernel

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

学习在 Linux 终端中从一个目录切换到另一个目录。

 title=

要在图形界面中浏览你的计算机上的文件夹,你可能习惯于打开一个窗口来“进入”你的计算机,然后双击一个文件夹,再双击一个子文件夹,如此反复。你也可以使用箭头按钮或按键来回溯。

而要在终端中浏览你的计算机,你可以利用 cd 命令。你可以使用 cd .. 回到 上一级 目录,或者使用 cd ./另一个/文件夹的/路径 来跳过许多文件夹进入一个特定的位置。

你在互联网上已经使用的 URL 的概念,实际上直接来自 POSIX。当你浏览某个网站的一个特定页面时,比如 http://www.example.com/tutorials/lesson2.html,你实际上做的是进入 /var/www/imaginarysite/tutorials/ 目录,并打开一个叫 classic2.html 的文件。当然,你是在 Web 浏览器中打开它的,浏览器会将所有那些看起来奇怪的 HTML 代码解释成漂亮的文本和图片。但这两者的思路是完全一样的。

如果你把你的计算机看成是互联网(或者把互联网看成是计算机会更合适),那么你就能理解如何在你的文件夹和文件中遨游了。如果从你的用户文件夹(你的家目录,或简记为 ~)开始,那么你想切换到的文件夹都是相对于这个文件夹而言的:

$ cd ~/Documents
$ pwd
/home/tux/Documents

$ cd ..
$ pwd
/home/tux

这需要一些练习,但一段时间后,它会变得比你打开和关闭窗口、点击返回按钮和文件夹图标快得多。

用 Tab 键自动补全

键盘上的 Tab 键可以自动补全你开始输入的文件夹和文件的名字。如果你要 cd~/Documents 文件夹,那么你只需要输入 cd ~/Doc,然后按 Tab 键即可。你的 Shell 会自动补全 uments。这不仅仅是一个令人愉快的便利工具,它也是一种防止错误的方法。如果你按下 Tab 键而没有任何东西自动补全,那么可能你 认为 存在于某个位置的文件或文件件实际上并不存在。即使有经验的 Linux 用户也会试图切换到一个当前目录下不存在的文件夹,所以你可以经常使用 pwdls 命令来确认你确实在你认为你在的目录、以及你的当前目录确实包含了你认为它包含的文件。


via: https://opensource.com/article/21/8/navigate-linux-directories

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

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