Linux环境下安装Calibre & 源代码编译

Posted 小哈里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux环境下安装Calibre & 源代码编译相关的知识,希望对你有一定的参考价值。

文章目录

1、Calibre安装

  • 官网安装方案:
    https://calibre-ebook.com/zh_CN/download_linux

    # 1. 在线安装
    # 二进制安装
    sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
    # 修改默认安装路径(/opt)
    sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin install_dir=/opt
    
    # 2. 离线安装
    # 历史版本安装包下载
    https://download.calibre-ebook.com/
    # 手动二进制安装
    sudo mkdir -p /opt/calibre && sudo rm -rf /opt/calibre/* && sudo tar xvf /path/to/downloaded/calibre-tarball.txz -C /opt/calibre && sudo /opt/calibre/calibre_postinstall
    
  • 依赖项安装
    安装 xdg-utils, wget, xz-utils 和 python ≥ 2.6版。
    您需要GLIBC 2.18或更高版本和 libstdc++.so.6.0.21(来自GCC 5.4.0)或更高版本。

    关于libstdc++.so解决
    https://cloud.tencent.com/developer/article/1668837
    
    # 1. 获取高版本的libstdc++库, 在整个系统中find一下
    find / -name libstdc++.so.6*
    
    # 2. 更新目标目录下的libstdc++库(就是复制一个新的过去)
    cp /usr/local/qcloud/stargate/lib/libstdcxx-arm64/libstdc++.so.6.0.24 /lib64/
    
    # 3. 删掉旧的版本
    sudo rm libstdc++.so.6
    
    # 4. 创建软连接
    ln -s libstdc++.so.6.0.24 libstdc++.so.6
    
    关于py3.8+或py2.7+安装
    https://cloud.tencent.com/developer/article/1693084
    https://www.jianshu.com/p/e07fc84bb879
    https://www.cnblogs.com/suli0827/p/14873798.html
    https://www.jianshu.com/p/f42cdca948de
    
    # 1. 安装相关依赖
    yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
    yum install gcc -y
    
    # 2. 下载安装包并解压到安装目录
    wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
    mv Python-3.7.4.tgz /usr/local/
    mkdir /usr/local/python3
    cd /usr/local/
    tar -xvf Python-3.7.4.tgz
    cd /usr/local/Python-3.7.4/
    
    # 3. 编译源码 & 执行源码安装
    make
    make install
    ln -s /usr/local/python3/bin/python3  /usr/bin/python3
    python3 --version
    
    # 4. 设置python3为默认版本 ( 软连接 + 环境变量 )
    rm -f /usr/bin/python
    ln -s /usr/local/python3/bin/python3 /usr/bin/python
    echo "export PATH=/usr/local/python3/bin/python3:$PATH" >> /etc/profile
    source /etc/profile
    
    关于依赖包:xdg-utils, wget, xz-utils
    https://cloud.tencent.com/developer/article/1829236
    https://www.365seal.com/y/LQn5BKL9vl.html
    https://www.zkii.net/system/environment/3044.html
    https://segmentfault.com/a/1190000019809118
    https://zhousiwei.gitee.io/2019/06/24/Linux%E4%B8%8B%E5%AE%89%E8%A3%85calibre-ebook/
    https://cloud.tencent.com/developer/article/1829236
    
    # 能装多少是多少吧,失败了后面我们手动安装
    yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make xdg-utils wget qt4 qt4-devel qt4-x11 libpcap-devel xz-devel -y
    
    
  • 关于部分失败的依赖,手动安装

    关于ebook-convert
    https://ubuntuqa.com/article/7904.html
    您可能考虑的第一个工具是ebook-convert。该工具在Fedora,CentOS和Redhat Linux的名为package的软件包下可用。
    
    # 1.安装ebook-tools包运行以下命令:
    yum install ebook-tools
    
    # 2.一个搜索离线安装包的神器(以下为ebook-tools及其依赖项的离线包)
    https://centos.pkgs.org/8/raven-extras-x86_64/ebook-tools-0.2.2-20.el8.x86_64.rpm.html
    https://pkgs.org/download/libzip.so.5()(64bit)
    https://pkgs.org/download/libepub.so.0()(64bit)
    https://centos.pkgs.org/8/raven-extras-x86_64/ebook-tools-libs-0.2.2-20.el8.x86_64.rpm.html
    
    # 3. yum离线安装本地包
    yum localinstall libzip-1.6.1-1.module_el8.3.0+396+9a0d79d6.x86_64.rpm
    yum localinstall ebook-tools-libs-0.2.2-20.el8.x86_64.rpm
    yum localinstall ebook-tools-0.2.2-20.el8.x86_64.rpm
    
    # 4.测试是否成功
    ebook-convert
    
    关于yum命令
    
    # 1. 关于yum换源
    https://blog.csdn.net/wudinaniya/article/details/105758739
    https://zhuanlan.zhihu.com/p/92503443
    https://www.jianshu.com/p/c22faafc7b8b
    https://segmentfault.com/a/1190000039292742
    # 下载新的源
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    # 生成缓存
    yum makecache
    # 创建 /etc/yum.repos.d/
    touch /etc/yum.repos.d/CentOS-Base.repo
    # 写入配置
    [base]
    name=CentOS-$releasever - Base
    baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
     
    #released updates
    [updates]
    name=CentOS-$releasever - Updates
    baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
     
    #additional packages that may be useful
    [extras]
    name=CentOS-$releasever - Extras
    baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
     
    #additional packages that extend functionality of existing packages
    [centosplus]
    name=CentOS-$releasever - Plus
    baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
    gpgcheck=1
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
    
    # 2. 关于yum指定源仓库或rpm下载
    yum install ebook-tools --enablerepo=https://pkgs.dyn.su/el8/extras/x86_64/ebook-tools-0.2.2-20.el8.x86_64.rpm
    yum install https://pkgs.dyn.su/el8/extras/x86_64/ebook-tools-0.2.2-20.el8.x86_64.rpm
    yum --enablerepo=raven-extras install ebook-tools
    

2、Calibre编译&使用

  • calibre开源地址:https://github.com/kovidgoyal/calibre
    ebook-convert开源地址:https://github.com/EsotericAlgorithm/ebook-convert

  • 一些使用calibre的开源项目
    Go:https://github.com/TruthHun/converter
    JS:https://github.com/sethvincent/ebook-convert

  • 源代码研究


  • ebook-convert命令详解
    https://bookfere.com/post/642.html

    # 1. 转换一个文件
    ebook-convert example.epub example.mobi
    ebook-convert example.epub .mobi
    
    # 2. 查看输入文件格式 TXT 和输出文件格式 MOBI 相关的可选项及其详细说明
    ebook-convert example.txt example.mobi -h
    
    输入格式选项:
        处理输入文件 pdf 的选项设置
    
        --input-encoding=INPUT_ENCODING
                            指定输入文件的编码格式。该设置将覆盖文档声明的编码格式。该设置对于未声明编码格式和错误编码格式的输入文件处理
                            十分有用。
    
        --new-pdf-engine    使用新 PDF 转换引擎。现在未操作。
    
        --no-images         不从文件中提取图片
    
        --unwrap-factor=UNWRAP_FACTOR
                            用于决定一行文字是否可能为段落内换行的因子。有效值为 01 之间的小数。默认值是
                            0.45,略小于半行的长度。
    
    
      输出格式选项:
        处理输出 epub 的选项设置
    
        --epub-version=EPUB_VERSION
                            要生成的 EPUB 文件版本。EPUB 2 是最具广泛兼容性的,只有在你确实需要的情况下才使用 EPUB
                            3--epub-toc-at-end   在书籍的末尾插入内嵌目录,而不是书开头。
    
        --extract-to=EXTRACT_TO
                            解压EPUB文件的内容到指定文件夹。请注意,该文件夹的内容会先被清空。
    
        --no-default-epub-cover
                            正常情况下,如导入的文件无封面并且你也未指定,则会生成一张带有书名、作者等信息的默认封面。选定此选项可以禁止
                            生成默认封面。
    
        --dont-split-on-page-breaks
                            关闭按分页符切割. 默认情况下, 程序会按分页符将输入文件切切分为多个文件.
                            由此程序可以使用较少的计算机资源来解析和输出结果. 当然切分操作会增加处理时间,
                            如果输入文件含有较多的分页符, 请关闭此功能.
    
        --epub-flatten      仅在你需要使用 FBReaderJ 阅读 EPUB 文件时使用本选项。启用本选项会消除 EPUB
                            文件中的目录结构,把所有文件放到同一层目录中。
    
        --toc-title=TOC_TITLE
                            生成的行内目录标题。
    
        --flow-size=FLOW_SIZE
                            将大于该大小 (以KB为单位)
                            的HTML文件切分。由于很多EPUB阅读器无法打开巨大的文件,故此功能十分有用。默认值 260KB
                            是Adobe Digital Editions 的文件大小要求。设置为0来禁用大小为基准的切分。
    
        --no-svg-cover      请不要使用 SVG 作为书籍封面。如果你打算将 EPUB 文件用到不支持 SVG 格式的设备(像
                            iPhone 或 JetBook
                            Lite)上的话,请使用该选项。不选中此选项的话,这类设备将只能显示封面为一个空白页。
    
        --preserve-cover-aspect-ratio
                            当使用 SVG 封面时,该选项会导致封面平铺满有效的屏幕区字段,但仍会保持它的纵宽比(宽度和高度的比例)。意
                            思就是说,这可能会在图像顶边或底边处产生空白边界,但是图像本身不会被扭曲变形。不选该选项的话,图像可能会产生
                            轻微的扭曲变形,但优点是不会出现空白边界。
    
        --pretty-print      如果开启本选项,输出插件将尽量生成可读的输出内容。对于某些输出插件本选项可能不起作用。
    
        --epub-inline-toc   插入的一个内嵌内容的表格会作为图书主内容的一部分出现。
    
    
      界面外观:
        输出的界面外观选项设置
    
        --base-font-size=BASE_FONT_SIZE
                            PTS中的基本字体大小。在生成的书籍中所有的字体尺寸将基于这个大小重新缩放。通过选择更大的尺寸,可以使输出中
                            的字体更大,反之亦然。默认情况下,当值为0时,根据你选择的输出配置文件选择基本字体大小。
    
        --disable-font-rescaling
                            关闭字体缩放功能。
    
        --font-size-mapping=FONT_SIZE_MAPPING
                            将CSS字体名称映射为以pts为单位的字体大小. 例如12,12,14,16,18,20,22,24.
                            这些设置是从xx-small到xx-large的对应映射, 最后的大小作为做对应的最大字体的映射.
                            程序用这些尺寸进行只能文字字体缩放. 程序默认使用输出配置文件中指定的映射关系.
    
        --embed-font-family=EMBED_FONT_FAMILY
                            在书中嵌入指定字体。这指定了书中使用的“基础”字体。如果输入文件自己指定了字体,就有可能覆盖这个基础字体。你
                            可以使用过滤样式信息的选项来去除输入文件的字体。注意,字体嵌入只在一些输出格式中有用,主要是
                            EPUB、AZW3 和 DOCX。
    
        --subset-embedded-fonts
                            嵌入所有字体中用到的字。每种嵌入字体缩减到只包含文档中用到的字型。这能减小字体文件的体积。在嵌入某个特别大的
                            ,包含大量未使用字的字体时有用(如中文)--embed-all-fonts   嵌入输入文档中引用到但未嵌入的字体。软件会在你的系统中查找这些字体,找到了就嵌入。字体嵌入只有当你的目的格式
                            支持才有用,例如 EPUB、AZW3、DOCX 和 PDF。请保证你拥有在文档中嵌入字体的合适授权。
    
        --line-height=LINE_HEIGHT
                            pt
                            行高。控制两行高度距离。仅仅适用于未定义行高的元素。大多数情况下,最小行高值更加有用。默认不进行行高操控。
    
        --minimum-line-height=MINIMUM_LINE_HEIGHT
                            最小行高,元素字体计算值的百分比。calibre
                            将保证行中所有元素至少有此高度,无论输入文档如何定义。设为零即禁用。默认
                            120%。首选项中也有此设定,请注意。否则可能出现双倍行高,达 240%--linearize-tables  一些布局不佳的源文件使用表格来设置页面布局可能会导致输出文件中的正文超过页面范围。本选项设定程序将内容从表格
                            中提取出并以线型布局排列输出。
    
        --transform-html-rules=TRANSFORM_HTML_RULES
                            包含转换本书中的HTML的规则的文件的路径。创建这样一个文件的最简单方法是在 calibre图形用户界面中使                        用向导创建规则。在“外观->转换HTML”的转换对话框部分访问它。一旦创建规则,就可以使用“导出”按钮将它们
                            保存到文件中。
    
        --extra-css=EXTRA_CSS
                            CSS 样式表或原始 CSS 文件路径。该 CSS
                            样式表将会被添加到源文件的样式规则中,它可以覆盖输入文件中已定义的相同样式。
    
        --filter-css=FILTER_CSS
                            以逗号分隔的 CSS 属性列表,将移除所有 CSS 样式规则。这是非常有用的,如果存在的一些样式信息,防止覆
                            盖你的的设备上的样式信息。例如:字体系列,颜色,左边距,右边距
    
        --transform-css-rules=TRANSFORM_CSS_RULES
                            包含转换本书中CSS样式规则的文件路径。创建这样一个文件的最简单方法是在 calibre
                            GUI中使用向导创建规则。在“界面外观->转换风格”的转换对话框部分访问它。
                            一旦创建规则,就可以使用“导出”按钮将它们保存到文件中。
    
        --expand-css        默认情况下,calibre 将使用各种CSS属性的简写形式,如边距、填充、边框等。此选项将使用完整的展开形式
                            。注意,在生成EPUB文件时,由于Nook不能处理速记CSS,所以将输出配置文件设置为Nook配置文件中的一
                            个,CSS总是被展开的。
    
        --smarten-punctuation
                            将普通引号、破折号和省略号转换为与它们对应的正确印刷体。有关详细信息, 请参阅
                            https://daringfireball.net/projects/smartypants。
    
        --unsmarten-punctuation
                            转换各种形式的引号、破折号和省略号到它们的标准形式。
    
        --margin-top=MARGIN_TOP
                            设定上边距,单位pts。默认为 5.0。如果设置为负值表示不使用页边距(保留使用原始文档的页边距)。提示:页
                            面原始格式如PDF和docx有自己优先的边距设置。
    
        --margin-left=MARGIN_LEFT
                            设定左边距,单位pts。默认为 5.0。如果设置为负值表示不使用页边距(保留使用原始文档的页边距)。提示:页
                            面原始格式如PDF和docx有自己优先的边距设置。
    
        --margin-right=MARGIN_RIGHT
                            设置右边距,单位pts,默认为 5.0。如果设置为负值表示不使用页边距(保留使用原始文档的页边距)。提示:页
                            面原始格式如PDF和docx有自己优先的边距设置。
    
        --margin-bottom=MARGIN_BOTTOM
                            设定下边距,单位pts。默认为 5.0。如果设置为负值表示不使用页边距(保留使用原始文档的页边距)。提示:页
                            面原始格式如PDF和docx有自己优先的边距设置。
    
        --change-justification=CHANGE_JUSTIFICATION
                            更改文本对齐方式。 使用值"left" 将转换资源中所有的文本为左对齐。 (如:未对齐)
                            使用值"justify" 将转换资源中所有的未对齐的文本为对齐。使用值"original"(默认)则不更改源
                            文件的对齐方式。请注意,仅部分输出格式支持对齐方式。
    
        --insert-blank-line
                            在章节之间插入空行. 如果源文件不使用章节标记 (<p><div> 标记) 本选项将不起作用。
    
        --insert-blank-line-size=INSERT_BLANK_LINE_SIZE
                            设置插入的空白行的高度(单位:em)。段落间的空行高度会是两倍于这个设置值。
    
        --remove-paragraph-spacing
                            移除段落之间的空行. 同时设置段落缩进为1.5em. 如果源文件不使用段落标记
                            (<p>或者<div>标签)程序将不执行段落空行移除.
    
        --remove-paragraph-spacing-indent-size=REMOVE_PARAGRAPH_SPACING_INDENT_SIZE
                            当 calibre
                            删除段落之间空行时,它会自动设置一个段落缩进,以确保轻松区分段落。此选项控制缩进的宽度(单位
                            em)。如果你将此值设置为负数,则使用输入文件中自身定义的缩进,换句话说就是 calibre
                            不进行缩进处理。
    
        --asciiize          Transliterate Unicode characters to an ASCII
                            representation. Use with care because this will
                            replace Unicode characters with ASCII. For instance it
                            will replace "Pelé" with "Pele". Also, note that in
                            cases where there are multiple representations of a
                            character (characters shared by Chinese and Japanese
                            for instance) the representation based on the current
                            calibre interface language will be used.
    
        --keep-ligatures    保留输入文档中的“印刷连字”。所谓“印刷连字”是指对于ff, fi, fl之类的字母组合的一种特殊的展示方式
                            。大部分阅读器在使用默认字体时无法支持“印刷连字”,所以常常无法正常显示。默认情况下,calibre
                            会把“印刷连字”转换成对应的字母组合。本选项用于选择保留“印刷连字”。
    
    
      启发式处理:
        使用常见模式修改文档内容与结构。默认禁用。使用 --enable-heuristics 启用该功能。具体选项可以通过 --disable-*
        参数禁用。
    
        --enable-heuristics
                            启用智能处理。在需要使用任何智能处理选项时都必须先启用这个选项。
    
        --disable-markup-chapter-headings
                            检测未格式化的章节标题和子标题。把它们从二级标题 (<h2>) 标签转换为三级标题 (<h3>)
                            标签。这个选项不会创建目录,但可以与文档结构检测功能一起使用并创建目录。
    
        --disable-italicize-common-cases
                            寻找用于表示斜体的常见的词语或模式并把它转换为斜体。
    
        --disable-fix-indents
                            把多个空格构成的段落缩进转换为 CSS 控制的缩进。
    
        --html-unwrap-factor=HTML_UNWRAP_FACTOR
                            决定一行字符是否能成为一个新的段落的因子,有效值为 01 之间的小数,默认值是
                            0.4,即略小于半行的长度。如果文档中只有很少的行需要消除段落内换行,应当减小这个设置值。
    
        --disable-unwrap-lines
                            决定某行是否为段落内的换行时,使用标点符号和其它格式做为线索。
    
        --disable-delete-blank-paragraphs
                            移除文档中每个段落间的空白段落。
    
        --disable-format-scene-breaks
                            对齐左对齐的小节分节符。把多个空白行表示小节分节符替换为水平横线。
    
        --disable-dehyphenate
                            分析文档中带有连字符的单词。这个文档本身被作为一个词典来确定连字符应该被保留还是被删除。
    
        --disable-renumber-headings
                            查找顺次出现的<h1><h2>标签。这些标签被重新编号以防止在章节头部中间断开。
    
        --replace-scene-breaks=REPLACE_SCENE_BREAKS
                            把小节分节符替换为指定的文本。在默认情况下,会使用输入文档中的文本。
    
    
      查找并替换:
        以用户预定义的模式修改文档内容和结构。
    
        --sr1-search=SR1_SEARCH
                            第一项要被替换的搜索模式(正则表达式)
    
        --sr1-replace=SR1_REPLACE
                            第一项搜索的替换文本。
    
        --sr2-search=SR2_SEARCH
                            第二项要被替换的搜索模式(正则表达式)<
    
        --sr2-replace=SR2_REPLACE
                            第二项搜索的替换文本。
    
        --sr3-search=SR3_SEARCH
                            第三项要被替换的搜索模式(正则表达式)<
    
        --sr3-replace=SR3_REPLACE
                            第三项搜索的替换文本。
    
        --search-replace=SEARCH_REPLACE
                            包含搜索和替换正则表达式的文件路径。该文件必须包含正则表达式交替行后面跟着替换模式(它可以是一个空行)。正则
                            表达式必须是Python正则表达式的语法并且文件必须是UTF-8编码。
    
    
      结构检测:
        设置自动检测文档结构。
    
        --chapter=CHAPTER   XPath 表达式用于检测章节标题。默认考虑使用 <h1><h2>
                            标签来涵括“章节”,“书籍”,“节选”,“前言”,“结束语”,或者使用任何标签包含级别
                            =“章节”的“部分”做为章节标题。使用的表达式必须评估元素列表。要禁用检测章节,请使用表达式“/”。请参阅
                            calibre 用户手册中的 XPath 教程了解使用此功能的更多帮助。
    
        --chapter-mark=CHAPTER_MARK
                            设置标注章节的模式. "pagebreak"模式会在章节前插入下一页控制符.
                            "rule"模式会在章节前插入空行. "none"模式不会在章节前插入控制.
                            "both"模式会在章节前插入下一页控制符和空行.
    
        --prefer-metadata-cover
                            使用从源文件中检测到的封面文件.
    
        --remove-first-image
                            移除输入电子书的第一个图像。这是有用的如果输入文档有一个封面图像,但没有确定为封面图像。在这种情况下,如果你
                            在 calibre 设置了封面,如果你不指定此选项,输出文件将最终有两个封面图片。
    
        --insert-metadata   将书籍元数据添加到书籍的开始。如果你的电子书阅读设备不支持显示和搜索元数据功能,该功能可以有所帮助。
    
        --page-breaks-before=PAGE_BREAKS_BEFORE
                            XPath表达式。在指定的元素之前插入分页符。禁止使用表达式: /
    
        --disable-remove-fake-margins
                            有些文档通过在每一页上指定左右页边距来指定页面边框大小。 calibre 会尝试检测并移除这些页边距。有时候
                            calibre 会错误的移除不应该移除的页边距,在这种情况下,你可以禁用这项功能。
    
        --start-reading-at=START_READING_AT
                            用于检测文档中开始阅读位置的 XPath 表达式。某些电子书阅读器(以 Kindle
                            为代表)使用此定位标识来打开书籍。请参阅 calibre 用户手册中的 XPath
                            教程了解使用此功能的更多帮助。
    
    
      目录:
        设置自动生成目录。默认情况下若源文件有目录,它将被首选自动创建。
    
        --level1-toc=LEVEL1_TOC
                            指定应添加到目录级别1的所有标签的 XPath 表达式。如果指定此项,它会优先于其他自动检测形式。可查阅                        calibre 用户手册中的 XPath 向导。
    
        --level2-toc=LEVEL2_TOC
                            XPath 表达式指定所有标签应添加在二级目录表。每个条目加入到一级目录条目下。请参阅 calibre
                            用户手册中 XPath 教程的例子。
    
        --level3-toc=LEVEL3_TOC
                            XPath 表达式指定所有标签应添加在三级目录表。每个条目加入到二级目录条目下。请参阅 calibre
                            用户手册中 XPath 教程的例子。
    
        --toc-threshold=TOC_THRESHOLD
                            如果检测到的章节数少于该数字,则在目录中添加这些章节的链接。默认值: 6
    
        --max-toc-links=MAX_TOC_LINKS
                            输出文件目录中的最多链接项数量。设置为 0
                            表示关闭。默认值:50。只有在检测到的章节数量小于该阈值时这些链接项才会被添加到目录中。
    
        --no-chapters-in-toc
                            不将自动检测到的章节添加到文件目录。
    
        --use-auto-toc      通常情况下,程序会引用源文件中已有的目录。打开本选项来强制使用自动生成的目录。
    
        --toc-filter=TOC_FILTER
                            从目录中移除匹配该证则表达式的链接项, 它们的子项也会被同时移除M.
    
        --duplicate-links-in-toc
                            在基于输入文档中的链接创建目录时,允许创建重复项。即在目录中允许出现名称重复的项,但它们指向文档中不同的位置
                            。
    
    
      元数据:
        设定输出的元数据选项
    
        --title=TITLE       设置标题。
    
        --authors=AUTHORS   设置作者。多个作者之间请使用 & 符号分割。
    
        --title-sort=TITLE_SORT
                            用作排序的书籍标题序列数字。
    
        --author-sort=AUTHOR_SORT
                            用以进行按作者排序的关键字符串。
    
        --cover=COVER       设置封面为指定文件或 URL
    
        --comments=COMMENTS
                            设置电子书描述。
    
        --publisher=PUBLISHER
                            设置电子书出版商。
    
        --series=SERIES     设置书籍所属丛书。
    
        --series-index=SERIES_INDEX
                            设置书籍在丛书中的索引位置。
    
        --rating=RATING     设置评分。评荐值为 15 之间的数字。
    
        --isbn=ISBN         设置书籍的 ISBN。
    
        --tags=TAGS         设置书籍的标签。多个标签之间请用逗号隔开。
    
        --book-producer=BOOK_PRODUCER
                            设置书籍制作人。
    
        --language=LANGUAGE
                            设置书籍语言。
    
        --pubdate=PUBDATE   设置发布日期(假定在本地时区,除非明确指定时区)
    
        --timestamp=TIMESTAMP
                            设置书籍时间戳(已不再使用)
    
        -m READ_METADATA_FROM_OPF, --read-metadata-from-opf=READ_METADATA_FROM_OPF, --from-opf=READ_METADATA_FROM_OPF
                            从指定 OPF 文件中读元数据。读取的元数据将覆盖源文件中定义的其他元数据。
    
    
      调试:
        用于调试转换的选项
    
        -v, --verbose       详细程度。指定多次来提高详细程度:指定两次是最详细,一次是中等,零次是最简略。
    
        -d DEBUG_PIPELINE, --debug-pipeline=DEBUG_PIPELINE
                            在转换过程的不同阶段分别保存输出到指定目录。如果你不确定在哪个阶段出了问题,这个选项非常实用。
    

以上是关于Linux环境下安装Calibre & 源代码编译的主要内容,如果未能解决你的问题,请参考以下文章

Linux下一键安装Python3&更改镜像源&虚拟环境管理技巧

Linux下一键安装Python3&更改镜像源&虚拟环境管理技巧

0038-如何在CDH集群安装Anaconda&搭建Python私有源

Linux系统下yum镜像源环境部署记录

如何在Linux环境下配置C/C++环境

CB2-2CARD的openSUSE安装&NAS环境配置