台架上刷导航包流程

刷导航包:
先扩容:/lib/systemd/systemd-growfs /
把导航包navigation-china*.tar.gz放到/tmp下
Autostart文件放到home/root下
执行sh Autostart-4.1.sh
Autostart-4.1.sh内容如下

#!/bin/bash
version="Install script Ver 3.8"
echo $version

echo Please prepare file from Artifactory.
#Disable navigation-china service to Exclude interference
mount -o remount,rw /

# Stop running navigation
kill -9 `pidof nv_main`
systemctl stop navigation-china

# Clean old version and data
rm -rf /opt/navroot/cn_amap
rm -rf /run/filesystem_storage/systemwide/navi/cn_navi/*

# Install package:
## Decompress to temp directory
temp_path=/opt/navroot/.temp
rm -rf  $temp_path
mkdir -p $temp_path
# Raise exception when unzip failed: exit 1
tar -zxf /tmp/navigation-china*.tar.gz -C $temp_path || exit 1

## Move files to right directory
### Replace service file
if [ -f "$temp_path/lib/systemd/system/navigation-china.service" ];
then
    echo $version: Use "navigation-china.service" in Package
    mv $temp_path/lib/systemd/system/navigation-china.service /lib/systemd/system/navigation-china.service
else
    if [ -f "navigation-china.service" ]; # service for product package.
    then
        echo $version: Use "navigation-china.service" in local
        cp navigation-china.service /lib/systemd/system/navigation-china.service
    else
        echo $version:Package without service file
    fi
fi

### Replace asan(AddressSanitizer) file
if [ -f "$temp_path/usr/lib/libasan.so" ];
then
    echo $version: Add asan to system env
    mv $temp_path/usr/lib/libasan.so* /usr/lib
    chmod 755 /usr/lib/libasan.so*
else
    echo $version:No asan in package
fi

### Mapdata Permissioins
if [ -f "$temp_path/lib/systemd/system/systemd-tmpfiles-setup-navchndb@.service" ];
then
    echo $version: copy mapdata permissions service
    mv $temp_path/lib/systemd/system/systemd-tmpfiles-setup-navchndb@.service /lib/systemd/system/
fi

if [ -f "$temp_path/etc/polkit-1/rules.d/04-navigation-china.rules" ];
then
    echo $version: copy mapdata permissions rule
    mv $temp_path/etc/polkit-1/rules.d/04-navigation-china.rules /etc/polkit-1/rules.d/04-navigation-china.rules
fi

### Replace Navigation
mv $temp_path/opt/navroot/cn_amap /opt/navroot/cn_amap
### Replace apparmor
if [ -f "$temp_path/etc/apparmor.d/opt.navroot.cn_amap.nv_main" ] # apparmor in develop package.
then
    echo $version: Use "opt.navroot.cn_amap.nv_main" in Package
    mv $temp_path/etc/apparmor.d/opt.navroot.cn_amap.nv_main /etc/apparmor.d/opt.navroot.cn_amap.nv_main
else
    if [ -f "opt.navroot.cn_amap.nv_main" ] # apparmor for product package.
    then
        echo $version: Use "opt.navroot.cn_amap.nv_main" in local
        cp opt.navroot.cn_amap.nv_main /etc/apparmor.d/opt.navroot.cn_amap.nv_main
    else
        echo $version:Package without apparmor configure
    fi
fi

## Fix folder permission
chown nav:navi -R /opt/navroot/cn_amap/
chmod +x /opt/navroot/cn_amap/nv_main

# Apply configure
systemctl enable navigation-china
apparmor_parser -r /etc/apparmor.d/opt.navroot.cn_amap.nv_main

#restart navigation
systemctl start navigation-china

# check result
echo "Please check the script result: y/n and Enter"
echo "* Press 'y' to watch navigation-china service status"
echo "* Press 'n' to end script"
read response

# Clean
rm -rf $temp_path

if [ 'y' = $response ]
then
# watch status
watch systemctl status navigation-china
fi

echo $version: Done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三月微风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值