Ubuntu Kylin 無網環(huán)境下安裝LibreOffice

公司有個項目要實現一個word文檔預覽的功能茄猫,經過一番調用后最終確定了兩個組件Libreoffice和OpenOffice碍庵,經過對比后感覺libreOffice更成熟一點熬丧。當時估計這個小功能抽米,一上午就搞定了狞谱,但最終花了3天才搞定,特意記錄下踩坑過程免糕,以供后人參考赢乓。

當時為啥這么樂觀?

看看LibreOffice的官網石窑,有現成的deb安裝包(麒麟系統(tǒng)和Ubuntu類似)牌芋,只要下載下來拷貝到服務器上只要簡單的執(zhí)行下 sudo dpkg -i *.deb 命令就搞定了。


悲催的一天

第二天上午一邊喝著咖啡松逊,一邊準備安裝了躺屁,安裝的過程閉著眼都能完成 ,先用tar解壓经宏,然后dpkg 安裝犀暑,但當按下回車鍵的時候才意識到忽略了一個重要的點,忘記看服務器是什么架構了烁兰,果然屏幕上提示:

軟件包體系架構(amd64)與本機系統(tǒng)體系結構(arm64)不符dpkg: 處理歸檔 libreoffice6.3-en-us_6.3.4.2-2_amd64.deb (--install)時出錯:軟件包體系架構(amd64)與本機系統(tǒng)體系結構(arm64)不符dpkg: 處理歸檔 libreoffice6.3-impress_6.3.4.2-2_amd64.deb (--install)時出錯:軟件包體系架構(amd64)與本機系統(tǒng)體系結構(arm64)不符

從服務器上下載的是amd架構的耐亏,而麒麟服務器是arm架構的,而官網沒有提供安裝包沪斟,因為服務不能上網广辰,所以沒法用apt install這樣的命令,看來只能通過源碼編譯了主之。編譯的過程是痛苦的择吊,依賴這個軟件依賴的包太多了


一直搞到下班也沒把依賴包找全,感覺此路不通槽奕,源碼編譯的方案不可行

又是忙碌的一天

既然源碼編譯不可行干发,那么通過去deb鏡像上把所有這些安裝的依賴包及LibreOffice包全部下載下來再安裝,感覺這個方案可行史翘,說干就干枉长,依賴包有幾百個,估計的下載到明年啦琼讽,程序員嗎怎么可能那么傻必峰,寫個下載包的工具下載吧,經過一上午的折騰終于包300個相關版本的包都下載下來了钻蹬,又是一邊喝著咖啡吼蚁,一邊敲入dpkg命令,然后令人沮喪的事又出現了,滿屏幕都是找不到依賴錯誤肝匆。完了此路又不通粒蜈。

https://packages.debian.org/sid/libreoffice

終于安裝成功了

仔細想想感覺還是對這個Ubuntu系統(tǒng)不熟悉,以前都是用Centos的旗国,這么搞的話完全是蠻力枯怖,太費勁了。仔細考慮了能曾,感覺太太傻了度硝,完全可以搞一臺能上網的機器,只要這個機器的架構和系統(tǒng)都和服務器一樣不就行了寿冕,然后簡單的用apt命令就能把依賴包都下載到本地緩存中

-d參數只下載依賴包但不安裝蕊程,會下載到/var/cache/apt/archives下面

/apt/archivesapt install libreoffice -d

但是新的問題又出現了,默認鏡像地址都是國外的驼唱,索引速度奇慢藻茂,而且有的地址還被和諧了,所以只能編輯了鏡像源文件玫恳,修改成阿里或163的鏡像

vi /etc/apt/sources.list

在文件中加入

# https://opsx.alibaba.com/mirrordeb https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

然后執(zhí)行更新索引

apt update

但還是提示無法更新arm包索引辨赐,這就不對了,大家都可以纽窟,為啥我這就不行了肖油,肯定哪里出問題了兼吓,仔細查看了錯誤信息臂港,有一部分索引更新成功了,但就是arm索引更新不了视搏,那只有一種可能了审孽,就是上面的鏡像地址里沒有arm的鏡像地址經過一番百度后,終于在某篇文章里找到了答案浑娜,arm架構下鏡像要將ubuntu改成ubuntu-ports即可佑力,然后再次更新索引成功了

