Ubuntu 22.04.3 LTS中安装singularity
文章目录
- 概要
- 背景知识
- 什么是singularity ?
- 安装流程
- 1. 安装Go
- 2. 下载Singularity
- 3. 编译Singularity源代码
- 4. 验证安装是否成功
- singularity的使用
- 安装open structure
- 小结
概要
这里主要记录singularity的安装和使用,安装过程中会出现相关的错误,所以目前主要是进行记录。
背景知识
什么是singularity ?
以下这篇blog介绍了singularity容器。
浅谈Singularity容器
安装流程
安装流程看了很多文章,但是主要是针对从下面的文章进行实践,其中也遇到了很多问题,并进行了解释。
在Linux系统下安装部署Singularity容器
Singularity容器的安装大致分为以下三个步骤:
- 安装Go
- 下载Singularity
- 编译Singularity源代码
1. 安装Go
Singularity v3 及以上版本主要用 Go语言 编写,所以需要安装Go才能进行源代码编译。目前可以查看官网链接,一般官网上展示的是最新版。

这里使用go1.21.3.linux-amd64.tar.gz
下载完成后解压到目标目录下,并设置相应的环境变量。
tar -xzvf go1.21.3.linux-amd64.tar.gz
将环境变量设置为指向Go:PATH
echo 'export PATH=<PATH to go>/go/bin:$PATH' >> ~/.bashrc &&\
source ~/.bashrc
注意:如果之前系统中已经下载安装过go程序,需要将之前的删除或替换
go rm -r <PATH to go>/go
2. 下载Singularity
从官网中下载任意一个版本Singularity,请查看Github的发布列表
"/>
因为我安装的ubuntu的系统是Ubuntu 22.04,其实更偏向于Ubuntu 22.04 (jammy),但是不太懂,所以我没有试过这种,直接下载的就是singularity-ce-4.0.1.tar.gz,也成功了。
也可以下载其他版本
3. 编译Singularity源代码
现在你已经准备好构建Singularity了。依赖项将自动下载。您可以使用以下命令构建Singularity:
# 解压
tar -xvzf singularity-ce-4.0.1.tar.gz
# 进入singularity目录下
cd singularity
# 构建Singularity
./mconfig
当执行上述命令后,可能会遇到下面情况
./mconfig出现下面错误:seccomp headers are required to build singularity with seccomp support
这个错误消息表明在构建Singularity时需要安装seccomp(安全计算)的头文件以启用seccomp支持。Seccomp是一个Linux内核的安全功能,可以用来限制进程对系统调用的访问,提高应用程序的安全性。
要解决这个问题,你可以按照以下步骤来安装seccomp的头文件:sudo apt-get install libseccomp-dev
重新运行./mconfig后出现新的错误:glib-2.0 header are required to build conmon
这个错误消息表明在构建 conmon 时需要安装 glib-2.0 的头文件。glib-2.0 是一个常见的C语言库,用于开发Linux应用程序,它提供了许多常用的功能和数据结构。
要解决这个问题,你可以按照以下步骤来安装 glib-2.0 的头文件:安装 glib-2.0 头文件:你需要使用包管理器来安装 glib-2.0 的头文件。sudo apt-get install libglib2.0-dev
重新运行./mconfig后出现新的错误:fuse/fuse3(libfuse/fuse3)header are required to build squashfuse
这个错误消息表明在构建 squashfuse 时需要安装 libfuse 或 libfuse3 的头文件,这是FUSE(Filesystem in Userspace)的库,用于支持用户空间文件系统的开发。要解决这个问题,你需要根据你的系统使用的FUSE版本来安装相应的头文件。
1。 安装 libfuse 头文件:
sudo apt-get install libfuse-dev2。 安装 libfuse3 头文件:
sudo apt-get install libfuse3-dev
再次运行mconfig就不再出现错误,会在当前builddir文件夹下出现makefile文件,之后继续singularity的编译
make -C builddir && \
sudo make -C builddir install
需要注意的是Singularity需要在root用户下安装才能正常运行。
4. 验证安装是否成功
任何路径下直接:
singularity --version
如果return 相关的version,则表明成功安装
查看具体的脚本,可以输入
singularity -h
<img src="
singularity的使用
Singularity容器常用命令
安装open structure
详细的安装说明
sudo singularity build ost.img Singularity
note: 安装时间很长,请确定网络良好

