Hello friends!
I am trying to make hass-daemon autostart. I can’t configure the usual files, because the ASUSTOR resets everything on restart. So after installing entware-ng, I discovered it has the directory /usr/local/AppCentral/entware-ng/opt/etc/init.d
so I thought I might just put my script for autostarting Home Assistant there. I created a script and tried a few things like
#!/bin/sh
/my_hass_directory/hass-daemon start
which works, when I run it manually, but it doesn’t work on startup. What am I doing wrong.
I named the script S60hass-daemon
(there is already a S56dnsmasq
script used to start my dns-server, which I want to do first), and I ran chmod 777 S60hass-daemon
and chmod +x S60hass-daemon
.
I also tried to copy the content of S56dnsmasq
into S60hass-daemon
and change the name to hass-daemon
and path to /my_hass_directory
, but that gave a strange error.
I also tried to make a link my hass-daemon
file named S60hass-daemon
, which would also run manually, but not at startup.
The /entware-ng/opt/etc/init.d
folder doesn’t have the normal rcX.d
folders, but has a rc.unslung
file, that, according to itself:
# Start/stop all init scripts in /opt/etc/init.d including symlinks
# starting them in numerical order and
# stopping them in reverse numerical order
I never had any experience with linux, and I am completely lost.
Please help!
Guys; this is really important. How can I use the Home Assistant as an alarm clock, if I don’t know that it restarts after a power outage?
Please help!
This was actually very easy! You just need to make a link to your hass-daemon
in the local init.d folder. In my case:
homeassistant@AS-302T:/usr/local/etc/init.d $ ln -s /volume1/homeassistant/hass-daemon S95hass-daemon
the name is broken down thus: S
means start, whatever comes after S
is sorted so that the first starts first. By convention, two numbers is used first. I use S95
because I want home assistant to start when everything else already started. I keep the rest of the name hass-daemon
so I know what it is, but it could be anything.
Thanks to Philippe aka. Father Mande for leading me to the post in the Asustor forum that solved my problem.
Sharing How to Install info for Asustor users:
- Nas Web Interface --> App Central, install Python, Python3, Entware-ng
2.Connect to NAS using Putty (SSH) with root user
cd /volume1/.@plugins/AppCentral/python3/bin
./python3 -m ensurepip
./python3 -m pip install homeassistant==0.64.3
./python3 -m pip install --upgrade pip
./python3 -m pip install --upgrade homeassistant
-
Nas Web Interface --> Access Control:
Create homeassitant user (users group)
Create Shared Directory HomeAssistant (volume1) and RW permissions for homeassitant user (?user not used yet?).
-
Create hass-daemon file (WinSCP Shift+F4) in directory created in #2 (/volume1/HomeAssistant) - (see code at the bottom)
cd /volume1/HomeAssistant
#Assign Permissions
chmod 755 hass-daemon
#Check Results
ls -ltr
-
Create links
cd /volume1/HomeAssistant
#Create Links
ln -s /volume1/.@plugins/AppCentral/python3/bin/python3 python3
ln -s /volume1/.@plugins/AppCentral/python3/lib/python3.7/site-packages/homeassistant homeassistant
#Check results
ls -ltr
6.Install sudo (entware)
opkg update
opkg install sudo
7.Start HomeAssistant daemon
cd /volume1/HomeAssistant
./hass-daemon start
#Check results
ps -ef | grep hass
#to restart (after changing config file)
./hass-daemon restart
if started sucessfully you will have also many files created in /volume1/HomeAssistant directory:
home-assistant.pid file, *.yaml files etc.
-
From Local network
in Browser type
NAS_IP_address:8123
to open Home Assistant page and complete and create account
-
In Router define port forwarding to point NAS_IP_address:8123 from external network
Preformatted text
Open Home Assistant from Anywere using external IP address and port or using dynimic ip (no-ip.com) etc
-
Add to init.d (as described in previous post)
cd /usr/local/etc/init.d
ln -s /volume1/HomeAssistant/hass-daemon S95hass-daemon
hass-daemon file:
#!/bin/sh
Package
PACKAGE=“homeassistant”
DNAME=“Home Assistant”
Others
USER=“homeassistant”
PYTHON_DIR="/volume1/.@plugins/AppCentral/python3/bin"
PYTHON="$PYTHON_DIR/python3"
HASS="$PYTHON_DIR/hass"
INSTALL_DIR="/volume1/HomeAssistant"
PID_FILE="$INSTALL_DIR/home-assistant.pid"
FLAGS="-v --config $INSTALL_DIR --pid-file $PID_FILE --daemon"
REDIRECT="> $INSTALL_DIR/home-assistant.log 2>&1"
start_daemon ()
{
sudo -u ${USER} /bin/sh -c “$PYTHON $HASS $FLAGS $REDIRECT;”
}
stop_daemon ()
{
kill cat ${PID_FILE}
wait_for_status 1 20 || kill -9 cat ${PID_FILE}
rm -f ${PID_FILE}
}
daemon_status ()
{
if [ -f ${PID_FILE} ] && kill -0 cat ${PID_FILE}
> /dev/null 2>&1; then
return
fi
rm -f ${PID_FILE}
return 1
}
wait_for_status ()
{
counter=$2
while [ ${counter} -gt 0 ]; do
daemon_status
[ $? -eq $1 ] && return
let counter=counter-1
sleep 1
done
return 1
}
case $1 in
start)
if daemon_status; then
echo ${DNAME} is already running
exit 0
else
echo Starting ${DNAME} …
start_daemon
exit $?
fi
;;
stop)
if daemon_status; then
echo Stopping ${DNAME} …
stop_daemon
exit $?
else
echo ${DNAME} is not running
exit 0
fi
;;
restart)
if daemon_status; then
echo Stopping ${DNAME} …
stop_daemon
echo Starting ${DNAME} …
start_daemon
exit $?
else
echo ${DNAME} is not running
echo Starting ${DNAME} …
start_daemon
exit $?
fi
;;
status)
if daemon_status; then
echo ${DNAME} is running
exit 0
else
echo ${DNAME} is not running
exit 1
fi
;;
log)
echo ${LOG_FILE}
exit 0
;;
*)
exit 1
;;
esac
1 Like
@js_online
Thank you for helping out! Incredibly much appreciated!
I followed your steps exactly and got stuck at step #7 executing: ./hass-daemon start
Unfortunately this is what I get in Terminal (running a ssh session):
bas@NAS-10TB-RAID1:/volume1/HomeAssistant $ cd /volume1/HomeAssistant
bas@NAS-10TB-RAID1:/volume1/HomeAssistant $ ./hass-daemon start
./hass-daemon: line 4: Assistant”: not found
Starting …
sudo: unknown user: “homeassistant”
sudo: unable to initialize policy plugin
./hass-daemon: line 94: ”: not found
bas@NAS-10TB-RAID1:/volume1/HomeAssistant $
Any suggestions?
This is the hass-daemon file (no extention) I created:
#!/bin/sh
#Package
PACKAGE=“homeassistant”
DNAME=“Home Assistant”
#Others
USER=“homeassistant”
PYTHON_DIR=“/volume1/.@plugins/AppCentral/python3/bin”
PYTHON=“$PYTHON_DIR/python3”
HASS=“$PYTHON_DIR/hass”
INSTALL_DIR=“/volume1/HomeAssistant”
PID_FILE=“$INSTALL_DIR/home-assistant.pid”
FLAGS=“-v --config $INSTALL_DIR --pid-file $PID_FILE --daemon”
REDIRECT=“> $INSTALL_DIR/home-assistant.log 2>&1”
start_daemon ()
{
sudo -u ${USER} /bin/sh -c “$PYTHON $HASS $FLAGS $REDIRECT;”
}
stop_daemon ()
{
kill cat ${PID_FILE}
wait_for_status 1 20 || kill -9 cat ${PID_FILE}
rm -f ${PID_FILE}
}
daemon_status ()
{
if [ -f ${PID_FILE} ] && kill -0 cat ${PID_FILE} > /dev/null 2>&1; then
return
fi
rm -f ${PID_FILE}
return 1
}
wait_for_status ()
{
counter=$2
while [ ${counter} -gt 0 ]; do
daemon_status
[ $? -eq $1 ] && return
let counter=counter-1
sleep 1
done
return 1
}
case $1 in
start)
if daemon_status; then
echo ${DNAME} is already running
exit 0
else
echo Starting ${DNAME} …
start_daemon
exit $?
fi
;;
stop)
if daemon_status; then
echo Stopping ${DNAME} …
stop_daemon
exit $?
else
echo ${DNAME} is not running
exit 0
fi
;;
restart)
if daemon_status; then
echo Stopping ${DNAME} …
stop_daemon
echo Starting ${DNAME} …
start_daemon
exit $?
else
echo ${DNAME} is not running
echo Starting ${DNAME} …
start_daemon
exit $?
fi
;;
status)
if daemon_status; then
echo ${DNAME} is running
exit 0
else
echo ${DNAME} is not running
exit 1
fi
;;
log)
echo ${LOG_FILE}
exit 0
;;
*)
exit 1
;;
esac
I also noted that a folder homeassistant within the shared folder HomeAssistant is created.
Unfortunately I cannot explain the process, what to expect.
Hi there, i tried following your step by step but i got stuck on step 2 due to an error that the following line is throwing:
./python3 -m pip install --upgrade homeassistant
Right when the installation is going to proceed with Cryptography and bcrypt, it fails.
Seems from my perspective that it is missing a gcc compiler but i’m not sure how to fix it.
below the output right from the error onwards.
Running setup.py install for cryptography ... error
ERROR: Command errored out with exit status 1:
command: /volume1/.@plugins/AppCentral/python3/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-x6w2ve2m/cryptography/setup.py'"'"'; __file__='"'"'/tmp/pip-install-x6w2ve2m/cryptography/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-e2pexg_3/install-record.txt --single-version-externally-managed --compile
cwd: /tmp/pip-install-x6w2ve2m/cryptography/
Complete output (133 lines):
running install
running build
running build_py
creating build
creating build/lib.linux-i686-3.7
creating build/lib.linux-i686-3.7/cryptography
copying src/cryptography/utils.py -> build/lib.linux-i686-3.7/cryptography
copying src/cryptography/fernet.py -> build/lib.linux-i686-3.7/cryptography
copying src/cryptography/exceptions.py -> build/lib.linux-i686-3.7/cryptography
copying src/cryptography/__init__.py -> build/lib.linux-i686-3.7/cryptography
copying src/cryptography/__about__.py -> build/lib.linux-i686-3.7/cryptography
creating build/lib.linux-i686-3.7/cryptography/x509
copying src/cryptography/x509/oid.py -> build/lib.linux-i686-3.7/cryptography/x509
copying src/cryptography/x509/ocsp.py -> build/lib.linux-i686-3.7/cryptography/x509
copying src/cryptography/x509/name.py -> build/lib.linux-i686-3.7/cryptography/x509
copying src/cryptography/x509/general_name.py -> build/lib.linux-i686-3.7/cryptography/x509
copying src/cryptography/x509/extensions.py -> build/lib.linux-i686-3.7/cryptography/x509
copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-i686-3.7/cryptography/x509
copying src/cryptography/x509/base.py -> build/lib.linux-i686-3.7/cryptography/x509
copying src/cryptography/x509/__init__.py -> build/lib.linux-i686-3.7/cryptography/x509
creating build/lib.linux-i686-3.7/cryptography/hazmat
copying src/cryptography/hazmat/_oid.py -> build/lib.linux-i686-3.7/cryptography/hazmat
copying src/cryptography/hazmat/__init__.py -> build/lib.linux-i686-3.7/cryptography/hazmat
creating build/lib.linux-i686-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives
creating build/lib.linux-i686-3.7/cryptography/hazmat/bindings
copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-i686-3.7/cryptography/hazmat/bindings
creating build/lib.linux-i686-3.7/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends
creating build/lib.linux-i686-3.7/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/twofactor
creating build/lib.linux-i686-3.7/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/serialization
creating build/lib.linux-i686-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/kdf
creating build/lib.linux-i686-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/ciphers
creating build/lib.linux-i686-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-i686-3.7/cryptography/hazmat/primitives/asymmetric
creating build/lib.linux-i686-3.7/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-i686-3.7/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-i686-3.7/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-i686-3.7/cryptography/hazmat/bindings/openssl
creating build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-i686-3.7/cryptography/hazmat/backends/openssl
running egg_info
writing src/cryptography.egg-info/PKG-INFO
writing dependency_links to src/cryptography.egg-info/dependency_links.txt
writing requirements to src/cryptography.egg-info/requires.txt
writing top-level names to src/cryptography.egg-info/top_level.txt
reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files found matching 'vectors'
warning: no previously-included files matching '*' found under directory 'vectors'
warning: no previously-included files found matching 'azure-pipelines.yml'
warning: no previously-included files found matching '.azure-pipelines'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.travis'
warning: no previously-included files matching '*' found under directory '.azure-pipelines'
warning: no previously-included files matching '*' found under directory '.travis'
warning: no previously-included files found matching 'release.py'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching 'codecov.yml'
warning: no previously-included files found matching 'dev-requirements.txt'
warning: no previously-included files found matching 'rtd-requirements.txt'
warning: no previously-included files found matching 'tox.ini'
writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
running build_ext
generating cffi module 'build/temp.linux-i686-3.7/_padding.c'
creating build/temp.linux-i686-3.7
generating cffi module 'build/temp.linux-i686-3.7/_constant_time.c'
generating cffi module 'build/temp.linux-i686-3.7/_openssl.c'
building '_openssl' extension
creating build/temp.linux-i686-3.7/build
creating build/temp.linux-i686-3.7/build/temp.linux-i686-3.7
i686-asustor-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -I/AS3XX/x86/staging/usr/include -I/AS3XX/x86/staging/usr/builtin/include -I/AS3XX/x86/staging/linux-3.4.26-headers/include -fPIC -I/volume1/.@plugins/AppCentral/python3/include/python3.7m -c build/temp.linux-i686-3.7/_openssl.c -o build/temp.linux-i686-3.7/build/temp.linux-i686-3.7/_openssl.o -Wconversion -Wno-error=sign-conversion
unable to execute 'i686-asustor-linux-gnu-gcc': No such file or directory
error: command 'i686-asustor-linux-gnu-gcc' failed with exit status 1