Linux运维_Bash脚本_部署安装DocBook-XML-4.5(XML-DTD)

2024-03-02 08:52

本文主要是介绍Linux运维_Bash脚本_部署安装DocBook-XML-4.5(XML-DTD),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux运维_Bash脚本_部署安装DocBook-XML-4.5(XML-DTD)

Bash (Bourne Again Shell) 是一个解释器,负责处理 Unix 系统命令行上的命令。它是由 Brian Fox 编写的免费软件,并于 1989 年发布的免费软件,作为 Sh (Bourne Shell) 的替代品。

您可以在 Linux 和 MacOS 机器上使用 Bash,甚至可以通过适用于 Linux 的 Windows 子系统在 Windows 10 机器上使用。

使用方法

  • 下载源码包:

docbook-xml-4.5.zip

  • 放于指定路径:

这里 Bash Shell 脚本的全局变量 STORAGE 指定的存放源码包的路径 /home/goufeng 可进行修改。

  • 执行 Bash Shell 脚本:

输入 /[路径名]/[脚本名].sh 即可进行自动编译部署,过程中提示输入 (y/n) 输入 y 则进行下一步,这样分阶段确认的原因是为了确保能够看到上一个源码编译结果中可能的错误和提示。

完整脚本

#! /bin/bash
# Create By GF 2024-03-01 12:55# Need File: docbook-xml-4.5.zip# ##################################################
STORAGE=/home/goufeng# Function: 部署安装(Deploy Install) XML-DTD: DocBook-XML-4.5
# ##################################################
function Deploy_Install_XML_DTD_DocBook_XML_4_5() {# Linux 的 install 命令用于安装或升级软件、备份数据。## 其常用的格式有: # #     1. install [OPTION]... SOURCE DEST: 将源文件复制到目标目录。#     #     2. install [OPTION]... SOURCE... DIRECTORY: 将多个源文件复制到已存在的目录。#     #     3. install -d [OPTION]... DIRECTORY...: 在指定目录下创建新目录。# # 常用的参数包括: # #     1. -c: 如果目标文件已经存在, 不覆盖, 保留原有的文件。#     #     2. -D: 如果目标文件是一个目录, 则在该目录下创建源文件的一个快捷方式。#     #     3. -b: 如果目标文件已经存在, 则将目标文件备份, 并将源文件复制到目标文件路径。#     #     4. -m: 设置目标文件的权限。#     #     5. -o: 设置目标文件的拥有者。#     #     6. -p: 以源文件 访问/修改 的时间作为目标文件的时间属性, 即不改变文件的时间属性。#     #     7. -s: 对待拷贝的可执行文件进行 strip 操作, 取出文件中的符号表。if [[ ! -d "/usr/share/xml/docbook/xml-dtd-4.5" ]]; then# 安装目录: /etc/xml 和 /usr/share/xml/docbook/xml-dtd-4.5# Installed Directories: /etc/xml and /usr/share/xml/docbook/xml-dtd-4.5local VERIFYlocal STEP_UNZIPPED=0local STEP_INSTALLED=0local STEP_CONFIGURED=0# ------------------------------------------read -p "[Confirm] Deploy and Install ( XML-DTD: DocBook-XML-4.5)? (y/n)>" VERIFYif [[ "$VERIFY" != "y" ]]; then exit 1; fi# ------------------------------------------unzip $STORAGE/docbook-xml-4.5.zip -d docbook-xml-4.5 && STEP_UNZIPPED=1# ------------------------------------------cd $STORAGE/docbook-xml-4.5# ------------------------------------------# 安装 DocBook XML DTD# Installation of DocBook XML DTD## 以根用户身份运行以下命令, 安装 DocBook XSL 样式表: # Install DocBook XML DTD by running the following commands as the root user:install -v -d -m755 /usr/share/xml/docbook/xml-dtd-4.5 &&install -v -d -m755 /etc/xml &&cp -v -af --no-preserve=ownership docbook.cat *.dtd ent/ *.mod \/usr/share/xml/docbook/xml-dtd-4.5# ------------------------------------------# 配置 DocBook XML DTD# Configuring DocBook XML DTD## Config Files: /etc/xml/catalog#               /etc/xml/docbook## /etc/xml/docbook 文件示例:# /etc/XML/docbook Example of File:## <?xml version="1.0"?># <!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"># <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">#   <public publicId="-//OASIS//DTD DocBook XML V4.5//EN" uri="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"/>#   <public publicId="-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd"/>#   <public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd"/>#   <public publicId="-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod"/>#   <public publicId="-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod"/>#   <public publicId="-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod"/>#   <public publicId="-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod"/>#   <public publicId="-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod"/>#   <public publicId="-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod"/>#   <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.5" rewritePrefix="file:///usr/share/xml/docbook/xml-dtd-4.5"/>#   <rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.5" rewritePrefix="file:///usr/share/xml/docbook/xml-dtd-4.5"/># </catalog>## /etc/xml/catalog 文件示例:# /etc/XML/catalog Example of File:## <?xml version="1.0"?># <!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"># <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">#   <rewriteSystem systemIdStartString="http://docbook.sourceforge.net/release/xsl/1.79.1" rewritePrefix="/usr/share/xml/docbook/xsl-stylesheets-1.79.1"/>#   <rewriteURI uriStartString="http://docbook.sourceforge.net/release/xsl/1.79.1" rewritePrefix="/usr/share/xml/docbook/xsl-stylesheets-1.79.1"/>#   <rewriteSystem systemIdStartString="http://docbook.sourceforge.net/release/xsl/current" rewritePrefix="/usr/share/xml/docbook/xsl-stylesheets-1.79.1"/>#   <rewriteURI uriStartString="http://docbook.sourceforge.net/release/xsl/current" rewritePrefix="/usr/share/xml/docbook/xsl-stylesheets-1.79.1"/>#   <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook XML" catalog="file:///etc/xml/docbook"/>#   <delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML" catalog="file:///etc/xml/docbook"/>#   <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/" catalog="file:///etc/xml/docbook"/>#   <delegateURI uriStartString="http://www.oasis-open.org/docbook/" catalog="file:///etc/xml/docbook"/># </catalog>## ..........................................# 以 root 用户身份运行以下命令, 创建 (或更新) 并填充 /etc/xml/docbook 目录文件:# Create (or update) and populate the /etc/xml/docbook catalog file by running the following commands as the root user:if [ ! -e /etc/xml/docbook ]; thenxmlcatalog --noout --create /etc/xml/docbookfi &&xmlcatalog --noout --add "public" \"-//OASIS//DTD DocBook XML V4.5//EN" \"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \/etc/xml/docbook &&xmlcatalog --noout --add "public" \"-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" \"file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" \/etc/xml/docbook &&xmlcatalog --noout --add "public" \"-//OASIS//DTD XML Exchange Table Model 19990315//EN" \"file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" \/etc/xml/docbook &&xmlcatalog --noout --add "public" \"-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" \"file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" \/etc/xml/docbook &&xmlcatalog --noout --add "public" \"-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" \"file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" \/etc/xml/docbook &&xmlcatalog --noout --add "public" \"-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" \"file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" \/etc/xml/docbook &&xmlcatalog --noout --add "public" \"-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" \"file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" \/etc/xml/docbook &&xmlcatalog --noout --add "public" \"-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" \"file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" \/etc/xml/docbook &&xmlcatalog --noout --add "public" \"-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" \"file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" \/etc/xml/docbook &&xmlcatalog --noout --add "rewriteSystem" \"http://www.oasis-open.org/docbook/xml/4.5" \"file:///usr/share/xml/docbook/xml-dtd-4.5" \/etc/xml/docbook &&xmlcatalog --noout --add "rewriteURI" \"http://www.oasis-open.org/docbook/xml/4.5" \"file:///usr/share/xml/docbook/xml-dtd-4.5" \/etc/xml/docbook# ..........................................# 以 root 用户身份运行以下命令, 创建 (或更新) 并填充 /etc/xml/catalog 目录文件:# Create (or update) and populate the /etc/xml/catalog catalog file by running the following commands as the root user:if [ ! -e /etc/xml/catalog ]; thenxmlcatalog --noout --create /etc/xml/catalogfi &&xmlcatalog --noout --add "delegatePublic" \"-//OASIS//ENTITIES DocBook XML" \"file:///etc/xml/docbook" \/etc/xml/catalog &&xmlcatalog --noout --add "delegatePublic" \"-//OASIS//DTD DocBook XML" \"file:///etc/xml/docbook" \/etc/xml/catalog &&xmlcatalog --noout --add "delegateSystem" \"http://www.oasis-open.org/docbook/" \"file:///etc/xml/docbook" \/etc/xml/catalog &&xmlcatalog --noout --add "delegateURI" \"http://www.oasis-open.org/docbook/" \"file:///etc/xml/docbook" \/etc/xml/catalog# ------------------------------------------# 注意:# Caution:## 各种 BLFS 包在 V4.5 之前都要求 DocBook XML DTD 4.x 版本, 因此必须完成以下步骤才能成功构建这些包。# Various BLFS packages request DocBook XML DTD version 4.x before V4.5, so the following step must be done for those packages to be built successfully.## 上述安装将创建文件并更新目录。为了在系统标识符中请求任何 4.x 版本时使用 DocBook XML DTD V4.5, 您需要向目录文件中添加其他语句。# 如果您的系统上已经安装了下面引用的任何 DocBook XML DTD, 请从下面的 for 命令中删除这些条目 (以 root 用户身份执行命令):# The above installation creates the files and updates the catalogs. In order to utilize DocBook XML DTD V4.5 when any version 4.x is requested in the System Identifier, you need to add additional statements to the catalog files. # If you have any of the DocBook XML DTD's referenced below already installed on your system, remove those entries from the for command below (issue the commands as the root user):## for DTDVERSION in 4.1.2 4.2 4.3 4.4# do#   xmlcatalog --noout --add "public" \#     "-//OASIS//DTD DocBook XML V$DTDVERSION//EN" \#     "http://www.oasis-open.org/docbook/xml/$DTDVERSION/docbookx.dtd" \#     /etc/xml/docbook#   xmlcatalog --noout --add "rewriteSystem" \#     "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \#     "file:///usr/share/xml/docbook/xml-dtd-4.5" \#     /etc/xml/docbook#   xmlcatalog --noout --add "rewriteURI" \#     "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \#     "file:///usr/share/xml/docbook/xml-dtd-4.5" \#     /etc/xml/docbook#   xmlcatalog --noout --add "delegateSystem" \#     "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \#     "file:///etc/xml/docbook" \#     /etc/xml/catalog#   xmlcatalog --noout --add "delegateURI" \#     "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \#     "file:///etc/xml/docbook" \#     /etc/xml/catalog# done# ------------------------------------------cd $STORAGE && rm -rf $STORAGE/docbook-xml-4.5 && return 0elseecho "[Caution] Path: ( /usr/share/xml/docbook/xml-dtd-4.5 ) Already Exists."# ------------------------------------------return 0fi
}function main() {Deploy_Install_XML_DTD_DocBook_XML_4_5
}main

