Добавил функцию удаления
This commit is contained in:
parent
05f9484417
commit
02b88a03dc
@ -8,7 +8,7 @@
|
||||
|
||||
Службы настраиваются для запуска из-под учётной записи 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
|
||||
$ErrorActionPreference = "Stop"
|
||||
@ -42,24 +42,11 @@ function Get-ServerAddress
|
||||
} while ($true)
|
||||
}
|
||||
|
||||
# Возвращает версию и описание ОС
|
||||
function Get-OsRelease {
|
||||
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
|
||||
function Install-DotnetRuntime
|
||||
{
|
||||
@ -74,12 +61,6 @@ function Install-DotnetRuntime
|
||||
apt-get update
|
||||
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
|
||||
{
|
||||
$os | Format-Table
|
||||
@ -183,10 +164,11 @@ ExecStart=/usr/bin/dotnet $pollServiceExecutable
|
||||
WantedBy=multi-user.target
|
||||
"@
|
||||
|
||||
###################################
|
||||
# Установочный скрипт
|
||||
###################################
|
||||
|
||||
###################################
|
||||
# Убедимся, что запущены от ROOT.
|
||||
###################################
|
||||
|
||||
if ($PSVersionTable.Platform -eq "Unix") {
|
||||
if ( $(whoami) -ne "root") {
|
||||
@ -203,9 +185,16 @@ if ($serviceManager -ne "systemd") {
|
||||
exit 3;
|
||||
}
|
||||
|
||||
##################################
|
||||
# Убедимся, что передана верная комбинация флагов
|
||||
|
||||
if ($uninstall -and $update)
|
||||
{
|
||||
Write-Error "Флаги -update и -uninstall нельзя использовать вместе.";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
|
||||
# Определяем откуда будем загружать пакеты.
|
||||
##################################
|
||||
|
||||
if ($version)
|
||||
{
|
||||
@ -218,8 +207,7 @@ else
|
||||
$pollServiceUrl = "https://update.lers.ru/download/files/PollService.zip"
|
||||
}
|
||||
|
||||
|
||||
## Останавливаем запущенные службы, если они есть
|
||||
# Останавливаем запущенные службы, если они есть
|
||||
|
||||
if (Test-Path -Path $serverServiceFile)
|
||||
{
|
||||
@ -231,6 +219,39 @@ if (Test-Path -Path $pollserviceServiceFile)
|
||||
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)
|
||||
{
|
||||
# В режиме обновления игнорируем ключи -server и -pollservice
|
||||
|
Loading…
Reference in New Issue
Block a user