需求背景

Centos7 下 Java 生成图片水印时中文乱码,原因是没有安装中文字体。

安装中文字体

以下是基于 Centos7 手动安装中文字体的详细步骤。当测试或者生产环境服务器比较多的时候,建议使用自动化运维工具。

# 安装字体库
$ yum -y install fontconfig # 查看是否有中文字体
$ fc-list :lang=zh # 创建中文字体目录
$ mkdir /usr/share/fonts/chinese # 在 windows 的 C:\Windows\Fonts 目录下找到相应的字体 copy 到 chinese 目录下,这里以 宋体 为例
$ scp simsun.ttc simsunb.ttf root@xxxxx:/usr/share/fonts/chinese # 查看是否有中文字体
$ fc-list :lang=zh
/usr/share/fonts/chinese/simsun.ttc: SimSun,宋体:style=Regular,常规
/usr/share/fonts/chinese/simsun.ttc: NSimSun,新宋体:style=Regular,常规

Ansible 批量安装

通常测试或者生产环境服务器比较多,下面记录如何使用 Ansbile 来批量安装中文字体。

# ansbile playbook 执行
$ ansible-playbook fonts.yml # 验证所有服务器是否生效
$ ansible all -m shell -a "fc-list :lang=zh"
sever01 | SUCCESS | rc=0 >>
/usr/share/fonts/chinese/simsun.ttc: SimSun,宋体:style=Regular,常规
/usr/share/fonts/chinese/simsun.ttc: NSimSun,新宋体:style=Regular,常规
sever02 | SUCCESS | rc=0 >>
/usr/share/fonts/chinese/simsun.ttc: SimSun,宋体:style=Regular,常规
/usr/share/fonts/chinese/simsun.ttc: NSimSun,新宋体:style=Regular,常规
......

fonts.yml 内容:

---
- name: Install Chinese Fonts.
hosts: all
remote_user: root
become: yes
become_method: sudo
become_user: root
roles:
- fonts

ansible playbook 目录结构(删除了无用目录):

$ tree roles/fonts
roles/fonts
├── files
│   ├── simsun.ttc
│   └── simsunb.ttf
└── tasks
└── main.yml 2 directories, 3 files

task/main.yml 内容:

---
# tasks file for fonts - name: install fontconfig.
yum:
name: "{{ item }}"
state: installed
with_items:
- fontconfig
ignore_errors: true - name: mkdir /usr/share/fonts/chinese.
file:
path: /usr/share/fonts/chinese
state: directory
mode: 0755 - name: Copy fonts to agent.
copy:
src: "{{ item }}"
dest: /usr/share/fonts/chinese
with_items:
- simsun.ttc
- simsunb.ttf

微信公众号:daodaotest

