簡體   English   中英

在Linux Mint上制作安裝腳本

[英]Making install script on linux mint

我編寫了一個程序,當我在閑置狀態中有未讀消息時,就會打開Logitech G9 LED燈。 我正在嘗試使用腳本使程序可安裝,但是我不知道應該去哪里。 現在,該程序依靠g9led和python來工作。 如果我制作安裝腳本,那么移動可執行文件的最佳位置是哪里? /usr/bin嗎?

我的安裝腳本如下所示:

#!/bin/bash

cd /tmp
wget http://als.regnet.cz/data/g9led.c
gcc g9led.c -o g9led -lusb
rm g9led.c
mv g9led /usr/bin/g9led
mv unread_msg_monitor.py /usr/bin/unread_msg_monitor.py
sed -i ". /home/papes1ns/.virtualenvs/unread/bin/activate && python /home/papes1ns/Projects/hes_slack_integration/unread.py &" /etc/rc.local
echo "finished"
exit 0

https://github.com/papes1ns/slack_unread_msg_monitor/blob/master/unread_msg_monitor.py

將可執行文件(放在某處)放在主文件夾中沒什么問題。

但是就自動化軟件而言,而不是/etc/rc.local ,請考慮使用init方案來控制您的服務並使它們在啟動時啟動。

例如,如果您的系統上具有runit (sudo apt-get install runit),則將創建2個腳本,例如g9monitor.runit

#!/bin/sh
cd /home/papes1ns
exec chpst -upapes1ns:papes1ns python unread_msg_monitor.py

g9led.runit

#!/bin/sh
cd /home/papes1ns
exec chpst -upapes1ns:papes1ns g9led

然后將以上文件復制到/etc/sv/目錄:

sudo mkdir -p /etc/sv/g9monitor /etc/sv/g9led
sudo cp g9monitor.runit /etc/sv/g9monitor/run
sudo cp g9led.runit /etc/sv/g9led/run

使它們可執行,並在/etc/service創建軟鏈接:

sudo chmod +x /etc/sv/g9monitor/run /etc/sv/g9led/run
sudo ln -sf /etc/sv/g9monitor /etc/service/g9monitor
sudo ln -sf /etc/sv/g9led /etc/service/g9led

建立鏈接后,服務應啟動。 然后,您可以通過sv命令控制它們:

sudo sv status g9monitor
sudo sv down g9led
sudo sv up g9led

要禁用它們,請刪除鏈接:

sudo rm -f /etc/service/g9monitor
sudo rm -f /etc/service/g9led

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM