Featured image of post 华为云学生机装ShareLatex

华为云学生机装ShareLatex

上接华为云鲲鹏安装Docker跑ShareLatex【失败放弃】

环境准备 新机子到手首先

1sudo apt update
2sudo apt upgrade

安装Docker

参考ubuntu 18.04 安装docker ce卸载旧版本Docker,新机子不用,给重装的老机子用。

1sudo apt-get remove docker docker-engine docker.io

安装包以允许通过HTTPS使用存储库

1sudo apt-get install \
2    apt-transport-https \
3    ca-certificates \
4    curl \
5    software-properties-common

添加Docker的官方GPG密钥

1curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

确认指纹

1sudo apt-key fingerprint 0EBFCD88

设置稳定存储库,默认最新版

1sudo add-apt-repository \
2   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
3   $(lsb_release -cs) \
4   stable"

再次更新apt包索引

1sudo apt-get update

安装最新版本的Docker CE

1sudo apt-get install docker-ce

查看Docker CE 版本

1docker -v

通过运行hello-world映像验证是否正确安装了Docker CE

1sudo docker run hello-world

学生机上述过程丝滑流畅,毫无问题。突然有点想念刚刚退掉的鲲鹏,他可是折磨了我两天,为他茶不思饭不想!

Docker-compose

docker/compose官网仓库有发布最新的版本,同时也给出了命令行安装方法。

1curl -L https://github.com/docker/compose/releases/download/1.25.0-rc4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2chmod +x /usr/local/bin/docker-compose

如果你要是嫌服务器自己curl速度慢的话可以再终端中uname -s-uname -m看自己服务器的参数选择对应版本下载即可,浏览器中下载还挺快的,推荐下载神器IDM,然后用ftp把下载的docker-compose文件传到服务器,再对应地修改目录加权限。

IDM下载神器

上传好后验证文件完整性

1sha512sum docker-compose-Linux-x86_64

我下载的是docker-compose-Linux-x86_64.1.23.0,官网给出的值是5b6f948a264a2c018a124b3cae0ce788f14b94a37ab05ca3ba3bb8622f5b7d0b,然而我换了几个版本的我验证出来的sha56值都不是这个,大约是我搞错了验证方式?不过能用的就可以。

sha56值与md5值

移动到/usr/local/bin/文件夹并加权限。

1mv docker-compose-Linux-x86_64  /usr/local/bin/docker-compose
2chmod +x /usr/local/bin/docker-compose

测试Docker-compose 可用

1docker-compose -v

Docker-compse版本

安装Sharelatex

拉取镜像

1sudo docker pull sharelatex/sharelatex

参考ShareLaTeX安装、配置与部署新建文件夹

1cd ~
2mkdir sharelatex
3cd sharelatex
4mkdir sharelatex_data
5mkdir mongo_data
6mkdir redis_data

下载overleaf官方的docker-compose.ymlsharelatex文件夹下。

可以修改一下映射端口,我的没有冲突就不改了

配置文件中的端口,在安全组中开放

使用docker-compose 启动部署

第一次运行docker-compose会自动拖取镜像mongo和redis,我上一篇在鲲鹏上想尝试的手动安装mongodb代替docker-compose的功能就是这张图的启发。

docker-compose在拖镜像

1sudo docker-compose up -d

-d参数可以让docker在后台执行,不加-d的话就会在终端输出一大串状态,而且你还得一直保持着终端挂着。

似乎跑起来了

到这里就换到使用Docker部署ShareLaTex并简单配置中文环境的教程来,进入容器的命令行(sharelatex容器本质上是一个Ubuntu)

1docker exec -it sharelatex bash

下载并运行升级脚本

1wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
2sh update-tlmgr-latest.sh -- --upgrade

新版本自动安装了2019所以更新应该不会太麻烦

更换texlive的下载源,例如国内的清华源

1tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/

升级tlmgr

1tlmgr update --self --all

安装完整版texlive(漫长的等待,不要让shell断开)

1tlmgr install scheme-full

开始慢慢长征路

等上一步跑完,退出sharelatex的命令行界面,并重启sharelatex容器

1exit
2docker restart sharelatex

然后在浏览器打开你的IP地址,如果改了端口的加上对应端口,第一次使用会提示注册管理员账号。

胜利了,为了这一刻,我太难了

中文编程使用xelatex,虽然有报错,但是不影响 中文编译

参考overleaf-Chinese和]LaTeX技巧856:在overleaf平台上使用CTeX可以直接使用Ubuntu自带的字体无需自己手动安装字体。

 1\documentclass{article}
 2\usepackage{CJKutf8}
 3\begin{document}
 4
 5\begin{CJK*}{UTF8}{gbsn}
 6\section{前言}
 7\section{关于数学部分}
 8数学、中英文皆可以混排。You can intersperse math, Chinese and English (Latin script) without adding extra environments.
 9\end{CJK*}
10
11\bigskip  %% Just some white space
12You can also insert Latin text in your document
13\bigskip  %% Just some white space
14
15\begin{CJK*}{UTF8}{bsmi}
16這是繁體中文。
17\end{CJK*}
18
19\begin{CJK}{UTF8}{min}
20\section{これは最初のセクションである}
21日本語で \LaTeX の組版を実証するための導入部分。
22フォントはまた、数学的な形態および他の環境で使用することができる
23\end{CJK}
24
25\bigskip
26Outside the environment Latin characters may be used.
27
28\begin{CJK}{UTF8}{}
29\CJKfamily{mj}
30전체 문서에 대한 기본 정보를 소개 단락.
31\begin{verbatim}
32그것은 간격 방법을 참조 그대로 글꼴을 테스트
33\end{verbatim}
34\end{CJK}
35
36Latin characters are also allowed.
37
38\end{document}

pdflatex表现良好

CJK大法好

Quick Start Guide官网还有像设置https,设置语言一类的教程,感兴趣可以再看看。