在centos控制台展示图片


写在前面

云服务器都只有控制台,如何在控制台展示图片呢?之前在mac book上安装过imgcat程序,可以在控制台看图片。那能不能在云服务器上安装imgcat呢?

在网上找了一下资料,是可以的,只是不能直接安装imgcat,需要先安装snaps

什么是snap

snap是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间。

Snap的安装包扩展名是.snap,类似于一个容器,它包含一个应用程序需要用到的所有文件和库(snap包包含一个私有的root文件系统,里面包含了依赖的软件包)。它们会被安装到单独的目录;各个应用程序之间相互隔离。使用snap有很多好处,首先它解决了软件包的依赖问题;其次,也使应用程序更容易管理。

现在支持snap的应用并不多,snap软件包一般安装在/snap目录下

安装

安装EPEL

sudo yum install epel-release
[root@VM-16-10-centos source]# sudo yum install epel-release
已加载插件:fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
软件包 epel-release-7-14.noarch 已安装并且是最新版本
无须任何处理

安装snapd

sudo yum install snapd
[root@VM-16-10-centos source]# sudo yum install snapd
已加载插件:fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
正在解决依赖关系
There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
--> 正在检查事务
---> 软件包 snapd.x86_64.0.2.61.2-0.el7 将被 安装
--> 正在处理依赖关系 snap-confine(x86-64) = 2.61.2-0.el7,它被软件包 snapd-2.61.2-0.el7.x86_64 需要
--> 正在处理依赖关系 snapd-selinux = 2.61.2-0.el7,它被软件包 snapd-2.61.2-0.el7.x86_64 需要
--> 正在处理依赖关系 fuse,它被软件包 snapd-2.61.2-0.el7.x86_64 需要
--> 正在处理依赖关系 squashfs-tools,它被软件包 snapd-2.61.2-0.el7.x86_64 需要
--> 正在处理依赖关系 squashfuse,它被软件包 snapd-2.61.2-0.el7.x86_64 需要
--> 正在检查事务
---> 软件包 fuse.x86_64.0.2.9.2-11.el7 将被 安装
---> 软件包 snap-confine.x86_64.0.2.61.2-0.el7 将被 安装
---> 软件包 snapd-selinux.noarch.0.2.61.2-0.el7 将被 安装
---> 软件包 squashfs-tools.x86_64.0.4.3-0.21.gitaae0aff4.el7 将被 安装
---> 软件包 squashfuse.x86_64.0.0.1.102-1.el7 将被 安装
--> 正在处理依赖关系 squashfuse-libs(x86-64) = 0.1.102-1.el7,它被软件包 squashfuse-0.1.102-1.el7.x86_64 需要
--> 正在处理依赖关系 libfuseprivate.so.0()(64bit),它被软件包 squashfuse-0.1.102-1.el7.x86_64 需要
--> 正在处理依赖关系 libsquashfuse.so.0()(64bit),它被软件包 squashfuse-0.1.102-1.el7.x86_64 需要
--> 正在处理依赖关系 libzstd.so.1()(64bit),它被软件包 squashfuse-0.1.102-1.el7.x86_64 需要
--> 正在检查事务
---> 软件包 libzstd.x86_64.0.1.5.5-1.el7 将被 安装
---> 软件包 squashfuse-libs.x86_64.0.0.1.102-1.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

==========================================================
 Package         架构   版本                   源    大小
==========================================================
正在安装:
 snapd           x86_64 2.61.2-0.el7           epel  18 M
为依赖而安装:
 fuse            x86_64 2.9.2-11.el7           os    86 k
 libzstd         x86_64 1.5.5-1.el7            epel 292 k
 snap-confine    x86_64 2.61.2-0.el7           epel 3.8 M
 snapd-selinux   noarch 2.61.2-0.el7           epel 558 k
 squashfs-tools  x86_64 4.3-0.21.gitaae0aff4.el7
                                               os   101 k
 squashfuse      x86_64 0.1.102-1.el7          epel  18 k
 squashfuse-libs x86_64 0.1.102-1.el7          epel  24 k