使用:
singularity run --app OST ost.img -h
比较refernece structure and predicted structure to obtain lddt:
singularity run --app OST ost.img compare-structures --model predicted.pdb --reference solution.pdb --output output.json --lddt
小结
感谢上述各种blog的支持
相关文章:
Ubuntu 22.04.3 LTS中安装singularity
文章目录 概要背景知识什么是singularity ? 安装流程1. 安装Go2. 下载Singularity3. 编译Singularity源代码 4. 验证安装是否成功singularity的使用安装open structure 小结 概要 这里主要记录singularity的安装和使用,安装过程中会出现相关的错误,所以…...
NVM安装node后提示没有对应npm包(即:无法将“npm”项识别为 cmdlet、函数、脚本文件)
背景 windows11 node版本降低到v12.22.12后,执行:nvm -v npm -v npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果 包括路径,请确保路径正确,然后再试一次。 所在位置 …...
路由器基础(十一):ACL 配置
访问控制列表 (Access Control List,ACL) 是目前使用最多的访问控制实现技术。访问控制列表是路由器接口的指令列表,用来控制端口进出的数据包。ACL适用于所有的被路由协议,如IP、IPX、AppleTalk 等。访问控制列表可以分为基本访问控制列表和高级访问控制…...
【今日文章】:如何用css 实现星空效果
【今日文章】:如何用css 实现星空效果 需求实现tips: 需求 用CSS 实现星空效果的需求: 屏幕上有“星星”,且向上移动。移动的时候,动画效果要连贯,不能出现闪一下的样子。 实现 这里我们需要知道,“星星”是…...
HackTheBox-Starting Point--Tier 1---Three
文章目录 一 题目二 实验过程 一 题目 Tags Web、Cloud、Custom Applications、AWS、AWS、Reconnaissance、Web Site Structure Discovery、Bucket Enumeration、Arbitrary File Upload、Anonymous/Guest Access译文:Web、云、定制应用程序、AWS、AWS、侦察、网站…...
Linux Alsa声卡驱动(2):Machine驱动
一:Simple Card Simple Card是ASoC通用的machine driver,可支持大部分标准声卡。 驱动:kernel/sound/soc/generic/simple-card.c compatible = "simple-audio-card"; 1、设备树属性 (1)协议 属性协议格式描述simple-audio-card,format i2si2s标准格式right_j…...
某综合性能源集团绩效考核设计项目纪实
——设置分层分类的考核指标、建立多维度评价体系,增加考核结果信服力 【客户行业】能源行业 【问题类型】薪酬管理 【客户背景】 某综合性能源跨国集团是一家专注于能源加工行业的民营跨国企业,业务覆盖能源工程建设、高端装备制造、能源勘探开发、专…...
ubuntu18.04 通过创建服务实现开机自启, 启动指定脚本
下面是具体的操作过程 切换目录到root cd /root/ 新建一个脚本 vi myscript.sh 添加内容:设置指定网卡的ip地址 (这里根据自己需要修改) #!/bin/bash ifconfig enp0s3 10.20.60.113 赋予执行权限 chmod x myscript.sh 新建一个服务 vi /etc/systemd/system/myscr…...
Tomcat 9.0.x 源码编译
文章目录 一、克隆源码二、构建 Maven1)在项目根目录中新建 pom.xml 文件2)然后 Add Maven Projects 三、在目录中增加 home 目录四、增加启动配置五、其它问题1)控制台乱码解决 2)启动后访问 localhost:8080 报错解决 一、克隆源…...
基于SSM的旅游管理系统的设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
多目标优化中的“latent action”是什么?
2020 NeurIPS 中的“latent action”: Our model defines latent action as a boundary that splits the region represented by a node into a high-performing and a low performing region. 这里的latent action代表一个边界(分类器)&…...
上海亚商投顾:三大指数小幅下跌 CPO、算力板块集体爆发
上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指早间低开后震荡,午后一度拉升翻红,创业板指盘中跌近1%,随后探底回升跌…...
【C语法学习】19 -关闭和刷新文件
文章目录 1 关闭文件1.1 fclose()函数1.1.1 函数原型1.1.2 参数1.1.3 返回值 1.2 fcloseall()函数1.2.1 函数原型1.2.2 参数1.2.3 返回值 2 刷新文件2.1 缓冲区的概念2.2 缓冲区的刷新2.2.1 fflush()函数2.2.1.1 函数原型2.2.1.2 参数2.2.1.3 返回值 2.2.2 flushall()函数2.2.2…...
制作吉他谱软件Guitar Pro8中文版本
前面提到了使用Guitar Pro制作吉他谱的步骤,除此以外,在最新的Guitar Pro 8版本中,还新增了制作简谱的功能。 在窗口右侧的乐谱中,选择简谱按钮,可以打开乐谱的简谱编辑模式。 Guitar Pro-Guitar Pro 8 win-安装包ht…...
SpringBoot整合JUnit
1.创建新项目 说明:创建springboot_04_junit项目,选择对应的版本。 2.接口类 说明:新建BookDao接口。 package com.forever.dao;public interface BookDao {public void save(); }3.实现类 说明: 新建BookDaoImpl实现类。 pa…...
华为取消6000万订单影响在扩大,高通嘴硬强调不受影响
高通公布了2023年第三季度的业绩,业绩显示营收下滑24%,净利润下滑36%,不过高通强调预计今年四季度业绩将回升,意思是说华为取消订单带来的影响较小。 一、高通处境不利已延续4年时间 2019年美国对华为采取措施,众多中国…...
培训心得怎么写?CHAT帮你解决问题
问CHAT:请写一篇入职教师的培训心得 CHAT回复:作为一名新入职的教师,我非常感谢学校给予的这次培训机会。此次培训让我收获颇丰,无论是在教学理念、教学技巧上,还是在如何与学生、家长建立良好关系方面,都有…...
AJAX-解决回调函数地狱问题
一、同步代码和异步代码 1.同步代码 浏览器是按照我们书写代码的顺序一行一行地执行程序的。浏览器会等待代码的解析和工作,在上一行完成之后才会执行下一行。这也使得它成为一个同步程序。 总结来说:逐行执行,需原地等待结果后࿰…...
【Mac开发环境搭建】JDK安装、多JDK安装与切换
文章目录 JDK下载与安装下载安装 配置环境变量安装多个JDK共存 JDK下载与安装 下载 Oracle官网提供了非常多个版本的JDK供下载,可以点击如下链接重定向到JDK下载页面 ORACLE官网JDK下载 安装 下面的官方文档可以点开收藏到浏览器的收藏夹,这样后续在开…...
C,C++,JAVA的区别与联系
C、C和Java是三种常见的编程语言,它们有一些区别和联系。 区别: 1. 语言类型:C是一种过程式编程语言,C是在C的基础上发展而来的面向对象编程语言,而Java是一种面向对象编程语言。 2. 语法:C语言相对较为…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
