# Linux上利用firejail沙盒，实现程序环境隔离多开cysic

By [thebigcoming](https://paragraph.com/@thebigcoming) · 2024-09-04

---

本着节约为本的原则，利用一切可利用资源，从而实现利润最大化，特写此教程。由于firejail本身资源占用比极低(对比docker)，故通过firejail沙盒环境隔离，可以在资源很低的情况下实现一机多开。以下以在ubuntu上多开cysic 进行举例

准备阶段
----

*   思考自己需要开多少个程序，假设是3
    
*   准备好自己的cysic的程序及配置文件
    

操作步骤
----

### 安装firejail

    sudo 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
    

![](https://storage.googleapis.com/papyrus_images/d30a405cc7d54525e76804f0caf80d3faaf2741ba759c95605f5a50e8f0bcd36.png)

    # 查看cysic日志
    pm2 logs cysic1
    pm2 logs cysic2
    pm2 logs cysic3
    

![](https://storage.googleapis.com/papyrus_images/9e2260738ca5107f0d4a3c20d187979c5b4b984c7a16b147732bc4bc3a589200.png)

其他
--

由于firejail 执行命令时设定了firejail\_env1当作沙盒的私有文件根目录，故在隔离环境中写入到~/下的任何数据，包括key、param都会在firejail\_env1下。如果需要替换key，直接替换此目录下的key即可

![](https://storage.googleapis.com/papyrus_images/c66f5e80c0a31ce057821ac9720bf239de51f0d55b75e255c1b17374808e274c.png)

---

*Originally published on [thebigcoming](https://paragraph.com/@thebigcoming/linux-firejail-cysic)*