事务概要
==========================================================
安装  1 软件包 (+7 依赖软件包)

总下载量:22 M
安装大小:60 M
Is this ok [y/d/N]: y
Downloading packages:
(1/8): fuse-2.9.2-11.el7.x86_64.rpm  |  86 kB   00:00
(2/8): libzstd-1.5.5-1.el7.x86_64.rp | 292 kB   00:00
(3/8): snap-confine-2.61.2-0.el7.x86 | 3.8 MB   00:00
(4/8): snapd-selinux-2.61.2-0.el7.no | 558 kB   00:00
(5/8): squashfuse-0.1.102-1.el7.x86_ |  18 kB   00:00
(6/8): squashfuse-libs-0.1.102-1.el7 |  24 kB   00:00
(7/8): squashfs-tools-4.3-0.21.gitaa | 101 kB   00:00
(8/8): snapd-2.61.2-0.el7.x86_64.rpm |  18 MB   00:00
----------------------------------------------------------
总计                          20 MB/s |  22 MB  00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : snapd-selinux-2.61.2-0.el7.noarch     1/8
  正在安装    : libzstd-1.5.5-1.el7.x86_64            2/8
  正在安装    : squashfs-tools-4.3-0.21.gitaae0aff4   3/8
  正在安装    : fuse-2.9.2-11.el7.x86_64              4/8
  正在安装    : snap-confine-2.61.2-0.el7.x86_64      5/8
  正在安装    : squashfuse-libs-0.1.102-1.el7.x86_6   6/8
  正在安装    : squashfuse-0.1.102-1.el7.x86_64       7/8
  正在安装    : snapd-2.61.2-0.el7.x86_64             8/8
  验证中      : squashfuse-libs-0.1.102-1.el7.x86_6   1/8
  验证中      : snap-confine-2.61.2-0.el7.x86_64      2/8
  验证中      : fuse-2.9.2-11.el7.x86_64              3/8
  验证中      : squashfs-tools-4.3-0.21.gitaae0aff4   4/8
  验证中      : libzstd-1.5.5-1.el7.x86_64            5/8
  验证中      : snapd-2.61.2-0.el7.x86_64             6/8
  验证中      : snapd-selinux-2.61.2-0.el7.noarch     7/8
  验证中      : squashfuse-0.1.102-1.el7.x86_64       8/8

已安装:
  snapd.x86_64 0:2.61.2-0.el7

作为依赖被安装:
  fuse.x86_64 0:2.9.2-11.el7
  libzstd.x86_64 0:1.5.5-1.el7
  snap-confine.x86_64 0:2.61.2-0.el7
  snapd-selinux.noarch 0:2.61.2-0.el7
  squashfs-tools.x86_64 0:4.3-0.21.gitaae0aff4.el7
  squashfuse.x86_64 0:0.1.102-1.el7
  squashfuse-libs.x86_64 0:0.1.102-1.el7

完毕!

添加snap启动通信 socket

sudo systemctl enable --now snapd.socket
[root@VM-16-10-centos source]# sudo systemctl enable --now snapd.socket
Created symlink from /etc/systemd/system/sockets.target.wants/snapd.socket to /usr/lib/systemd/system/snapd.socket.

创建链接

snap软件包一般安装在/snap目录下

ln -s /var/lib/snapd/snap /snap
[root@VM-16-10-centos source]# sudo ln -s /var/lib/snapd/snap /snap

安装imgcat

sudo snap install imgcat
[root@VM-16-10-centos source]# sudo snap install imgcat
2024-03-15T13:15:36+08:00 INFO Waiting for automatic snapd
restart...
2024-03-15T13:15:37+08:00 INFO Waiting for automatic snapd
restart...
imgcat 1.0.20 from Daniel Gatis Carrazzoni (danielgatis) installed

至此imgcat已安装完成,退出terminal重新进入,就可以使用了

参考

[1]Install imgcat on CentOS

[2]centos 7 新一代包管理工具 snap 安装部署


文章作者: Alex
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Alex !
  目录