# Linux上利用firejail沙盒,实现程序环境隔离多开cysic **Published by:** [thebigcoming](https://paragraph.com/@thebigcoming/) **Published on:** 2024-09-04 **URL:** https://paragraph.com/@thebigcoming/linux-firejail-cysic ## Content 本着节约为本的原则,利用一切可利用资源,从而实现利润最大化,特写此教程。由于firejail本身资源占用比极低(对比docker),故通过firejail沙盒环境隔离,可以在资源很低的情况下实现一机多开。以下以在ubuntu上多开cysic 进行举例准备阶段思考自己需要开多少个程序,假设是3准备好自己的cysic的程序及配置文件操作步骤安装firejailsudo apt install firejail -y 根据多开数量创建firejail沙盒目录mkdir ~/firejail_env1 ~/firejail_env2 ~/firejail_env3 将cysic脚本和配置拷贝到沙盒目录cp -rf ~/cysic-verifier ~/firejail_env1/ cp -rf ~/cysic-verifier ~/firejail_env2/ cp -rf ~/cysic-verifier ~/firejail_env3/ 按需修改每个沙盒环境中的配置的奖励地址#用vim或者nano 打开文件,修改配置中的claim_reward_address nano ~/firejail_env1/cysic-verifier/config.yaml 直接启动,验证是否启动正常#检查启动是否正常,是否有报错 firejail --private=~/firejail_env1 bash -c "cd cysic-verifier && ./start.sh" pm2启动和后台管理#如果之前没安装pm2,执行如下命令进行安装(已安装忽略) sudo apt install npm -y sudo npm install pm2 -g # pm2启动cysic1 pm2 start 'firejail --private=~/firejail_env1 bash -c "cd cysic-verifier && ./start.sh"' --name "cysic1" # pm2启动cysic2 pm2 start 'firejail --private=~/firejail_env2 bash -c "cd cysic-verifier && ./start.sh"' --name "cysic2" # pm2启动cysic3 pm2 start 'firejail --private=~/firejail_env3 bash -c "cd cysic-verifier && ./start.sh"' --name "cysic3" pm2查看状态和日志# 查看列表 pm2 ls # 查看cysic日志 pm2 logs cysic1 pm2 logs cysic2 pm2 logs cysic3 其他由于firejail 执行命令时设定了firejail_env1当作沙盒的私有文件根目录,故在隔离环境中写入到~/下的任何数据,包括key、param都会在firejail_env1下。如果需要替换key,直接替换此目录下的key即可 ## Publication Information - [thebigcoming](https://paragraph.com/@thebigcoming/): Publication homepage - [All Posts](https://paragraph.com/@thebigcoming/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@thebigcoming): Subscribe to updates