Добавил функцию удаления
This commit is contained in:
parent
05f9484417
commit
02b88a03dc
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
Службы настраиваются для запуска из-под учётной записи lers. Если такой учётной записи нет, она будет создана.
|
Службы настраиваются для запуска из-под учётной записи lers. Если такой учётной записи нет, она будет создана.
|
||||||
#>
|
#>
|
||||||
param ([string]$version, [switch]$server, [switch]$pollservice, [switch]$force, [switch] $update)
|
param ([string]$version, [switch]$server, [switch]$pollservice, [switch]$force, [switch] $update, [switch] $uninstall)
|
||||||
|
|
||||||
Set-StrictMode -Version 1
|
Set-StrictMode -Version 1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
@ -42,24 +42,11 @@ function Get-ServerAddress
|
|||||||
} while ($true)
|
} while ($true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Возвращает версию и описание ОС
|
||||||
function Get-OsRelease {
|
function Get-OsRelease {
|
||||||
return Get-Content /etc/os-release | ConvertFrom-StringData
|
return Get-Content /etc/os-release | ConvertFrom-StringData
|
||||||
}
|
}
|
||||||
|
|
||||||
###################################
|
|
||||||
# Регистрация репозиториев для установки зависимостей.
|
|
||||||
###################################
|
|
||||||
|
|
||||||
function Add-AstraRegistry($os, $version)
|
|
||||||
{
|
|
||||||
"deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.2/repository-main 1.7_x86-64 main contrib non-free astra-ce" `
|
|
||||||
| Set-Content -Path "/etc/apt/sources.list.d/astra-ext.list"
|
|
||||||
}
|
|
||||||
|
|
||||||
###################################
|
|
||||||
# Установка зависимостей
|
|
||||||
###################################
|
|
||||||
|
|
||||||
# Устанавливает рантайм aspnet
|
# Устанавливает рантайм aspnet
|
||||||
function Install-DotnetRuntime
|
function Install-DotnetRuntime
|
||||||
{
|
{
|
||||||
@ -74,12 +61,6 @@ function Install-DotnetRuntime
|
|||||||
apt-get update
|
apt-get update
|
||||||
apt install aspnetcore-runtime-$dotnetRuntimeVersion -y
|
apt install aspnetcore-runtime-$dotnetRuntimeVersion -y
|
||||||
}
|
}
|
||||||
elseif ($os.ID -eq "astra")
|
|
||||||
{
|
|
||||||
Add-AstraRegistry -osid $os.ID -version $os.VERSION_ID
|
|
||||||
apt-get update
|
|
||||||
apt install aspnetcore-runtime-$dotnetRuntimeVersion -y
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$os | Format-Table
|
$os | Format-Table
|
||||||
@ -183,10 +164,11 @@ ExecStart=/usr/bin/dotnet $pollServiceExecutable
|
|||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
"@
|
"@
|
||||||
|
|
||||||
|
###################################
|
||||||
|
# Установочный скрипт
|
||||||
|
###################################
|
||||||
|
|
||||||
###################################
|
|
||||||
# Убедимся, что запущены от ROOT.
|
# Убедимся, что запущены от ROOT.
|
||||||
###################################
|
|
||||||
|
|
||||||
if ($PSVersionTable.Platform -eq "Unix") {
|
if ($PSVersionTable.Platform -eq "Unix") {
|
||||||
if ( $(whoami) -ne "root") {
|
if ( $(whoami) -ne "root") {
|
||||||
@ -203,9 +185,16 @@ if ($serviceManager -ne "systemd") {
|
|||||||
exit 3;
|
exit 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
##################################
|
# Убедимся, что передана верная комбинация флагов
|
||||||
|
|
||||||
|
if ($uninstall -and $update)
|
||||||
|
{
|
||||||
|
Write-Error "Флаги -update и -uninstall нельзя использовать вместе.";
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Определяем откуда будем загружать пакеты.
|
# Определяем откуда будем загружать пакеты.
|
||||||
##################################
|
|
||||||
|
|
||||||
if ($version)
|
if ($version)
|
||||||
{
|
{
|
||||||
@ -218,8 +207,7 @@ else
|
|||||||
$pollServiceUrl = "https://update.lers.ru/download/files/PollService.zip"
|
$pollServiceUrl = "https://update.lers.ru/download/files/PollService.zip"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Останавливаем запущенные службы, если они есть
|
||||||
## Останавливаем запущенные службы, если они есть
|
|
||||||
|
|
||||||
if (Test-Path -Path $serverServiceFile)
|
if (Test-Path -Path $serverServiceFile)
|
||||||
{
|
{
|
||||||
@ -231,6 +219,39 @@ if (Test-Path -Path $pollserviceServiceFile)
|
|||||||
systemctl stop $pollserviceServiceName
|
systemctl stop $pollserviceServiceName
|
||||||
}
|
}
|
||||||
|
|
||||||
|
##################################
|
||||||
|
# Удаление системы.
|
||||||
|
##################################
|
||||||
|
|
||||||
|
if ($uninstall)
|
||||||
|
{
|
||||||
|
Write-Host "Удаление ЛЭРС УЧЁТ"
|
||||||
|
|
||||||
|
if (Test-Path -Path $serverServiceFile)
|
||||||
|
{
|
||||||
|
systemctl disable $serverServiceName
|
||||||
|
Remove-Item -Path $serverServiceFile -Force
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Test-Path -Path $pollserviceServiceFile)
|
||||||
|
{
|
||||||
|
systemctl disable $pollserviceServiceName
|
||||||
|
Remove-Item -Path $pollserviceServiceFile -Force
|
||||||
|
}
|
||||||
|
|
||||||
|
Remove-Item -Path $lersDir -Recurse -Force
|
||||||
|
Remove-Item -Path $dataDir -Recurse -Force
|
||||||
|
|
||||||
|
Write-Host "Папка с конфигурацией $configDir не удалена. Вы можете удалить её вручную, если не планируете переустанавливать ЛЭРС УЧЁТ."
|
||||||
|
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
##################################
|
||||||
|
# Установка и обновление системы.
|
||||||
|
##################################
|
||||||
|
|
||||||
if ($update)
|
if ($update)
|
||||||
{
|
{
|
||||||
# В режиме обновления игнорируем ключи -server и -pollservice
|
# В режиме обновления игнорируем ключи -server и -pollservice
|
||||||
|
Loading…
x
Reference in New Issue
Block a user