Centos7 使用 Ansible 批量安装中文字体的更多相关文章

  1. linux安装中文字体

    一.查看系统字体 在开始安装之前,我们先查看系统中已经安装的字体. 要查看系统中已经安装的字体,我们可以使用fc-list命令进行查看.如果系统中没有该命令的话,我们需要先安装相关的软件包. 在cen ...

  2. 3、树莓派的配置:改静态IP、连接ssh、安装中文字体、安装谷歌输入法、增加USB电流、修改触摸屏分辨率、扩展sd卡空间、修复vi和vim乱码问题、安装配置远程桌面vnc

    本博文仅作本人操作过程的记录,留作备忘.自强不息 QQ1222698 1.连接上HDMI线,插上触摸屏,插上键盘,鼠标,网线,启动.系统正常启动,但是一直闪烁,不停的黑屏,是由于触摸屏的usb口供电不 ...

  3. 对linux安装中文字体库

    问题描述: linux提供的web服务,能在网页展示中文,下载pdf出现中文无法读取!,甚是迷瞪,经分析展示是本地浏览器的解析,下载pdf是服务器端的响应,因此要在服务端安装对应的字体库就可以解决此问 ...

  4. 在CentOS 6.X中安装中文字体

    1.从Windows中 拷贝或者网络上下载你想要安装的字体文件(*.ttf文件) 2.新建字体目录 #mkdir /usr/share/fonts/ 3.修改字体文件的权限,使root用户以外的用户也 ...

  5. debian安装中文字体

    debian刚安装完成之后,因为没有中文字体,会出现方框. 安装中文字体: $ su # apt-get install fonts-arphic-bkai00mp fonts-arphic-bsmi ...

  6. Linux 下安装中文字体

    本文以安装黑体为例,简单演示如何在Linux下安装中文字体. 环境信息介绍 [root@thatsit ~]# cat /etc/redhat-release CentOS Linux release ...

  7. docker容器中安装中文字体

    在项目中用到pdf导出功能,需要安装中文字体,项目使用docker部署,为了方便决定在将字体安装在镜像中. 1.在dockerfile文件中添加字体copy语句(本次用是的宋体,字体源文件放在dock ...

  8. Linux安装中文字体(已验证)

    1.安装字体命令 sudo apt install -y fontconfig 2.查看已安装的字体 (1)查看linux已安装字体 fc-list (2)查看linux已安装中文字体 fc-list ...

  9. linux 安装中文字体

    工具/原料   centos6.5_x64 方法/步骤    centos6.5下使用下面命令进行安装 yum install -y fontconfig mkfontscale  使用fc-list ...

随机推荐

  1. 在VS Code下配置Julia

    原来尝试用Sublime text3配置Julia,但是老是会出一些问题,所以直接在VS code下配置了 1.下载Julia 2.安装,安装过程和其他得软件安装一样,可以改变安装路径 3.安装完成后 ...

  2. SDL-开篇明义

    SDL只是方法论,忌为SDL而SDL 1.sdl是什么 sdl是安全研发生命周期 ,一个方法论, 理念是安全左移, 通过各种方法.工具.流程设计和交付更安全的软件,以期望降低安全成本,最终还是为了保护 ...

  3. 1327C - Game with Chips (构造)

    题目大意:一个n*m的棋盘上有k个棋子,k个棋子相互关联,可以一起向上向下向左向右,当碰到边界时,如果继续移动会发生越界,那么该棋子会保持不动,其余棋子继续移动.问能否在2*n*m的移动次数内,使各个 ...

  4. get 获取方式练习题及dom基础

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. [转]ThinkCMF框架任意内容包含漏洞分析复现

    0x00 简介 ThinkCMF是一款基于PHP+MYSQL开发的中文内容管理框架,底层采用ThinkPHP3.2.3构建.ThinkCMF提出灵活的应用机制,框架自身提供基础的管理功能,而开发者可以 ...

  6. jmeter引入外部jar包的方法

    jmeter最完美的jar包引入 第一步:需要新建一个文件夹用来存放需要引用的外部jar包,例如:建一个dependencies 文件夹 第二步:jmeter 的配置文件 jmeter.propert ...

  7. 浅析Java7中的ConcurrentHashMap

    引入ConcurrentHashMap 模拟使用hashmap在多线程场景下发生线程不安全现象 import java.util.HashMap; import java.util.Map; impo ...

  8. 曹工杂谈--只用一个命令,centos系统里装了啥软件,啥时候装的,全都清清楚楚

    前言 一直以来,对linux的掌握就是半桶水的状态,经常yum装个东西,结果依赖一堆东西:然后再用源码装个东西,只知道make.make install,背后干了啥也不清楚了,卸载也不方便. 这几天工 ...

  9. 【编程之美】超时重传,滑动窗口,可靠性传输原理C语言实现

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://www.cnblogs.com/lihuidashen/p/128003 ...

  10. python25之进制转换

    一.进制转换函数 bin():将十进制转换为二进制 oct():将十进制转换为八进制 hex():将十进制转换为十六进制 >>> x=1234>>> bin(x)' ...