最近需要在银河麒麟的arm64版本离线安装kkfileview,除docker外试了很多方法,都比较繁琐,突然想到一个比较通用的方法,不管是哪种架构都可以用该方法,记录一下
所需的文件我打包了一份上传,但是不一定通用,注意
原理
apt安装时,会临时存入/var/cache/apt/archives的下载路径中,如果可以找到在相同架构下的一个系统,那先下载安装包,而后打包到离线系统中安装不就可以了,yum同理,只是命令不同
当前系统版本openKylin-Desktop-V2.0-SP1-arm64
实操
1.先搜索当前系统libreoffice可安装包
apt search libreoffice | grep 'zh-cn'
可以看到,当前系统支持的最新安装包是libreoffice24.2
2.仅下载目标和其依赖,不进行安装
apt-get install --download-only libreoffice24.2-zh-cn
然后进入/var/cache/apt/archives就可以看到下载libreoffice24.2所需的deb安装包了,记得记得先清理一下,不然混入一些不需要的依赖
3.将其打包
tar -czvf libreoffice24.2.tar.gz archives
4.上传到离线系统中,解压缩
tar -xzvf libreoffice24.2.tar.gz
5.进入安装包目录,忽略依赖安装
dpkg --force-depends -i *.deb
6.查找soffice.bin
因为libreoffice关键启动程序是soffice.bin,所以找该文件路径就行
find / -name 'soffice.bin'
可以看到,/var/opt和/opt目录下都有这个,随便选一个
7.修改kkfileview配置文件application.properties
因为office.home走默认去查找可能找不到,自己配一下,把libreoffice的路径贴上去
8.启动程序,不过因为kkFileView启动时有安装校验,需要的可以修改startup.sh跳过,我这边图省事直接启动了
java -Dfile.encoding=UTF-8 -Dspring.config.location=../config/application.properties -jar kkFileView-4.3.0-SNAPSHOT.jar
9.查看效果
预览服务正常