linux小白,记录下自己

有个需求。linux ubuntu服务器上需要安装执行命令转pdf,需要使用libreoffice

但是有些机器没联网,需要一个这样的离线安装包。

思路步骤:

1.在本地虚拟机进行安装

2.步骤一安装完成后复制deb包

3.编写脚本一键安装


实际操作:

1.装好虚拟机,由于虚拟机ubuntu版本是16.04,更新不到最新的libreoffice,所以需要先添加PPA的sudo add-apt-repository ppa:libreoffice/ppa。然后再更新sudo apt update,若是之前装了老版本先卸载掉sudo apt remove libreoffice-gtk,执行sudo apt  -d dist-upgrade && sudo -d apt install libreoffice-gtk2 libreoffice-gnome下载所需的软件包。然后到软件包存储的默认的路径下面手动安装,sudo dpkg -i *.deb。然后再安装unoconv。

ok,现在试了下是可以进行转化的了,命令doc2pdf template.docx,但是若是存在中文可能会有乱码问题,安装字体即可


2.copy上一步的包出来,到一个干净的ubuntu16.04环境尝试。目录如下,执行手动安装 ,发现是ok的



3.现在可以完整地编写脚本。此时的目录结构如下,sh文件夹下的install-libreoffice.sh内容如下。


------------------install-libreoffice.sh

echo "start install libreoffice..."
#sudo dpkg -i install-font/*.deb
sudo dpkg -i libreoffice/*.deb
sudo dpkg -i unoconv/*.deb
sudo cp -r winfonts /usr/share/fonts
cd /usr/share/fonts/winfonts/
sudo mkfontscale
sudo mkfontdir
sudo fc-cache -fv
echo "install libreoffice finished."
cd -
doc2pdf *.docx
doc2pdf *.docx
result=$(ls -l *.pdf|grep "^-" | wc -l)
echo $result
if [ $result -ge 1 ]
then 
   echo "install success"
else
   echo "install fail, please check install.log for details"
fi


---------------------install.sh

echo "start exec install-libreoffice.sh"
source sh/install-libreoffice.sh 2>&1 | tee install.log


执行方式:

1.执行命令chmod +x install.sh
2.执行安装脚本./install.sh
注意:
1.执行过程可能需要键盘操作设置一次协议的确定和同意操作:第一个选OK,第二个选Yes
2.执行完脚本后看最后输出,install success或者install fail, please check install.log for details既知道安装是否成功



Logo

更多推荐