ubuntu 16.04 配置如下deb http://mirrors.aliyun.com/ubuntu-ports/ xenial maindeb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial main?deb http://mirrors.aliyun.com/ubuntu-ports/ xenial-updates maindeb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial-updates main?deb http://mirrors.aliyun.com/ubuntu-ports/ xenial universedeb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial universedeb http://mirrors.aliyun.com/ubuntu-ports/ xenial-updates universedeb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial-updates universe?deb http://mirrors.aliyun.com/ubuntu-ports/ xenial-security maindeb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial-security maindeb http://mirrors.aliyun.com/ubuntu-ports/ xenial-security universedeb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial-security universe

剩下就不用說了,順利的將deb包下載到了apt緩存目錄下筋遭,然后用u盤拷貝到服務器上再次執(zhí)行dpkg命令成功安裝上了libreoffice打颤,這個過程也可能會提示依賴問題,需要執(zhí)行以下 sudo apt install -f -y 命令解決下依賴

如果安裝成功漓滔,會安裝到 /usr/lib/libreoffice目錄下编饺,轉換一個文檔試試

#windows

soffice.exe --headless --invisible --convert-to pdf e:\tmp\123.docx --outdir e:\tmp

?linux

/usr/bin/libreoffice6.3 --headless --invisible --convert-to pdf /tmp/123.docx --outdir /tmp

終極解決方案

另一種更簡單的解決方案,我想聰明的小伙伴响驴,一定想到了透且,那就是docker

先在能上網的機器上制造鏡像文件:

首先先編寫一個Dockerfile文件,例如:

FROM ubuntu16.04

...

RUN apt-get install -y libreoffice

....

編譯

docker build -t libreoffice:6.3

查看鏡像

docker images

導出鏡像

docker save 38463a656de8> /root/libreoffice.tar

在無網服務器上導入鏡像

docker load < /root/libreoffice.tar

啟動docker

docker run --name libreoffice -v /opt/libreoffice/data:/opt/data -p 8089:8089 -d? libreoffice:6.3?


一些思考

在項目開發(fā)過程中不能忽略任何細節(jié)豁鲤,否則會造成盲目的樂觀秽誊,造成項目延時鲸沮;還有就是不能埋頭把所有方案都試一遍,雖然最終找到了一個解決方案锅论,但中間過程肯定耗費不少時間讼溺,所以遇到問題一開始就要把所有解決方案都列舉出來,綜合比較后選擇一個性價比最高的方案棍厌。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末肾胯,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子耘纱,更是在濱河造成了極大的恐慌敬肚,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件束析,死亡現場離奇詭異艳馒,居然都是意外死亡,警方通過查閱死者的電腦和手機员寇,發(fā)現死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門弄慰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蝶锋,你說我怎么就攤上這事陆爽。” “怎么了扳缕?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵慌闭,是天一觀的道長。 經常有香客問我躯舔,道長驴剔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任粥庄,我火速辦了婚禮丧失,結果婚禮上,老公的妹妹穿的比我還像新娘惜互。我一直安慰自己布讹,他們只是感情好,可當我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布训堆。 她就那樣靜靜地躺著描验,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蔫慧。 梳的紋絲不亂的頭發(fā)上挠乳,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天,我揣著相機與錄音,去河邊找鬼睡扬。 笑死盟蚣,一個胖子當著我的面吹牛,可吹牛的內容都是我干的卖怜。 我是一名探鬼主播屎开,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼马靠!你這毒婦竟也來了奄抽?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤甩鳄,失蹤者是張志新(化名)和其女友劉穎逞度,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體妙啃,經...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡档泽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了揖赴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片馆匿。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖燥滑,靈堂內的尸體忽然破棺而出渐北,到底是詐尸還是另有隱情,我是刑警寧澤铭拧,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布赃蛛,位于F島的核電站,受9級特大地震影響羽历,放射性物質發(fā)生泄漏焊虏。R本人自食惡果不足惜淡喜,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一秕磷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧炼团,春花似錦澎嚣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至锌俱,卻和暖如春晤郑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工造寝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留磕洪,地道東北人。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓诫龙,卻偏偏與公主長得像析显,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子签赃,可洞房花燭夜當晚...
    茶點故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內容