麒麟v10 arm64服务器下安装libreoffice7.1与kkfileview4.4
wyj241 2024-10-02 09:07:04 阅读 75
安装前准备
yum -y upgrade
yum install -y "@Standard" "@Development Tools"
yum install -y automake autoconf cups-devel fontconfig-devel gperf libxslt-devel python3-devel libXext-devel libICE-devel libSM-devel libXrender-devel xorg-x11-xauth x11* libX11 libXrandr-devel cairo-devel gtk3-devel gstreamer-devel gstreamer-plugins-base gstreamer1-* gstreamer* glibc-headers gcc-c++ fakeroot wget
cd /mnt/
mkdir -p libreoffice/dependence
useradd libreoffice
|
nss与nspr编译安装
nspr编译安装
先从官网下载安装包
wget https://archive.mozilla.org/pub/nspr/releases/v4.35/src/nspr-4.35.tar.gz
|
进行解压安装
tar -zxvf nspr-4.35.tar.gz
cd nspr-4.35/nspr
#这里是一步操作,全部拷贝到命令行一把执行
./configure --prefix=/usr \
--with-mozilla \
--with-pthreads \
$([ $(uname -m) = aarch64 ] && echo --enable-64bit) &&
make
|
编译完成后应如下图所示,无ERROR信息
执行安装
make install
|
安装完成后应如下图所示,无报错信息
检查sqlite3是否安装
ls /usr/include/sqlite3.h
|
如果如下图所示则未安装
下载sqlite3安装包
cd /mnt/libreoffice/dependence
wget https://sqlite.org/2024/sqlite-autoconf-3460000.tar.gz
|
解压并编译安装
tar -zxvf sqlite-autoconf-3460000.tar.gz
cd sqlite-autoconf-3460000
#这里是一步操作,全部拷贝到命令行一把执行
./configure --prefix=/usr \
--disable-static \
--enable-fts{4,5} \
CPPFLAGS="-D SQLITE_ENABLE_COLUMN_METADATA=1 \
-D SQLITE_ENABLE_UNLOCK_NOTIFY=1 \
-D SQLITE_ENABLE_DBSTAT_VTAB=1 \
-D SQLITE_SECURE_DELETE=1" &&
make
|
编译后应如下图所示无ERROR信息
再执行安装
make install
|
安装完成后可执行以下命令校验
sqlite3
|
打印的版本信息应如下图所示
如果不是,则执行以下命令
mv /usr/bin/sqlite3 /usr/bin/sqlite3.bak
cp ./sqlite3 /usr/bin
|
nss编译安装
下载nss安装包和补丁包
cd /mnt/libreoffice/dependence
wget https://archive.mozilla.org/pub/security/nss/releases/NSS_3_102_1_RTM/src/nss-3.102.1.tar.gz
wget https://www.linuxfromscratch.org/patches/blfs/svn/nss-3.102.1-standalone-1.patch
tar -zxvf nss-3.102.1.tar.gz
cd nss-3.102.1
patch -Np1 -i ../nss-3.102.1-standalone-1.patch
|
打完补丁后应如下图所示
再执行编译安装
cd nss
#这里是一步操作,全部拷贝到命令行一把执行
make BUILD_OPT=1 \
NSPR_INCLUDE_DIR=/usr/include/nspr \
NSPR_LIB_DIR=/usr/lib \
USE_SYSTEM_ZLIB=1 \
ZLIB_LIBS=-lz \
NSS_ENABLE_WERROR=0 \
$([ $(uname -m) = aarch64 ] && echo USE_64=1) \
$([ -f /usr/include/sqlite3.h ] && echo NSS_USE_SYSTEM_SQLITE=1)
|
编译完成后应如下图所示无ERROR信息
再执行安装操作
#这里是一步操作,全部拷贝到命令行一把执行
cd ../dist &&
install -v -m755 Linux*/lib/*.so /usr/lib &&
install -v -m644 Linux*/lib/{*.chk,libcrmf.a} /usr/lib &&
install -v -m755 -d /usr/include/nss &&
cp -v -RL {public,private}/nss/* /usr/include/nss &&
install -v -m755 Linux*/bin/{certutil,nss-config,pk12util} /usr/bin &&
install -v -m644 Linux*/lib/pkgconfig/nss.pc /usr/lib/pkgconfig
|
执行完成后应如下图所示
libreoffice的编译安装
先下载libreoffice源码
git clone --depth=1 --branch libreoffice-7-1 https://git.libreoffice.org/core/ ./libreoffice-7-1
cd libreoffice-7-1/
git submodule init
|
子模块初始化后应如下图所示
再下载子模块代码
git submodule update --progress --depth=1
|
下载完成后应如下图所示
新建autogen.input文件
vim autogen.input
|
文件填入以下内容并保存
# 禁用帮助文档
--without-help
--without-helppack-integration
# 启用简体中文用户界面
--with-lang=zh-CN
# 禁用在线更新及崩溃报告功能
--disable-online-update
--disable-breakpad
# 禁用 Office Development Kit。若启用 ODK,则额外需要doxygen依赖项。
--disable-odk
--without-doxygen
# 若编译好之后您需要rpm (或deb)包,则需要启用下列两项:
--enable-epm
--with-package-format=rpm
# 现在很多功能都用不到java了,因此直接将其禁用
--without-java
# 需要用到firebird数据库,因此启用
--enable-firebird-sdbc
--without-system-firebird
--enable-python=internal
|
执行预编译
./autogen.sh
|
预编译执行完成后应如下图所示无任何报错
使用普通用户进行编译
chown libreoffice:libreoffice libreoffice-7-1/ -R
su - libreoffice
cd /mnt/libreoffice/libreoffice-7-1/
|
开始编译前还需要执行一步操作,这是因为麒麟10系统不能被正确识别
cp /mnt/libreoffice/libreoffice-7-1/workdir/UnpackedTarball/python3/LO_lib/_sysconfigdata__linux_aarch64-linux-gnu.py /mnt/libreoffice/libreoffice-7-1/workdir/UnpackedTarball/python3/LO_lib/_sysconfigdata__linux_aarch64-unknown-linux-gnu.py
|
开始编译(过程漫长,耐心等待)
make
|
编译完成后应如下图所示,无任何报错信息
编译完成后的软件在/mnt/libreoffice/libreoffice-7-1/instdir/program
编译完成后的rpm包在/mnt/libreoffice/libreoffice-7-1/workdir/installation/LibreOfficeDev/rpm/install/LibreOfficeDev_7.1.8.0.0_Linux_aarch64_rpm/RPMS
理论上可以在其他的麒麟10环境,执行完安装前准备后,直接执行yum -y install ./*.rpm安装
kkfileview的安装
Kkfileview的jar包,可以在自己idea上下载其源码并打包,把打完的zip包上传到服务器即可,此处直接从服务器拿到zip包后开始
将包上传到/mnt/libreoffice下,以root身份执行以下步骤
解压压缩包
tar -zxvf kkFileView-4.4.0-beta.tar.gz
cd kkFileView-4.4.0-beta
|
解压后修改下配置
vim config/application.properties
|
注释掉原来的office.home,使用本地的libreoffice软件目录
修改bin目录下的startup.sh并保存
cd bin
sh startup.sh
|
启动无异常应如下图
查看日志文件
tail -200f ../log/kkFileView.log
|
启动成功应如下图
页面访问 ip:8012应可以进入kkfileview的预览页面
上传个文件验证下功能是否正常
能正常查看文件则部署成功
注意
Kkfileview占用8012端口,请注意端口占用情况以及开放对应的白名单,或关闭服务器防火墙
2024-09-10更新
经过实践,打出的rpm包确实可以直接安装,且不需要经过安装前准备的步骤,可以支持无网环境安装,rpm包可自行下载
通过百度网盘分享的文件:LibreOff....zip 链接:百度网盘 请输入提取码 提取码:67m3 复制这段内容打开「百度网盘APP 即可获取」
安装步骤也简化了很多:
1、将压缩包上传到服务器任意位置后解压
2、cd进入解压后的rpm目录,执行rpm -Uvh *.rpm --nodeps --force
3、安装无报错后,libreoffice会被安装在/opt/libreofficedev7.1
4、安装kkfileview,修改application.properties中的office.home=/opt/libreofficedev7.1
5、修改kkfileview的bin目录下的start.sh,将grep 'office\.home' ../config/application.properties | grep '!^#' 改为grep 'office\.home' ../config/application.properties | grep -v '#'后保存
6、启动kkfileview,验证
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。