AWS Elastic Beanstalk中安装tesseract5.3.4版本

问题

需要在eb(Elastic Beanstalk)的amazon linux 2023中安装tesseract软件。但是,因为amazon linux 2023官方软件库里面没有包含tesseract软件,需要通过开源的Fedora软件源来解决这个问题。

思路

配置Fedora 40软件源(amazon linux 2023的官方文档是说最高兼容Fedora 36,但是这次2025年11月,测试一下Fedora 40软件源中的tesseract5.3.4版本也可以用),然后,使用dnf安装tesseract和中文,英文语言包。

.ebextensions目录结构

bash 复制代码
├── .ebextensions                    
│   ├── 01launch-template.config
│   ├── 02tesseract.config
│   ├── 03timezone.config
│   └── 04environment-variables.config

01launch-template.config

设置应用程序的环境变量。

yaml 复制代码
option_settings:
  aws:elasticbeanstalk:application:environment:
    TESSDATA_PREFIX: /usr/share/tesseract/tessdata
  aws:autoscaling:launchconfiguration:
    DisableIMDSv1: true
    LaunchTemplateTagPropagationEnabled: true

02tesseract.config

这是安装tesseract库。

yaml 复制代码
files:
    "/etc/yum.repos.d/fedora.repo":
        mode: "000644"
        owner: root
        group: root
        content: |
            [fedora]
            name=Fedora 40 - $basearch
            #baseurl=http://download.example/pub/fedora/linux/releases/40/Everything/$basearch/os/
            metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-40&arch=$basearch
            enabled=1
            metadata_expire=7d
            repo_gpgcheck=0
            type=rpm
            gpgcheck=1
            gpgkey=https://src.fedoraproject.org/rpms/fedora-repos/raw/f40/f/RPM-GPG-KEY-fedora-40-primary
            skip_if_unavailable=False

container_commands:
    install_tesseract:
        command: |
            sudo dnf install tesseract -y
            sudo dnf install tesseract-langpack-eng -y
            sudo dnf install tesseract-langpack-chi_sim -y
            sudo dnf install tesseract-langpack-chi_sim_vert -y
        ignoreErrors: true

03timezone.config

这是设置时区。

yaml 复制代码
commands:
    set_timezone:
      command: |
        sudo timedatectl set-timezone Asia/Shanghai
      ignoreErrors: true

04environment-variables.config

设置环境变量

yaml 复制代码
files:
  "/etc/profile.d/environment_variables.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/bin/bash
      export TZ="Asia/Shanghai"
      export TESSDATA_PREFIX="/usr/share/tesseract/tessdata"

container_commands:
    environment_variables:
      command: |
        source /etc/profile
      ignoreErrors: true

总结

这就是eb安装tesseract库和设置时区的过程。执行是按照文件名执行顺序。如果在java中使用Tess4J库通过jni方式调用tesseract,需要注意Tess4J库版本号与tesseract库版本号对应。

参考

相关推荐
dkbnull1 小时前
深入理解Spring两大特性:IoC和AOP
spring boot
洋洋技术笔记6 小时前
Spring Boot条件注解详解
java·spring boot
洋洋技术笔记1 天前
Spring Boot配置管理最佳实践
spring boot
用户8307196840822 天前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
大道至简Edward2 天前
Spring Boot 2.7 + JDK 8 升级到 Spring Boot 3.x + JDK 17 完整指南
spring boot·后端
洋洋技术笔记2 天前
Spring Boot启动流程解析
spring boot·后端
怒放吧德德3 天前
Spring Boot 实战:RSA+AES 接口全链路加解密(防篡改 / 防重放)
java·spring boot·后端
李慕婉学姐3 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
QQ5110082853 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
WeiXin_DZbishe3 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5