总结

以上就是关于 Linux运维 Bash脚本 部署安装DocBook-XML-4.5(XML-DTD) 的全部内容。

更多内容可以访问我的代码仓库:

https://gitee.com/goufeng928/public

https://github.com/goufeng928/public

这篇关于Linux运维_Bash脚本_部署安装DocBook-XML-4.5(XML-DTD)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/765568

相关文章

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

Linux磁盘分区、格式化和挂载方式

《Linux磁盘分区、格式化和挂载方式》本文详细介绍了Linux系统中磁盘分区、格式化和挂载的基本操作步骤和命令,包括MBR和GPT分区表的区别、fdisk和gdisk命令的使用、常见的文件系统格式以... 目录一、磁盘分区表分类二、fdisk命令创建分区1、交互式的命令2、分区主分区3、创建扩展分区,然后

mac安装redis全过程

《mac安装redis全过程》文章内容主要介绍了如何从官网下载指定版本的Redis,以及如何在自定义目录下安装和启动Redis,还提到了如何修改Redis的密码和配置文件,以及使用RedisInsig... 目录MAC安装Redis安装启动redis 配置redis 常用命令总结mac安装redis官网下

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

如何安装 Ubuntu 24.04 LTS 桌面版或服务器? Ubuntu安装指南

《如何安装Ubuntu24.04LTS桌面版或服务器?Ubuntu安装指南》对于我们程序员来说,有一个好用的操作系统、好的编程环境也是很重要,如何安装Ubuntu24.04LTS桌面... Ubuntu 24.04 LTS,代号 Noble NumBAT,于 2024 年 4 月 25 日正式发布,引入了众