ubuntu安装Calibre

想在ubuntu上看电子书,翻了下推介,选择装Calibre。
访问官网
推荐二进制安装。
于是ctrl+alt+t

sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin

把命令贴进去,回车。
报错

Using python executable: /usr/bin/python3
2024-12-05 08:48:32 URL:https://download.calibre-ebook.com/linux-installer.sh [35050/35050] -> "-" [1]
You are missing the system library libxcb-cursor.so.0. Try installing packages such as libxcb-cursor0 or xcb-cursor

看样子是缺系统库。
丢给AI,获得提示:

sudo apt-get update
sudo apt-get install libxcb-cursor0

再贴到终端,执行。

bash
$ sudo apt-get install libxcb-cursor0
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
下列【新】软件包将被安装:
  libxcb-cursor0
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 52 个软件包未被升级。
需要下载 10.7 kB 的归档。
解压缩后会消耗 39.9 kB 的额外空间。
获取:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/universe amd64 libxcb-cursor0 amd64 0.1.4-1build1 [10.7 kB]
已下载 10.7 kB,耗时 0秒 (22.2 kB/s)      
正在选中未选择的软件包 libxcb-cursor0:amd64。
(正在读取数据库 ... 系统当前共安装有 260931 个文件和目录。)
准备解压 .../libxcb-cursor0_0.1.4-1build1_amd64.deb  ...
正在解压 libxcb-cursor0:amd64 (0.1.4-1build1) ...
正在设置 libxcb-cursor0:amd64 (0.1.4-1build1) ...
正在处理用于 libc-bin (2.39-0ubuntu8.3) 的触发器 ...
Scanning processes...                                                           
Scanning processor microcode...                                                 
Scanning linux images...                                                        
Running kernel seems to be up-to-date.
The processor microcode seems to be up-to-date.

再次安装

$ sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
Using python executable: /usr/bin/python3
2024-12-05 08:50:05 URL:https://download.calibre-ebook.com/linux-installer.sh [35050/35050] -> "-" [1]
Installing to /opt/calibre
Downloading tarball signature securely...
Will download and install calibre-7.22.0-x86_64.txz 
                     Downloading calibre-7.22.0-x86_64.txz                      
 41% [============================------------------------------------------]

等待进度条。
等待期间,研究下二进制安装命令。
继续丢给AI。

sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
解释一下这段指令

sudo -v:
    这个命令会提示用户输入当前用户的 sudo 密码,以验证用户是否有权限执行需要超级用户权限的操作。-v 选项会更新用户的 timestamp(即延长了用户使用 sudo 的无密码期),而不实际运行任何命令。

&&:
    这是一个逻辑运算符,表示“与”。它将两个命令连接起来,并确保只有当左边的命令成功执行后(返回状态为0),右边的命令才会被执行。

wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh:
     wget 是一个从网络下载文件的工具。
     -nv 表示“不显示进度条”,也就是静默模式,只打印重要的信息。
     -O- 指定输出文件名为 -,这通常意味着标准输出(stdout)。所以这里的意思是将下载的内容直接输出到终端而不是保存到文件中。
     https://download.calibre-ebook.com/linux-installer.sh 是要下载的 Calibre 安装脚本的 URL。

| (管道):
    管道符号将前一个命令的标准输出作为下一个命令的标准输入。在这个例子中,它将 wget 下载的内容(即安装脚本)传递给下一条命令。

sudo sh /dev/stdin:
    sudo 再次被用来提升权限,以便可以执行可能需要管理员权限的操作。
    sh 是启动 shell 解释器的命令,它用于运行 shell 脚本。
    /dev/stdin 是一个特殊的文件,代表标准输入。在这里,它告诉 sh 读取来自管道的数据并将其当作脚本来执行。

综上所述,这条指令的作用是以超级用户权限验证后,通过 wget 静默地下载 Calibre 的安装脚本,并立即将该脚本的内容通过管道传递给 sh 来执行,从而完成 Calibre 的安装过程。这种方式常用于自动化安装或部署过程中。

wget的参数-nv不是不显示进度条么?那怎么会有进度条呢?
再细看一下,是下载linux-installer.sh这个安装脚本的时候不显示进度条。而上面看到的进度条,应该是这个.sh脚本里面的下载时候的进度显示。
再单独下载linux-installer.sh打开看了下,感觉超过能力范围了......
回头看安装进度。

Downloading calibre-7.22.0-x86_64.txz                      
100% [======================================================================]
                                                                                Downloaded 183175740 bytes 
Checking downloaded file integrity... 
Extracting files to /opt/calibre ...
Extracting application files... 
Creating symlinks...
	Symlinking /opt/calibre/ebook-device to /usr/bin/ebook-device
	Symlinking /opt/calibre/ebook-meta to /usr/bin/ebook-meta
	Symlinking /opt/calibre/ebook-convert to /usr/bin/ebook-convert
	Symlinking /opt/calibre/ebook-polish to /usr/bin/ebook-polish
	Symlinking /opt/calibre/markdown-calibre to /usr/bin/markdown-calibre
	Symlinking /opt/calibre/web2disk to /usr/bin/web2disk
	Symlinking /opt/calibre/calibre-server to /usr/bin/calibre-server
	Symlinking /opt/calibre/lrf2lrs to /usr/bin/lrf2lrs
	Symlinking /opt/calibre/lrs2lrf to /usr/bin/lrs2lrf
	Symlinking /opt/calibre/calibre-debug to /usr/bin/calibre-debug
	Symlinking /opt/calibre/calibredb to /usr/bin/calibredb
	Symlinking /opt/calibre/calibre-parallel to /usr/bin/calibre-parallel
	Symlinking /opt/calibre/calibre-customize to /usr/bin/calibre-customize
	Symlinking /opt/calibre/fetch-ebook-metadata to /usr/bin/fetch-ebook-metadata
	Symlinking /opt/calibre/calibre-smtp to /usr/bin/calibre-smtp
	Symlinking /opt/calibre/calibre to /usr/bin/calibre
	Symlinking /opt/calibre/lrfviewer to /usr/bin/lrfviewer
	Symlinking /opt/calibre/ebook-viewer to /usr/bin/ebook-viewer
	Symlinking /opt/calibre/ebook-edit to /usr/bin/ebook-edit
Setting up command-line completion...
Installing zsh completion to: /usr/share/zsh/vendor-completions/_calibre
Installing bash completion to: /usr/share/bash-completion/completions/
Setting up desktop integration...
Creating un-installer: /usr/bin/calibre-uninstall
Run "calibre" to start calibre 

发现已经安装完成。
今次CV工作完成。

posted @ 2024-12-05 09:19  科里布  阅读(22)  评论(0编辑  收藏  举报