<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5774067987771218370</id><updated>2026-10-23T05:49:53.947-07:00</updated><category term="Windows"/><category term="VMware"/><category term="Active Directory"/><category term="PowerShell"/><category term="Hardware"/><category term="FreeBSD"/><category term="Microsoft WSUS"/><category term="Command Line"/><category term="VBScript"/><category term="Brocade"/><category term="Linux"/><category term="CentOS/RHEL"/><category term="Microsoft WDS"/><category term="Arch Linux"/><category term="Debian"/><category term="VMware PowerCLI"/><category term="ALT Linux"/><category term="DHCP"/><category term="Microsoft Hyper-V"/><category term="Kubernetes"/><category term="Microsoft Exchange"/><category term="Ubuntu"/><category term="Apache"/><category term="Jira"/><category term="Microsoft Office"/><category term="Microsoft SQL"/><category term="Microsoft Visual Studio"/><category term="MySQL"/><category term="PHP"/><category term="Rancher"/><category term="SNMP"/><title type='text'>Блокнот ночного сисадмина</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>283</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-7375864484538749161</id><published>2026-10-23T03:39:59.466-07:00</published><updated>2026-10-23T05:49:53.947-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PowerShell"/><category scheme="http://www.blogger.com/atom/ns#" term="VMware"/><category scheme="http://www.blogger.com/atom/ns#" term="VMware PowerCLI"/><title type='text'>VMware: Скрипт PowerShell для поиска неиспользуемых виртуальных машин</title><content type='html'>Данный скрипт предназначен для поиска виртуальных машин на &lt;i&gt;VMware vCenter Server&lt;/i&gt;, к которым давно не происходило подключений с помощью консоли &lt;i&gt;&lt;u&gt;VMRC&lt;/u&gt;&lt;/i&gt; или &lt;i&gt;&lt;u&gt;HTML5&lt;/u&gt;&lt;/i&gt; от пользователей. Алгоритм использует события &quot;&lt;i&gt;Events&lt;/i&gt;&quot; сервера, поэтому важно чтобы политика &quot;&lt;i&gt;Event retention&lt;/i&gt;&quot; была настроена на длительный срок (желательно &lt;b&gt;&lt;i&gt;365&lt;/i&gt;&lt;/b&gt; дней).&lt;br /&gt;&lt;br /&gt;Выполняется данная настройка в &lt;b&gt;&lt;i&gt;&lt;u&gt;vCenter-&amp;gt;Settings-&amp;gt;General-&amp;gt;Edit-&amp;gt;Database&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;. Там необходимо увеличить значение &quot;&lt;b&gt;&lt;i&gt;Event retention (days)&lt;/i&gt;&lt;/b&gt;&quot; и перегрузить &lt;i&gt;vCenter&lt;/i&gt; сервер для применения параметров.&lt;br /&gt;&lt;br /&gt;Ниже приведен сам скрипт, который работает следующим образом: по каждой виртуальной машине из указанной папки и подпапок находит последнее событие из двух типов (&lt;i&gt;VmAcquiredTicketEvent&lt;/i&gt;, &lt;i&gt;VmAcquiredMksTicketEvent&lt;/i&gt;) и пишет одну строку в отчёт.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;border: 1px solid rgb(153, 153, 153); height: 400px; overflow: auto; padding: 0px; position: relative; width: 580px;&quot;&gt;
&lt;div style=&quot;overflow: hidden; padding: 0px; width: 1600px;&quot;&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;#
.SYNOPSIS
    Последнее подключение к консоли по каждой ВМ из папки vCenter (VMRC + HTML5).
.DESCRIPTION
    Рекурсивно собирает ВМ из указанной папки, находит последнее событие
    VmAcquiredTicketEvent или VmAcquiredMksTicketEvent по каждой ВМ
    и сохраняет отчёт в .xls (SpreadsheetML) без внешних модулей.
#&amp;gt;

# ======================== НАСТРОЙКИ ========================
$vCenterServer = &quot;vcenter.mydomain.local&quot;
$FolderName    = &quot;VM_Folder&quot;
$Days          = 360
$OutputPath    = Join-Path -Path $PSScriptRoot -ChildPath &quot;vm_console_last_event.xls&quot;
# ==========================================================

$eventTypes = @(&quot;VmAcquiredTicketEvent&quot;, &quot;VmAcquiredMksTicketEvent&quot;)
$startTime  = (Get-Date).AddDays(-$Days)
$finishTime = Get-Date

function Get-VMsRecursive {
    param($Folder)
    $vms = @(Get-VM -Location $Folder -ErrorAction SilentlyContinue)
    foreach ($sub in @(Get-Folder -Location $Folder -ErrorAction SilentlyContinue)) {
        $vms += Get-VMsRecursive -Folder $sub
    }
    return $vms
}

function ConvertTo-XmlSafe {
    param([string]$s)
    if ($null -eq $s) { return &quot;&quot; }
    return $s.Replace(&quot;&amp;amp;&quot;,&quot;&amp;amp;amp;&quot;).Replace(&quot;&amp;lt;&quot;,&quot;&amp;amp;lt;&quot;).Replace(&quot;&amp;gt;&quot;,&quot;&amp;amp;gt;&quot;).Replace(&#39;&quot;&#39;,&quot;&amp;amp;quot;&quot;).Replace(&quot;&#39;&quot;,&quot;&amp;amp;apos;&quot;)
}

function Export-ToSpreadsheetML {
    param([object[]]$Rows, [string]$Path, [string]$Title)

    $columns = @(
        @{ Name = &#39;ВМ&#39;;                          Width = 200 },
        @{ Name = &#39;Пользователь&#39;;                Width = 160 },
        @{ Name = &#39;Время последнего подключения&#39;; Width = 170 },
        @{ Name = &#39;Сообщение&#39;;                   Width = 500 }
    )

    $sb = New-Object System.Text.StringBuilder
    [void]$sb.AppendLine(&#39;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&#39;)
    [void]$sb.AppendLine(&#39;&amp;lt;?mso-application progid=&quot;Excel.Sheet&quot;?&amp;gt;&#39;)
    [void]$sb.AppendLine(&#39;&amp;lt;Workbook xmlns=&quot;urn:schemas-microsoft-com:office:spreadsheet&quot;&#39;)
    [void]$sb.AppendLine(&#39; xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot;&#39;)
    [void]$sb.AppendLine(&#39; xmlns:x=&quot;urn:schemas-microsoft-com:office:excel&quot;&#39;)
    [void]$sb.AppendLine(&#39; xmlns:ss=&quot;urn:schemas-microsoft-com:office:spreadsheet&quot;&amp;gt;&#39;)
    [void]$sb.AppendLine(@&#39;
 &amp;lt;Styles&amp;gt;
  &amp;lt;Style ss:ID=&quot;Default&quot; ss:Name=&quot;Normal&quot;&amp;gt;
   &amp;lt;Alignment ss:Vertical=&quot;Top&quot;/&amp;gt;
   &amp;lt;Font ss:FontName=&quot;Calibri&quot; ss:Size=&quot;11&quot;/&amp;gt;
  &amp;lt;/Style&amp;gt;
  &amp;lt;Style ss:ID=&quot;Header&quot;&amp;gt;
   &amp;lt;Alignment ss:Vertical=&quot;Center&quot; ss:Horizontal=&quot;Center&quot; ss:WrapText=&quot;1&quot;/&amp;gt;
   &amp;lt;Font ss:FontName=&quot;Calibri&quot; ss:Size=&quot;11&quot; ss:Bold=&quot;1&quot; ss:Color=&quot;#FFFFFF&quot;/&amp;gt;
   &amp;lt;Interior ss:Color=&quot;#4472C4&quot; ss:Pattern=&quot;Solid&quot;/&amp;gt;
  &amp;lt;/Style&amp;gt;
  &amp;lt;Style ss:ID=&quot;CellWrap&quot;&amp;gt;
   &amp;lt;Alignment ss:Vertical=&quot;Top&quot; ss:WrapText=&quot;1&quot;/&amp;gt;
   &amp;lt;Font ss:FontName=&quot;Calibri&quot; ss:Size=&quot;11&quot;/&amp;gt;
  &amp;lt;/Style&amp;gt;
  &amp;lt;Style ss:ID=&quot;CellNoEvent&quot;&amp;gt;
   &amp;lt;Font ss:FontName=&quot;Calibri&quot; ss:Size=&quot;11&quot; ss:Color=&quot;#C00000&quot; ss:Italic=&quot;1&quot;/&amp;gt;
  &amp;lt;/Style&amp;gt;
  &amp;lt;Style ss:ID=&quot;Title&quot;&amp;gt;
   &amp;lt;Font ss:FontName=&quot;Calibri&quot; ss:Size=&quot;12&quot; ss:Bold=&quot;1&quot; ss:Color=&quot;#1F3864&quot;/&amp;gt;
  &amp;lt;/Style&amp;gt;
 &amp;lt;/Styles&amp;gt;
&#39;@)

    [void]$sb.AppendLine(&#39; &amp;lt;Worksheet ss:Name=&quot;Console_Connections&quot;&amp;gt;&#39;)
    [void]$sb.AppendLine(&#39;  &amp;lt;Table&amp;gt;&#39;)
    foreach ($c in $columns) { [void]$sb.AppendLine(&quot;   &amp;lt;Column ss:Width=`&quot;$($c.Width)`&quot;/&amp;gt;&quot;) }

    $rowNum = 1
    if ($Title) {
        [void]$sb.AppendLine(&quot;   &amp;lt;Row ss:Height=`&quot;22`&quot;&amp;gt;&amp;lt;Cell ss:StyleID=`&quot;Title`&quot; ss:MergeAcross=`&quot;$($columns.Count - 1)`&quot;&amp;gt;&amp;lt;Data ss:Type=`&quot;String`&quot;&amp;gt;$(ConvertTo-XmlSafe $Title)&amp;lt;/Data&amp;gt;&amp;lt;/Cell&amp;gt;&amp;lt;/Row&amp;gt;&quot;)
        [void]$sb.AppendLine(&#39;   &amp;lt;Row/&amp;gt;&#39;)
        $rowNum += 2
    }

    [void]$sb.AppendLine(&#39;   &amp;lt;Row ss:Height=&quot;28&quot;&amp;gt;&#39;)
    foreach ($c in $columns) { [void]$sb.AppendLine(&quot;    &amp;lt;Cell ss:StyleID=`&quot;Header`&quot;&amp;gt;&amp;lt;Data ss:Type=`&quot;String`&quot;&amp;gt;$(ConvertTo-XmlSafe $c.Name)&amp;lt;/Data&amp;gt;&amp;lt;/Cell&amp;gt;&quot;) }
    [void]$sb.AppendLine(&#39;   &amp;lt;/Row&amp;gt;&#39;)
    $headerRow = $rowNum++

    foreach ($r in $Rows) {
        $style = if ($r.&#39;Время последнего подключения&#39; -eq &#39;-&#39;) { &quot;CellNoEvent&quot; } else { &quot;CellWrap&quot; }
        [void]$sb.AppendLine(&#39;   &amp;lt;Row&amp;gt;&#39;)
        foreach ($c in $columns) { [void]$sb.AppendLine(&quot;    &amp;lt;Cell ss:StyleID=`&quot;$style`&quot;&amp;gt;&amp;lt;Data ss:Type=`&quot;String`&quot;&amp;gt;$(ConvertTo-XmlSafe ([string]$r.($c.Name)))&amp;lt;/Data&amp;gt;&amp;lt;/Cell&amp;gt;&quot;) }
        [void]$sb.AppendLine(&#39;   &amp;lt;/Row&amp;gt;&#39;)
        $rowNum++
    }

    [void]$sb.AppendLine(&#39;  &amp;lt;/Table&amp;gt;&#39;)
    [void]$sb.AppendLine(&quot;  &amp;lt;AutoFilter x:Range=`&quot;R${headerRow}C1:R$($rowNum - 1)C$($columns.Count)`&quot; xmlns=`&quot;urn:schemas-microsoft-com:office:excel`&quot;/&amp;gt;&quot;)
    [void]$sb.AppendLine(&#39;  &amp;lt;WorksheetOptions xmlns=&quot;urn:schemas-microsoft-com:office:excel&quot;&amp;gt;&#39;)
    [void]$sb.AppendLine(&#39;   &amp;lt;FreezePanes/&amp;gt;&amp;lt;FrozenNoSplit/&amp;gt;&#39;)
    [void]$sb.AppendLine(&quot;   &amp;lt;SplitHorizontal&amp;gt;$headerRow&amp;lt;/SplitHorizontal&amp;gt;&amp;lt;TopRowBottomPane&amp;gt;$headerRow&amp;lt;/TopRowBottomPane&amp;gt;&amp;lt;ActivePane&amp;gt;2&amp;lt;/ActivePane&amp;gt;&quot;)
    [void]$sb.AppendLine(&#39;  &amp;lt;/WorksheetOptions&amp;gt;&#39;)
    [void]$sb.AppendLine(&#39; &amp;lt;/Worksheet&amp;gt;&#39;)
    [void]$sb.AppendLine(&#39;&amp;lt;/Workbook&amp;gt;&#39;)

    $sb.ToString() | Out-File -FilePath $Path -Encoding UTF8
}

# --- Подключение ---
Write-Host &quot;Подключение к $vCenterServer...&quot; -ForegroundColor Cyan
try { Connect-VIServer -Server $vCenterServer -ErrorAction Stop | Out-Null }
catch { Write-Error &quot;Не удалось подключиться: $($_.Exception.Message)&quot;; return }

try {
    $folder = @(Get-Folder -Name $FolderName -Type VM -ErrorAction SilentlyContinue)[0]
    if (-not $folder) {
        Write-Error &quot;Папка &#39;$FolderName&#39; не найдена.&quot;
        Get-Folder -Type VM | Select-Object Name, Id | Format-Table -AutoSize | Out-Host
        return
    }

    Write-Host &quot;Папка: $($folder.Name) | Период: $($startTime.ToString(&#39;yyyy-MM-dd&#39;)) — $($finishTime.ToString(&#39;yyyy-MM-dd&#39;))&quot; -ForegroundColor Green

    $vms = Get-VMsRecursive -Folder $folder | Group-Object Id | ForEach-Object { $_.Group[0] }
    if ($vms.Count -eq 0) { Write-Host &quot;ВМ не найдено.&quot; -ForegroundColor Yellow; return }
    Write-Host &quot;Найдено ВМ: $($vms.Count)`n&quot; -ForegroundColor Green

    $rows = New-Object System.Collections.Generic.List[object]
    $i = 0

    foreach ($vm in $vms) {
        $i++
        Write-Progress -Activity &quot;Обработка ВМ&quot; -Status &quot;$($vm.Name) ($i из $($vms.Count))&quot; -PercentComplete (($i / $vms.Count) * 100)

        try {
            $last = Get-VIEvent -Entity $vm -Start $startTime -Finish $finishTime -ErrorAction Stop |
                    Where-Object { $eventTypes -contains $_.GetType().Name } |
                    Sort-Object CreatedTime -Descending |
                    Select-Object -First 1
        }
        catch {
            $rows.Add([PSCustomObject]@{
                &#39;ВМ&#39; = $vm.Name; &#39;Пользователь&#39; = &#39;-&#39;
                &#39;Время последнего подключения&#39; = &#39;Ошибка&#39;
                &#39;Сообщение&#39; = $_.Exception.Message
            })
            continue
        }

        if ($last) {
            $rows.Add([PSCustomObject]@{
                &#39;ВМ&#39;                          = $vm.Name
                &#39;Пользователь&#39;                = if ($last.UserName) { $last.UserName } else { &#39;-&#39; }
                &#39;Время последнего подключения&#39; = $last.CreatedTime.ToString(&#39;yyyy-MM-dd HH:mm:ss&#39;)
                &#39;Сообщение&#39;                   = [string]$last.FullFormattedMessage
            })
        }
        else {
            $rows.Add([PSCustomObject]@{
                &#39;ВМ&#39;                          = $vm.Name
                &#39;Пользователь&#39;                = &#39;-&#39;
                &#39;Время последнего подключения&#39; = &#39;-&#39;
                &#39;Сообщение&#39;                   = &#39;Нет событий подключений&#39;
            })
        }
    }

    Write-Progress -Activity &quot;Обработка ВМ&quot; -Completed

    $outDir = Split-Path -Parent $OutputPath
    if ($outDir -and -not (Test-Path $outDir)) { New-Item -ItemType Directory -Path $outDir -Force | Out-Null }

    $title = &quot;Последнее подключение к консоли — vCenter: $vCenterServer, папка: &#39;$FolderName&#39;, период: $($startTime.ToString(&#39;yyyy-MM-dd&#39;)) — $($finishTime.ToString(&#39;yyyy-MM-dd&#39;))&quot;
    Export-ToSpreadsheetML -Rows $rows -Path $OutputPath -Title $title

    $withEvents = @($rows | Where-Object { $_.&#39;Время последнего подключения&#39; -ne &#39;-&#39; }).Count
    Write-Host &quot;`nГотово. ВМ: $($vms.Count), с подключениями: $withEvents, без: $($vms.Count - $withEvents)&quot; -ForegroundColor Green
    Write-Host &quot;Файл: $OutputPath&quot; -ForegroundColor Green
}
finally {
    Disconnect-VIServer -Server $vCenterServer -Confirm:$false -ErrorAction SilentlyContinue | Out-Null
}
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/7375864484538749161/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2026/10/vmware-powershell.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/7375864484538749161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/7375864484538749161'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2026/10/vmware-powershell.html' title='VMware: Скрипт PowerShell для поиска неиспользуемых виртуальных машин'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-1490893680677917956</id><published>2026-04-25T01:06:00.000-07:00</published><updated>2026-04-25T01:12:17.376-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Brocade"/><category scheme="http://www.blogger.com/atom/ns#" term="Hardware"/><title type='text'>Brocade: Управление пользователями на оптических коммутаторах</title><content type='html'>&lt;p&gt;В операционной системе &lt;i&gt;Fabric OS (FOS)&lt;/i&gt; коммутаторов &lt;i&gt;Brocade&lt;/i&gt; управление учётными записями выполняется командой &quot;&lt;b&gt;userConfig&lt;/b&gt;&quot;, которая поддерживает &lt;b&gt;&lt;u&gt;следующие роли для шасси (&lt;i&gt;chassis&lt;/i&gt;) и логических фабрик (&lt;i&gt;LF&lt;/i&gt;)&lt;/u&gt;&lt;/b&gt;:&lt;br /&gt;&lt;b&gt;admin&lt;/b&gt; - полный доступ ко всем командам;&lt;br /&gt;&lt;b&gt;user&lt;/b&gt; - только чтение (&lt;i&gt;read-only&lt;/i&gt;), минимальные привилегии;&lt;br /&gt;&lt;b&gt;switchadmin&lt;/b&gt; - управление коммутатором, но не зонированием;&lt;br /&gt;&lt;b&gt;zoneadmin&lt;/b&gt; - управление зонированием;&lt;br /&gt;&lt;b&gt;fabricadmin&lt;/b&gt; - управление &lt;i&gt;fabric&lt;/i&gt;-сервисами;&lt;br /&gt;&lt;b&gt;basicswitchadmin&lt;/b&gt; - ограниченное управление коммутатором;&lt;br /&gt;&lt;b&gt;operator&lt;/b&gt; - расширенные права (управление портами, но не конфигурацией);&lt;br /&gt;&lt;b&gt;securityadmin&lt;/b&gt; - управление политиками безопасности.&lt;br /&gt;&lt;br /&gt;Например, для создания учётной записи с правами только чтение используется роль &quot;&lt;i&gt;&lt;b&gt;user&lt;/b&gt;&lt;/i&gt;&quot;.&lt;br /&gt;&lt;u&gt;Для более детального просмотра роли выполните:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;roleconfig --show &amp;lt;role&amp;gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Чтобы просмотреть учётные записи, воспользуйтесь командами:&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Показать всех пользователей:&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --show -a&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Показать конкретного пользователя:&lt;br /&gt; &lt;b&gt;&lt;i&gt;userconfig --show &amp;lt;username&amp;gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Показать пользователей с определённой ролью:&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --show -r &amp;lt;role&amp;gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Чтобы создать нового пользователя:&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --add &amp;lt;username&amp;gt; -r &amp;lt;LF_role&amp;gt; -l &amp;lt;LF_ID_list&amp;gt; [-h &amp;lt;home_LF&amp;gt;] [-c &amp;lt;chassis_role&amp;gt;] [-p &amp;lt;password&amp;gt;] [-d &amp;lt;description&amp;gt;]&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Пример создания &lt;i&gt;read-only&lt;/i&gt; пользователя &quot;&lt;b&gt;&lt;i&gt;monitor&lt;/i&gt;&lt;/b&gt;&quot;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --add monitor -l 1-128 -h 128 -r user -c user -p &#39;mypassword&#39; -d &quot;Monitoring account&quot;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;где&lt;br /&gt;&lt;b&gt;&lt;i&gt;-r user&lt;/i&gt;&lt;/b&gt; — роль внутри логических фабрик (только чтение);&lt;br /&gt;&lt;i&gt;&lt;b&gt;-l 1-128&lt;/b&gt;&lt;/i&gt; — доступ ко всем &lt;i&gt;LF&lt;/i&gt; с &lt;i&gt;1&lt;/i&gt; по &lt;i&gt;128&lt;/i&gt;;&lt;br /&gt;&lt;b&gt;&lt;i&gt;-h 128&lt;/i&gt;&lt;/b&gt; — домашняя &lt;i&gt;LF&lt;/i&gt; (по умолчанию попадает в &lt;i&gt;FID 128&lt;/i&gt;);&lt;br /&gt;&lt;b&gt;&lt;i&gt;-c user&lt;/i&gt;&lt;/b&gt; — роль на уровне шасси (также только чтение);&lt;br /&gt;&lt;b&gt;&lt;i&gt;-p&lt;/i&gt;&lt;/b&gt; — пароль;&lt;br /&gt;&lt;b&gt;&lt;i&gt;-d&lt;/i&gt;&lt;/b&gt; — описание учётной записи.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Важно:&lt;/u&gt; &lt;/b&gt;для &lt;i&gt;read-only&lt;/i&gt; доступа обязательно указывайте &quot;&lt;b&gt;&lt;i&gt;-c user&lt;/i&gt;&lt;/b&gt;&quot; и &quot;&lt;b&gt;&lt;i&gt;-r user&lt;/i&gt;&lt;/b&gt;&quot;. Без &quot;&lt;b&gt;&lt;i&gt;-c user&lt;/i&gt;&lt;/b&gt;&quot; пользователь может не иметь доступа к глобальной конфигурации.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Чтобы изменить параметры существующего пользователя используйте команду &quot;userconfig --change&quot;, которая позволяет менять роль, список LF, домашнюю LF, блокировку, описание и пароль:&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --change &amp;lt;username&amp;gt; [-l &amp;lt;LF_list&amp;gt; -r &amp;lt;LF_role&amp;gt;] [-h &amp;lt;home_LF&amp;gt;] [-c &amp;lt;chassis_role&amp;gt;] [-e yes|no] [-x] [-u] [-d &amp;lt;description&amp;gt;] [-at &amp;lt;HH:MM-HH:MM&amp;gt;]&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Пример изменения роли пользователя &quot;&lt;b&gt;&lt;i&gt;monitor&lt;/i&gt;&lt;/b&gt;&quot; на &lt;i&gt;admin&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;change&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; monitor -l 1-128 -h 128 -r admin -c admin&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Пример изменения описания пользователя:&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;change&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; monitor -d &quot;New description&quot;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Пример установки домашней &lt;i&gt;LF&lt;/i&gt; в &lt;i&gt;10&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --change monitor -h 10&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Пример разблокировки учётной записи (после нескольких неудачных попыток):&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --change&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;monitor&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; -u&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Принудительно заставить пользователя сменить свой пароль при следующем входе в систему:&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --change&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;monitor&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; -x&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Пример отключения учётной записи (без удаления):&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --change&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;monitor&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; -e no&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Пример включения учётной записи:&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --change&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;monitor&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; -e yes&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Сменить пароль (интерактивно):&lt;br /&gt;&lt;b&gt;&lt;i&gt;passwd monitor&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Пример установки ограничения доступа по времени (с 9:00 до 18:00):&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --change&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;monitor&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; -at 09:00-18:00&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Пример снятия ограничения доступа по времени:&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --change&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;monitor&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; -at 00:00-00:00&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Чтобы управлять доступом к логическим фабрикам:&lt;br /&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;u&gt;Для добавления доступа к дополнительным &lt;i&gt;LF&lt;/i&gt; используйте команду:&lt;/u&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;userconfig --addlf &amp;lt;username&amp;gt; -l &amp;lt;LF_list&amp;gt; -r &amp;lt;LF_role&amp;gt; [-h &amp;lt;home_LF&amp;gt;] [-c &amp;lt;chassis_role&amp;gt;]&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Пример добавления пользователю &quot;&lt;i&gt;&lt;b&gt;monitor&lt;/b&gt;&lt;/i&gt;&quot; доступа к &lt;i&gt;LF 10&lt;/i&gt; с ролью &lt;i&gt;user&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --addlf monitor -l 10 -r user&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Для удаления доступа к определённым &lt;i&gt;LF&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --deletelf &amp;lt;username&amp;gt; -l &amp;lt;LF_list&amp;gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Пример удаления доступа к LF 10:&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --deletelf monitor -l 10&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Чтобы удалить пользователя используйте команду &quot;userconfig --delete&quot;:&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --delete &amp;lt;username&amp;gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Пример удаления пользователя:&lt;br /&gt;&lt;b&gt;&lt;i&gt;userconfig --delete monitor&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Для диагностики проблем со входом проверьте логи аудита:&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;auditdump --show | grep -i &amp;lt;username&amp;gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;i&gt;Примечание:&lt;/i&gt;&lt;/u&gt;&lt;/b&gt; для выполнения команд &lt;b&gt;&lt;i&gt;--add&lt;/i&gt;&lt;/b&gt;, &lt;b&gt;&lt;i&gt;--change&lt;/i&gt;&lt;/b&gt;, &lt;b&gt;&lt;i&gt;--delete&lt;/i&gt;&lt;/b&gt;, &lt;b&gt;&lt;i&gt;--addlf&lt;/i&gt;&lt;/b&gt;, &lt;b&gt;&lt;i&gt;--deletelf&lt;/i&gt;&lt;/b&gt; требуются права администратора (наличие роли &lt;i&gt;admin&lt;/i&gt; или &lt;i&gt;securityadmin&lt;/i&gt;).&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/1490893680677917956/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2026/04/brocade.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/1490893680677917956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/1490893680677917956'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2026/04/brocade.html' title='Brocade: Управление пользователями на оптических коммутаторах'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-5523359437922458964</id><published>2026-04-15T04:46:00.000-07:00</published><updated>2026-04-15T04:57:47.709-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Debian"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Debian: Настройка сервера удаленного рабочего стола XRDP для KDE-Plasma или Gnome</title><content type='html'>&lt;p&gt;&lt;u&gt;Для настройки сервера удаленного рабочего стола в &lt;i&gt;ОС Debian&lt;/i&gt; выполните следующие действия:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;&lt;u&gt;Установка &quot;xrdp&quot;&lt;/u&gt;&lt;/b&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt update &amp;amp;&amp;amp; apt upgrade&lt;br /&gt;sudo apt install xrdp dbus-x11 -y&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;В случае отсутствия русской раскладки клавиатуры&lt;/u&gt;&lt;/b&gt; в удаленной сессии добавить в конец файла &quot;&lt;b&gt;&lt;i&gt;/etc/xrdp/xrdp_keyboard.ini&lt;/i&gt;&lt;/b&gt;&quot; следующие строки и перезапустить службу &quot;&lt;b&gt;&lt;i&gt;sudo systemctl restart xrdp&lt;/i&gt;&lt;/b&gt;&quot;:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[rdp_keyboard_ru]&lt;br /&gt;keyboard_type=4&lt;br /&gt;keyboard_type=7&lt;br /&gt;keyboard_subtype=1&lt;br /&gt;model=pc105&lt;br /&gt;options=grp:alt_shift_toggle&lt;br /&gt;rdp_layouts=default_rdp_layouts&lt;br /&gt;layouts_map=layouts_map_ru&lt;br /&gt;&lt;br /&gt;[layouts_map_ru]&lt;br /&gt;rdp_layout_us=us,ru&lt;br /&gt;rdp_layout_ru=us,ru&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Если после авторизации в удаленной сессии вы видите черный экран&lt;/u&gt;&lt;/b&gt;, заменить содержание файла &quot;&lt;i&gt;&lt;b&gt;/etc/xrdp/startwm.sh&lt;/b&gt;&lt;/i&gt;&quot; на:&lt;br /&gt;&lt;br /&gt; &lt;i&gt;#!/bin/sh&lt;br /&gt;# Уничтожение переменных, которые могут мешать сессии D-Bus&lt;br /&gt;unset DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;unset XDG_RUNTIME_DIR&lt;br /&gt;# Запуск D-Bus для пользовательской сессии&lt;br /&gt;export $(dbus-launch)&lt;br /&gt;# Настройка раскладок для русской и английской, переключение по Alt+Shift&lt;br /&gt;setxkbmap -layout &quot;us,ru&quot; -variant &quot;,winkeys&quot; -option &quot;grp:alt_shift_toggle&quot;&lt;br /&gt;# Запуск KDE Plasma в режиме X11&lt;br /&gt;exec startplasma-x11&lt;/i&gt;&lt;/p&gt;&lt;p&gt;и перезапустить службу &quot;&lt;b&gt;&lt;i&gt;sudo systemctl restart xrdp&lt;/i&gt;&lt;/b&gt;&quot;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Для добавления политики, разрешающей действия с питанием компьютера из-под удаленной сессии&lt;/u&gt;&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;Создать файл &quot;&lt;i&gt;&lt;b&gt;/etc/polkit-1/rules.d/10-allow-reboot.rules&lt;/b&gt;&lt;/i&gt;&quot; с содержимым:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;polkit.addRule(function(action, subject) {&lt;br /&gt;    var actions = [&lt;br /&gt;        &quot;org.freedesktop.login1.reboot&quot;,&lt;br /&gt;        &quot;org.freedesktop.login1.reboot-multiple-sessions&quot;,&lt;br /&gt;        &quot;org.freedesktop.login1.power-off&quot;,&lt;br /&gt;        &quot;org.freedesktop.login1.power-off-multiple-sessions&quot;,&lt;br /&gt;        &quot;org.freedesktop.login1.suspend&quot;,&lt;br /&gt;        &quot;org.freedesktop.login1.suspend-multiple-sessions&quot;,&lt;br /&gt;        &quot;org.freedesktop.login1.hibernate&quot;,&lt;br /&gt;        &quot;org.freedesktop.login1.hibernate-multiple-sessions&quot;&lt;br /&gt;    ];&lt;br /&gt;    if (actions.indexOf(action.id) !== -1) {&lt;br /&gt;        return polkit.Result.YES;&lt;br /&gt;    }&lt;br /&gt;});&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;При наличии проблем можно посмотреть лог&lt;/u&gt;&lt;/b&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo tail -50 /var/log/xrdp-sesman.log&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/5523359437922458964/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2026/04/debian-xrdp-kde-plasma-gnome.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/5523359437922458964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/5523359437922458964'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2026/04/debian-xrdp-kde-plasma-gnome.html' title='Debian: Настройка сервера удаленного рабочего стола XRDP для KDE-Plasma или Gnome'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-3808855917830170778</id><published>2026-01-13T04:27:00.000-08:00</published><updated>2026-01-13T05:35:30.939-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Debian"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Debian: Русификация консоли</title><content type='html'>&lt;div&gt;Русификация проходит в три ключевых этапа: настройка локалей, при необходимости — проверка и установка консольных шрифтов и кодировки, а затем настройка русской раскладки клавиатуры.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;Установка и настройка русской локали.&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt; Локаль определяет язык сообщений системы, формат даты, времени и чисел. Основной шаг — сгенерировать русскую локаль:&lt;br /&gt;1. Установите или обновите пакет &lt;i&gt;locales&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt update&lt;br /&gt;sudo apt install locales&lt;/i&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;2. Настройте локаль утилитой &lt;i&gt;dpkg-reconfigure&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo dpkg-reconfigure locales&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;В открывшемся текстовом меню с помощью пробела отметьте пункт &lt;i&gt;&lt;u&gt;ru_RU.UTF-8&lt;/u&gt;&lt;/i&gt; и нажмите &quot;&lt;i&gt;Enter&lt;/i&gt;&quot;. На следующем экране выберите &lt;i&gt;&lt;u&gt;ru_RU.UTF-8&lt;/u&gt;&lt;/i&gt; в качестве системной локали по умолчанию и снова нажмите &quot;&lt;i&gt;Enter&lt;/i&gt;&quot;.&lt;br /&gt;&lt;br /&gt; &lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;Настройка кодировки и шрифта консоли.&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Следующий шаг: настроить локальную консоль на использование &lt;i&gt;UTF-8&lt;/i&gt; и правильного шрифта.&lt;br /&gt;1. Установите пакет настройки консоли:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt install console-setup&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Настройте консольный шрифт и кодировку:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo dpkg-reconfigure console-setup&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;В появившемся меню последовательно выберите:&lt;/u&gt;&lt;br /&gt;&lt;u&gt;Кодировка:&lt;/u&gt; &lt;i&gt;UTF-8&lt;/i&gt;;&lt;br /&gt;&lt;u&gt;Шрифт:&lt;/u&gt; Для поддержки кириллицы хорошо подходит &lt;i&gt;Terminus&lt;/i&gt; или &lt;i&gt;Fixed&lt;/i&gt;, выберите один из них;&lt;br /&gt;&lt;u&gt;Размер шрифта:&lt;/u&gt; Можно оставить &lt;i&gt;8x16&lt;/i&gt; (читаемый вариант);&lt;br /&gt;&lt;u&gt;Сочетание символов для консоли:&lt;/u&gt; Обязательно выберите вариант, включающий &lt;i&gt;Cyrillic&lt;/i&gt; (например, &lt;i&gt;Combined - Latin; Slavic and non-Slavic Cyrillic&lt;/i&gt;).&lt;br /&gt;&lt;br /&gt;Настройки должны примениться автоматически. Если нет, перезагрузите машину или переключитесь между виртуальными консолями и обратно.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;Настройка русской раскладки клавиатуры.&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;После настройки локали сообщения могут стать русскими, но для ввода текста кириллицей в консоли также потребуется настроить клавиатуру.&lt;br /&gt;1. Установите пакет для настройки:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt install keyboard-configuration&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Настройте раскладку:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo dpkg-reconfigure keyboard-configuration&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;В появившемся меню последовательно выберите подходящую модель клавиатуры (&lt;i&gt;можно оставить по умолчанию&lt;/i&gt;), раскладку (&lt;i&gt;Russian&lt;/i&gt;), вариант раскладки и клавишу для переключения языков (например, &lt;i&gt;Alt+Shift&lt;/i&gt;).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Дополнительно:&lt;/u&gt; Чтобы узнать текущую модель клавиатуры, выполните:&lt;br /&gt;&lt;b&gt;&lt;i&gt;grep XKBMODEL /etc/default/keyboard&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;Дополнительные шаги и диагностика:&lt;br /&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;После всех настроек перезагрузите систему или как минимум выйдите из консоли и зайдите заново.&lt;br /&gt;Для проверки результатов выполните команду &quot;&lt;b&gt;&lt;i&gt;locale&lt;/i&gt;&lt;/b&gt;&quot;. Если всё настроено верно, в строке &lt;b&gt;&lt;i&gt;LANG&lt;/i&gt;&lt;/b&gt; и большинстве других будет указано &lt;i&gt;ru_RU.UTF-8&lt;/i&gt;.&lt;br /&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/3808855917830170778/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2026/01/debian.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/3808855917830170778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/3808855917830170778'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2026/01/debian.html' title='Debian: Русификация консоли'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-9109180143067300989</id><published>2025-12-23T01:02:00.000-08:00</published><updated>2026-01-27T00:52:04.492-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Debian"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Debian: Настройка VMware VM Customization Specifications для ОС Debian GNU/Linux</title><content type='html'>&lt;p&gt;К сожалению, при использовании &quot;&lt;i&gt;&lt;u&gt;VM Customization Specifications&lt;/u&gt;&lt;/i&gt;&quot; при развертывании &lt;i&gt;ОС Debian&lt;/i&gt; скрипты &quot;&lt;i&gt;open-vm-toos&lt;/i&gt;&quot; не могут корректно сконфигурировать некоторые параметры для данной системы.&lt;br /&gt;Чтобы решить эту проблему, применим скрипт, который возьмет на себя функционал, не корректно работающий в самих тулзах.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Выполним следующие шаги для настройки &quot;&lt;i&gt;&lt;b&gt;VM Customization Specifications&lt;/b&gt;&lt;/i&gt;&quot;:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Подготавливаем шаблон &lt;i&gt;ОС Debian&lt;/i&gt; с установкой необходимого &lt;i&gt;ПО&lt;/i&gt;, которое уже должно быть в комплекте с новыми хостами.&lt;br /&gt;2. Обязательно устанавливаем &quot;&lt;i&gt;open-vm-tools&lt;/i&gt;&quot; и проверяем, что служба &quot;&lt;u&gt;&lt;b&gt;vmtoolsd&lt;/b&gt;&lt;/u&gt;&quot; находится в автозапуске:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get install open-vm-tools&lt;br /&gt;sudo systemctl enable vmtoolsd &amp;amp;&amp;amp; sudo systemctl start vmtoolsd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. Включаем поддержку скриптов для кастомизации:&lt;br /&gt;&lt;i&gt;&lt;b&gt;sudo vmware-toolbox-cmd config set deployPkg enable-custom-scripts true&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Для проверки текущего состояния параметра выполните:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo vmware-toolbox-cmd config get deployPkg enable-custom-scripts&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4. Далее настраиваем &quot;&lt;i&gt;&lt;u&gt;VM Customization Specifications&lt;/u&gt;&lt;/i&gt;&quot; на &lt;i&gt;vCenter Server&lt;/i&gt;. При настройке указываем: тип &lt;i&gt;ОС&lt;/i&gt; - &lt;i&gt;Linux&lt;/i&gt;, правило формирования имени хоста, часовой пояс, &lt;i&gt;TCP/IP&lt;/i&gt; настройки и добавляем следующий скрипт:&lt;br /&gt;&lt;/p&gt;
&lt;div style=&quot;border: 1px solid rgb(153, 153, 153); height: 450px; overflow: auto; padding: 0px; position: relative; width: 580px;&quot;&gt;
&lt;div style=&quot;overflow: hidden; padding: 0px; width: 1000px;&quot;&gt;
&lt;pre&gt;&lt;code&gt;#!/bin/bash

# Функция для преобразования маски подсети в префикс CIDR
mask2cidr() {
    local mask=$1
    local n=0
    IFS=.

    for byte in $mask; do
        case $byte in
            255) n=$((n+8));;
            254) n=$((n+7));;
            252) n=$((n+6));;
            248) n=$((n+5));;
            240) n=$((n+4));;
            224) n=$((n+3));;
            192) n=$((n+2));;
            128) n=$((n+1));;
            0);;
            *) echo 24; return 1;;
        esac
    done

    echo $n
}

# Функция определения метода управления сетью с приоритетом: NM -&amp;gt; SystemD -&amp;gt; Ifupdown
get_network_manager() {
    local interface=$1

    # 1. Проверяем NetworkManager в первую очередь
    if command -v nmcli &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
        # Проверяем, управляется ли интерфейс через NetworkManager
        if nmcli -t -f DEVICE device 2&amp;gt;/dev/null | grep -q &quot;^${interface}$&quot;; then
            echo &quot;NetworkManager&quot;
            return
        fi

        # Проверяем, активен ли NetworkManager как служба
        if systemctl is-active NetworkManager &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
            echo &quot;NetworkManager&quot;
            return
        fi

        # Проверяем, есть ли соединение NetworkManager для этого интерфейса
        if nmcli -t -f NAME,DEVICE connection show 2&amp;gt;/dev/null | grep -q &quot;:${interface}$&quot;; then
            echo &quot;NetworkManager&quot;
            return
        fi
    fi

    # 2. Проверяем systemd-networkd
    if systemctl is-active systemd-networkd &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;amp; \
       systemctl is-active systemd-resolved &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
        echo &quot;SystemD&quot;
        return
    fi

    # 3. Проверяем ifupdown (традиционный метод Debian)
    if [ -f &quot;/etc/network/interfaces&quot; ]; then
        # Проверяем, упоминается ли интерфейс в конфигурации
        if grep -q -E &quot;^(auto|allow-hotplug|iface|mapping).*${interface}&quot; /etc/network/interfaces; then
            echo &quot;Ifupdown&quot;
            return
        fi

        # Проверяем наличие конфигов в interfaces.d
        if [ -d &quot;/etc/network/interfaces.d&quot; ]; then
            for config in /etc/network/interfaces.d/*; do
                if [ -f &quot;$config&quot; ] &amp;amp;&amp;amp; grep -q &quot;${interface}&quot; &quot;$config&quot;; then
                    echo &quot;Ifupdown&quot;
                    return
                fi
            done
        fi
    fi

    # Проверяем, активна ли служба networking (ifupdown)
    if systemctl is-active networking &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
        echo &quot;Ifupdown&quot;
        return
    fi

    # 4. Если ничего не найдено, проверяем по наличию служб
    if systemctl is-enabled NetworkManager &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
        echo &quot;NetworkManager&quot;
    elif systemctl is-enabled systemd-networkd &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
        echo &quot;SystemD&quot;
    elif systemctl is-enabled networking &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
        echo &quot;Ifupdown&quot;
    else
        # Если ничего не определено, используем ifupdown как запасной вариант
        echo &quot;Ifupdown&quot;
    fi
}

# Функция настройки NetworkManager
configure_networkmanager() {
    local interface=$1
    local bootproto=$2
    local ipaddr=$3
    local netmask=$4
    local gateway=$5
    local dns_servers=$6
    local domain=$7

    # Удаляем существующее соединение для этого интерфейса
    nmcli connection delete &quot;$interface&quot; 2&amp;gt;/dev/null || true
    nmcli connection delete &quot;Wired connection 1&quot; 2&amp;gt;/dev/null || true
    nmcli connection delete &quot;System ${interface}&quot; 2&amp;gt;/dev/null || true

    # Создаем новое соединение
    if [ &quot;$bootproto&quot; = &quot;static&quot; ]; then
        local prefix_length=$(mask2cidr &quot;$netmask&quot;)
        nmcli con add type ethernet con-name &quot;$interface&quot; ifname &quot;$interface&quot; ipv4.method manual \
            ipv4.addresses &quot;${ipaddr}/${prefix_length}&quot; \
            ipv4.gateway &quot;$gateway&quot; \
            ipv4.dns &quot;$dns_servers&quot; \
            ipv4.dns-search &quot;$domain&quot; \
            autoconnect yes
    else
        nmcli con add type ethernet con-name &quot;$interface&quot; ifname &quot;$interface&quot; \
            ipv4.method auto autoconnect yes
    fi

    # Активируем соединение
    nmcli con up &quot;$interface&quot;
}

# Функция настройки SystemD networkd
configure_systemd() {
    local interface=$1
    local bootproto=$2
    local ipaddr=$3
    local netmask=$4
    local gateway=$5
    local dns_servers=$6
    local domain=$7
    local dns_from_dhcp=$8

    # Убедимся, что служба активна
    systemctl enable systemd-networkd 2&amp;gt;/dev/null || true
    systemctl start systemd-networkd 2&amp;gt;/dev/null || true

    # Очищаем каталог /etc/systemd/network
    rm -rf /etc/systemd/network/*

    # Создаем базовую конфигурацию для loopback-интерфейса
    mkdir -p /etc/systemd/network
    cat &amp;gt; /etc/systemd/network/00-loopback.network &amp;lt;&amp;lt;EOF
[Match]
Name=lo

[Network]
Address=127.0.0.1/8
Address=::1/128
EOF

    # Создаем конфигурацию для основного интерфейса
    CONFIG_FILE=&quot;/etc/systemd/network/10-${interface}.network&quot;

    if [ &quot;$bootproto&quot; = &quot;static&quot; ]; then
        if [ -z &quot;$ipaddr&quot; ] || [ -z &quot;$netmask&quot; ]; then
            echo &quot;Ошибка: для статической настройки нужны IPADDR и NETMASK&quot;
            exit 1
        fi

        prefix_length=$(mask2cidr &quot;$netmask&quot;)
        if [ -z &quot;$prefix_length&quot; ]; then
            prefix_length=24
        fi

        # Создаем конфиг для статического IP
        cat &amp;gt; &quot;$CONFIG_FILE&quot; &amp;lt;&amp;lt;EOF
[Match]
Name=$interface

[Network]
Address=$ipaddr/$prefix_length
EOF

        if [ -n &quot;$gateway&quot; ]; then
            echo &quot;Gateway=$gateway&quot; &amp;gt;&amp;gt; &quot;$CONFIG_FILE&quot;
        fi

        # Добавляем DNS серверы
        if [ -n &quot;$dns_servers&quot; ]; then
            for dns in $dns_servers; do
                echo &quot;DNS=$dns&quot; &amp;gt;&amp;gt; &quot;$CONFIG_FILE&quot;
            done
        fi
    else
        # Создаем конфиг для DHCP
        cat &amp;gt; &quot;$CONFIG_FILE&quot; &amp;lt;&amp;lt;EOF
[Match]
Name=$interface

[Network]
DHCP=ipv4

[DHCPv4]
UseDomains=true
EOF

        # Настраиваем использование DNS
        if [ &quot;$dns_from_dhcp&quot; = &quot;yes&quot; ]; then
            echo &quot;UseDNS=yes&quot; &amp;gt;&amp;gt; &quot;$CONFIG_FILE&quot;
        else
            echo &quot;UseDNS=no&quot; &amp;gt;&amp;gt; &quot;$CONFIG_FILE&quot;
            if [ -n &quot;$dns_servers&quot; ]; then
                for dns in $dns_servers; do
                    echo &quot;DNS=$dns&quot; &amp;gt;&amp;gt; &quot;$CONFIG_FILE&quot;
                done
            fi
        fi
    fi

    # Настраиваем systemd-resolved если нужно
    if [ -n &quot;$dns_servers&quot; ] || [ -n &quot;$domain&quot; ]; then
        mkdir -p /etc/systemd/resolved.conf.d
        cat &amp;gt; /etc/systemd/resolved.conf.d/10-${interface}.conf &amp;lt;&amp;lt;EOF
[Resolve]
EOF

        if [ -n &quot;$dns_servers&quot; ]; then
            echo &quot;DNS=$dns_servers&quot; &amp;gt;&amp;gt; /etc/systemd/resolved.conf.d/10-${interface}.conf
        fi

        if [ -n &quot;$domain&quot; ]; then
            echo &quot;Domains=$domain&quot; &amp;gt;&amp;gt; /etc/systemd/resolved.conf.d/10-${interface}.conf
        fi

        systemctl enable systemd-resolved 2&amp;gt;/dev/null || true
        systemctl start systemd-resolved 2&amp;gt;/dev/null || true

        # Создаем симлинк для resolv.conf
        ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf 2&amp;gt;/dev/null || true
    fi

    systemctl restart systemd-networkd

    if systemctl is-active systemd-resolved &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
        systemctl restart systemd-resolved
    fi
}

# Функция настройки Ifupdown (/etc/network/interfaces)
configure_ifupdown() {
    local interface=$1
    local bootproto=$2
    local ipaddr=$3
    local netmask=$4
    local gateway=$5
    local dns_servers=$6
    local domain=$7

    echo &quot;Configuring interface $interface using ifupdown&quot; &amp;gt;&amp;amp;2

    # Создаем базовый файл interfaces если его нет
    if [ ! -f /etc/network/interfaces ]; then
        mkdir -p /etc/network
        cat &amp;gt; /etc/network/interfaces &amp;lt;&amp;lt;EOF
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback
EOF
    fi

    # Удаляем ВСЮ конфигурацию для этого интерфейса
    # Создаем временный файл без конфигурации текущего интерфейса
    tmpfile=$(mktemp)
    in_block=0

    while IFS= read -r line; do
        # Проверяем, начинается ли новый блок интерфейса
        if [[ &quot;$line&quot; =~ ^(auto|allow-hotplug|iface)[[:space:]]+$interface([[:space:]]|$) ]]; then
            in_block=1
            continue
        fi

        # Если мы внутри блока и встречаем начало другого блока, выходим из блока
        if [[ $in_block -eq 1 &amp;amp;&amp;amp; &quot;$line&quot; =~ ^(auto|allow-hotplug|iface)[[:space:]]+ ]]; then
            in_block=0
        fi

        # Если мы не внутри блока удаляемого интерфейса, сохраняем строку
        if [[ $in_block -eq 0 ]]; then
            echo &quot;$line&quot; &amp;gt;&amp;gt; &quot;$tmpfile&quot;
        fi
    done &amp;lt; /etc/network/interfaces

    # Копируем обратно и удаляем временный файл
    mv &quot;$tmpfile&quot; /etc/network/interfaces
    chmod 644 /etc/network/interfaces

    # Удаляем возможные повторяющиеся пустые строки
    sed -i &#39;/^$/N; /^\n$/D&#39; /etc/network/interfaces
    sed -i -e :a -e &#39;/^\n*$/{$d;N;ba&#39; -e &#39;}&#39; /etc/network/interfaces

    # Добавляем новую конфигурацию
    {
        echo &quot;&quot;
        echo &quot;auto $interface&quot;
        if [ &quot;$bootproto&quot; = &quot;static&quot; ]; then
            echo &quot;iface $interface inet static&quot;
            echo &quot;    address $ipaddr&quot;
            echo &quot;    netmask $netmask&quot;
            [ -n &quot;$gateway&quot; ] &amp;amp;&amp;amp; echo &quot;    gateway $gateway&quot;
            [ -n &quot;$dns_servers&quot; ] &amp;amp;&amp;amp; echo &quot;    dns-nameservers $dns_servers&quot;
            [ -n &quot;$domain&quot; ] &amp;amp;&amp;amp; echo &quot;    dns-search $domain&quot;
        else
            echo &quot;iface $interface inet dhcp&quot;
        fi
    } &amp;gt;&amp;gt; /etc/network/interfaces

    # Настраиваем DNS через resolvconf если установлен
    if command -v resolvconf &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
        # Создаем временный файл для resolvconf
        TMP_RESOLV=&quot;/tmp/resolv.conf.${interface}&quot;
        echo &quot;# Generated by network configuration script&quot; &amp;gt; &quot;$TMP_RESOLV&quot;

        if [ -n &quot;$domain&quot; ]; then
            echo &quot;domain $domain&quot; &amp;gt;&amp;gt; &quot;$TMP_RESOLV&quot;
            echo &quot;search $domain&quot; &amp;gt;&amp;gt; &quot;$TMP_RESOLV&quot;
        fi

        if [ -n &quot;$dns_servers&quot; ]; then
            for dns in $dns_servers; do
                echo &quot;nameserver $dns&quot; &amp;gt;&amp;gt; &quot;$TMP_RESOLV&quot;
            done
        fi

        # Обновляем resolvconf
        resolvconf -a &quot;${interface}&quot; &amp;lt; &quot;$TMP_RESOLV&quot; 2&amp;gt;/dev/null || true
        rm -f &quot;$TMP_RESOLV&quot;
    else
        # Прямая настройка /etc/resolv.conf
        if [ -n &quot;$dns_servers&quot; ] || [ -n &quot;$domain&quot; ]; then
            echo &quot;# Generated by network configuration script&quot; &amp;gt; /etc/resolv.conf

            if [ -n &quot;$domain&quot; ]; then
                echo &quot;domain $domain&quot; &amp;gt;&amp;gt; /etc/resolv.conf
                echo &quot;search $domain&quot; &amp;gt;&amp;gt; /etc/resolv.conf
            fi

            if [ -n &quot;$dns_servers&quot; ]; then
                for dns in $dns_servers; do
                    echo &quot;nameserver $dns&quot; &amp;gt;&amp;gt; /etc/resolv.conf
                done
            fi
        fi
    fi

    # Перезапускаем сетевую службу
    if systemctl is-active networking &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
        systemctl restart networking
    else
        # Старый метод перезапуска сети
        ifdown &quot;$interface&quot; 2&amp;gt;/dev/null || true
        ifup &quot;$interface&quot; 2&amp;gt;/dev/null || true
    fi
}

# --- Функция очистки логов и временных файлов ---
clean_system() {
    # Очистка логов (с сохранением структуры каталогов)
    find /var/log -type f -name &quot;*.log&quot; -exec truncate -s 0 {} \; 2&amp;gt;/dev/null || true
    find /var/log -type f -name &quot;*.gz&quot; -delete 2&amp;gt;/dev/null || true
    find /var/log -type f -name &quot;*.old&quot; -delete 2&amp;gt;/dev/null || true
    find /var/log -type f -name &quot;lastlog&quot; -exec rm -f {} \; 2&amp;gt;/dev/null || true

    # Очистка временных файлов
    rm -rf /tmp/* 2&amp;gt;/dev/null || true
    rm -rf /var/tmp/* 2&amp;gt;/dev/null || true

    # Очистка истории команд и пользовательских данных
    for user_home in /home/*; do
        if [[ -d &quot;$user_home&quot; ]]; then
            user=$(basename &quot;$user_home&quot;)
            # Очистка bash_history и других историй
            truncate -s 0 &quot;$user_home/.bash_history&quot; 2&amp;gt;/dev/null || true
            # Очистка кэшей приложений
            rm -rf &quot;$user_home/.cache/*&quot; 2&amp;gt;/dev/null || true
        fi
    done

    # Очистка root
    truncate -s 0 /root/.bash_history 2&amp;gt;/dev/null || true
    rm -rf /root/.cache/* 2&amp;gt;/dev/null || true

    # Удаление случайных seed-файлов
    rm -f /var/lib/systemd/random-seed 2&amp;gt;/dev/null || true
    
    # Сброс machine-id
    truncate -s 0 /etc/machine-id
    rm /var/lib/dbus/machine-id
    ln -s /etc/machine-id /var/lib/dbus/machine-id
}

# --- Функция удаления SSH host keys ---
reset_ssh_keys() {
    rm -f /etc/ssh/ssh_host_* 2&amp;gt;/dev/null || true

    # Регенерация ключей SSH-сервера
    if command -v dpkg-reconfigure &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
        dpkg-reconfigure -f noninteractive openssh-server 2&amp;gt;/dev/null || true
    fi

    # Альтернативный способ для Debian
    if [ -x /usr/sbin/sshd ]; then
        /usr/sbin/sshd-keygen -A 2&amp;gt;/dev/null || true
    fi
}

# ============================================================
# Основная логика скрипта
# ============================================================
if [ &quot;$1&quot; = &quot;precustomization&quot; ]; then
    # Выполняем очистку системы
    clean_system

    # Проверяем и создаем /etc/network/interfaces
    if [ ! -f /etc/network/interfaces ]; then
        echo &quot;Creating /etc/network/interfaces file&quot;
        mkdir -p /etc/network
        cat &amp;gt; /etc/network/interfaces &amp;lt;&amp;lt;EOF
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback
EOF
    fi

    # Проверяем и создаем директорию /etc/sysconfig/network-scripts если нужно
    if [ ! -d &quot;/etc/sysconfig/network-scripts&quot; ]; then
        mkdir -p /etc/sysconfig/network-scripts 2&amp;gt;/dev/null || true
    fi

    # Этап предварительной настройки
    VMCUST_DIR=$(ls -d /var/run/.vmware-imgcust* 2&amp;gt;/dev/null | head -n 1)
    if [ -n &quot;$VMCUST_DIR&quot; ]; then
        CUST_CFG_PATH=&quot;$VMCUST_DIR/cust.cfg&quot;
        if [ -f &quot;$CUST_CFG_PATH&quot; ]; then
            cp &quot;$CUST_CFG_PATH&quot; &quot;/root/cust.cfg&quot;
        fi
    fi

elif [ &quot;$1&quot; = &quot;postcustomization&quot; ]; then
    # Этап пост-настройки
    reset_ssh_keys

    if [ ! -f &quot;/root/cust.cfg&quot; ]; then
        echo &quot;Ошибка: файл конфигурации /root/cust.cfg не найден&quot;
        exit 1
    fi

    CFG_FILE=&quot;/root/cust.cfg&quot;

    # Парсим параметры конфигурации
    BOOTPROTO=$(awk -F&#39; = &#39; &#39;/^BOOTPROTO/ {line=$2} END{print tolower(line)}&#39; &quot;$CFG_FILE&quot;)
    IPADDR=$(awk -F&#39; = &#39; &#39;/^IPADDR/ {line=$2} END{print line}&#39; &quot;$CFG_FILE&quot;)
    NETMASK=$(awk -F&#39; = &#39; &#39;/^NETMASK/ {line=$2} END{print line}&#39; &quot;$CFG_FILE&quot;)
    GATEWAY=$(awk -F&#39; = &#39; &#39;/^GATEWAY/ {line=$2} END{print line}&#39; &quot;$CFG_FILE&quot;)
    HOSTNAME=$(awk -F&#39; = &#39; &#39;/^HOSTNAME/ {line=$2} END{print line}&#39; &quot;$CFG_FILE&quot;)
    DOMAIN=$(awk -F&#39; = &#39; &#39;/^DOMAINNAME/ {line=$2} END{print line}&#39; &quot;$CFG_FILE&quot;)
    MACADDR=$(awk -F&#39; = &#39; &#39;/^MACADDR/ {line=$2} END{print tolower(line)}&#39; &quot;$CFG_FILE&quot;)
    DNS_SERVERS=$(awk -F&#39; = &#39; &#39;/^NAMESERVER\|[0-9]/ {print $2}&#39; &quot;$CFG_FILE&quot; | tr &#39;\n&#39; &#39; &#39; | sed &#39;s/ $//&#39;)
    DNS_FROM_DHCP=$(awk -F&#39; = &#39; &#39;/^DNSFROMDHCP/ {line=$2} END{print tolower(line)}&#39; &quot;$CFG_FILE&quot;)
    TIMEZONE=$(awk -F&#39; = &#39; &#39;/^TIMEZONE/ {line=$2} END{print line}&#39; &quot;$CFG_FILE&quot;)
    UTC=$(awk -F&#39; = &#39; &#39;/^UTC/ {line=$2} END{print tolower(line)}&#39; &quot;$CFG_FILE&quot;)

    # Определяем сетевой интерфейс
    INTERFACE=$(ip -o link | awk -v mac=&quot;$MACADDR&quot; &#39;tolower($0) ~ mac {gsub(&quot;:&quot;, &quot;&quot;, $2); print $2}&#39;)

    if [ -z &quot;$INTERFACE&quot; ]; then
        INTERFACE=$(ip route | awk &#39;/default/ {print $5; exit}&#39;)
    fi

    if [ -z &quot;$INTERFACE&quot; ]; then
        # Последняя попытка: берем первый Ethernet интерфейс
        INTERFACE=$(ip -o link | awk -F&#39;: &#39; &#39;$2 !~ /^lo|virbr|docker|veth/ {print $2; exit}&#39; | sed &#39;s/@.*//&#39;)
    fi

    if [ -z &quot;$INTERFACE&quot; ]; then
        echo &quot;Ошибка: не удалось определить сетевой интерфейс&quot;
        exit 1
    fi

    # Определяем метод управления сетью
    NET_MGR=$(get_network_manager &quot;$INTERFACE&quot;)
    echo &quot;Определен метод управления сетью: $NET_MGR для интерфейса $INTERFACE&quot;

    case &quot;$NET_MGR&quot; in
        &quot;NetworkManager&quot;)
            configure_networkmanager &quot;$INTERFACE&quot; &quot;$BOOTPROTO&quot; &quot;$IPADDR&quot; &quot;$NETMASK&quot; \
                &quot;$GATEWAY&quot; &quot;$DNS_SERVERS&quot; &quot;$DOMAIN&quot;
            ;;
        &quot;SystemD&quot;)
            configure_systemd &quot;$INTERFACE&quot; &quot;$BOOTPROTO&quot; &quot;$IPADDR&quot; &quot;$NETMASK&quot; \
                &quot;$GATEWAY&quot; &quot;$DNS_SERVERS&quot; &quot;$DOMAIN&quot; &quot;$DNS_FROM_DHCP&quot;
            ;;
        &quot;Ifupdown&quot;)
            configure_ifupdown &quot;$INTERFACE&quot; &quot;$BOOTPROTO&quot; &quot;$IPADDR&quot; &quot;$NETMASK&quot; \
                &quot;$GATEWAY&quot; &quot;$DNS_SERVERS&quot; &quot;$DOMAIN&quot;
            ;;
        *)
            echo &quot;Неизвестный метод управления сетью, используем ifupdown как запасной вариант&quot;
            configure_ifupdown &quot;$INTERFACE&quot; &quot;$BOOTPROTO&quot; &quot;$IPADDR&quot; &quot;$NETMASK&quot; \
                &quot;$GATEWAY&quot; &quot;$DNS_SERVERS&quot; &quot;$DOMAIN&quot;
            ;;
    esac

    # Общие настройки
    hostnamectl set-hostname &quot;$HOSTNAME&quot; 2&amp;gt;/dev/null || echo &quot;$HOSTNAME&quot; &amp;gt; /etc/hostname
    sed -i &quot;/127\.0\.1\.1/d&quot; /etc/hosts
    echo &quot;127.0.1.1 $HOSTNAME.$DOMAIN $HOSTNAME&quot; &amp;gt;&amp;gt; /etc/hosts

    # Настройка часового пояса
    if [ -n &quot;$TIMEZONE&quot; ]; then
        timedatectl set-timezone &quot;$TIMEZONE&quot; 2&amp;gt;/dev/null || true

        # Альтернативный способ для Debian
        if [ -f &quot;/usr/share/zoneinfo/$TIMEZONE&quot; ]; then
            cp &quot;/usr/share/zoneinfo/$TIMEZONE&quot; /etc/localtime 2&amp;gt;/dev/null || true
            echo &quot;$TIMEZONE&quot; &amp;gt; /etc/timezone 2&amp;gt;/dev/null || true
        fi
    fi

    # Настройка формата времени BIOS (UTC или локальное)
    if [ -n &quot;$UTC&quot; ]; then
        if [ &quot;$UTC&quot; = &quot;yes&quot; ]; then
            # Устанавливаем UTC время в BIOS
            timedatectl set-local-rtc 0 2&amp;gt;/dev/null || true
        else
            # Устанавливаем локальное время в BIOS
            timedatectl set-local-rtc 1 2&amp;gt;/dev/null || true
        fi
    fi

    # Сохраняем конфигурацию
    CONFIG_LOG=&quot;/root/vm-customization.log&quot;
    {
        echo &quot;==========================================&quot;
        echo &quot;Настройка завершена: $(date)&quot;
        echo &quot;==========================================&quot;
        echo &quot;CONFIG_SOURCE=$CFG_FILE&quot;
        echo &quot;BOOTPROTO=$BOOTPROTO&quot;
        echo &quot;INTERFACE=$INTERFACE&quot;
        echo &quot;NETWORK_MANAGER=$NET_MGR&quot;
        echo &quot;HOSTNAME=$HOSTNAME&quot;
        echo &quot;DOMAIN=$DOMAIN&quot;
        echo &quot;TIMEZONE=$TIMEZONE&quot;
        echo &quot;UTC=$UTC&quot;

        [ -n &quot;$DNS_FROM_DHCP&quot; ] &amp;amp;&amp;amp; echo &quot;DNS_FROM_DHCP=$DNS_FROM_DHCP&quot;
        [ -n &quot;$DNS_SERVERS&quot; ] &amp;amp;&amp;amp; echo &quot;DNS_SERVERS=\&quot;$DNS_SERVERS\&quot;&quot;

        if [ &quot;$BOOTPROTO&quot; = &quot;static&quot; ]; then
            echo &quot;IP_ADDRESS=$IPADDR&quot;
            echo &quot;NETMASK=$NETMASK&quot;
            [ -n &quot;$GATEWAY&quot; ] &amp;amp;&amp;amp; echo &quot;GATEWAY=$GATEWAY&quot;
        fi
    } &amp;gt; &quot;$CONFIG_LOG&quot;

    rm -f &quot;/root/cust.cfg&quot;

    # Синхронизируем изменения на диск
    sync

    echo &quot;Настройка завершена успешно. Метод управления сетью: $NET_MGR&quot;

    ##############################################################################################
    # МЕСТО ДЛЯ ДОПОЛНИТЕЛЬНОЙ НАСТРОЙКИ СИСТЕМЫ
    # Здесь можно добавить команды для окончательной настройки машины:
    # - Доустановка необходимого программного обеспечения
    # - Настройка через Ansible или другие системы управления конфигурациями
    # - Выполнение пользовательских скриптов
    # - Настройка мониторинга, логирования и других сервисов

    # Пример: установка базовых пакетов
    # apt-get update &amp;amp;&amp;amp; apt-get install -y curl wget net-tools

    ##############################################################################################
fi&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Данный скрипт охватывает все возможные варианты настройки сети: &lt;i&gt;&lt;u&gt;IfUpDown&lt;/u&gt;&lt;/i&gt;, &lt;i&gt;&lt;u&gt;NetworkManager&lt;/u&gt;&lt;/i&gt;, &lt;i&gt;&lt;u&gt;Systemd-Networkd&lt;/u&gt;&lt;/i&gt;, как со статическим &lt;i&gt;IP&lt;/i&gt;, так и с &lt;i&gt;DHCP&lt;/i&gt;.&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/9109180143067300989/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/12/debian-vmware-vm-customization.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/9109180143067300989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/9109180143067300989'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/12/debian-vmware-vm-customization.html' title='Debian: Настройка VMware VM Customization Specifications для ОС Debian GNU/Linux'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-1933229563530043571</id><published>2025-12-18T23:47:00.000-08:00</published><updated>2025-12-20T02:37:40.512-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Debian"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Debian: Настройка swap-файла в Debian вместо отдельного раздела</title><content type='html'>&lt;b&gt;&lt;i&gt;&lt;u&gt;Swap&lt;/u&gt;&lt;/i&gt;&lt;/b&gt; (&lt;i&gt;файл подкачки&lt;/i&gt;) — это специальное пространство на диске, которое используется операционной системой, когда физической оперативной памяти становится недостаточно. Хотя современные системы часто обладают большим объемом &lt;i&gt;ОЗУ&lt;/i&gt;, &lt;i&gt;swap&lt;/i&gt; всё ещё может быть полезен. Даже при достаточном объеме &lt;i&gt;ОЗУ&lt;/i&gt; целесообразно иметь небольшой &lt;i&gt;swap&lt;/i&gt; (например, &lt;i&gt;1-2 ГБ&lt;/i&gt;) для подстраховки. Раздел &lt;i&gt;swap&lt;/i&gt; располагался в конце диска исторически из-за особенностей ранних файловых систем и контроллеров дисков: это позволяло быстрее выделять и использовать непрерывное пространство, так как размещение в конце диска (ближе к &quot;необслуживаемому&quot; месту) уменьшало фрагментацию и ускоряло доступ, особенно на &lt;i&gt;HDD&lt;/i&gt;, где скорость записи падает к центру диска, но часто в конце диска было больше свободного места, не трогая корневые и системные разделы в начале. В современных реалиях и использовании виртуализации стало неудобно расширять при необходимости диск и файловую систему при наличии раздела &lt;i&gt;swap&lt;/i&gt; в конце диска. Поэтому можно убрать данный раздел и использовать swap в виде файла на основном разделе.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Для перенастройки выполните следующие шаги:&lt;/u&gt;&lt;span class=&quot;uJ19be notranslate&quot; data-processed=&quot;true&quot; data-wiz-uids=&quot;A4ywce_c,A4ywce_d,A4ywce_e&quot;&gt;&lt;span class=&quot;vKEkVd&quot; data-animation-atomic=&quot;&quot; data-processed=&quot;true&quot; data-wiz-attrbind=&quot;class=A4ywce_c/TKHnVd;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;1. Перед созданием &lt;i&gt;swap&lt;/i&gt;-файла проверьте, как настроен у вас &lt;i&gt;swap&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo swapon --show&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;или&lt;br /&gt;&lt;b&gt;&lt;i&gt;free -h&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Убедитесь, что у вас достаточно свободного места на диске:&lt;br /&gt;&lt;b&gt;&lt;i&gt;df -h&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Рекомендуется оставить не менее &lt;i&gt;5%&lt;/i&gt; свободного пространства на разделе после создания &lt;i&gt;swap&lt;/i&gt;-файла.&lt;br /&gt;&lt;br /&gt;3. Создайте файла подкачки используя утилиту &quot;&lt;b&gt;&lt;i&gt;dd&lt;/i&gt;&lt;/b&gt;&quot;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;где&lt;br /&gt;&lt;i&gt;bs=1M&lt;/i&gt; — размер блока &lt;i&gt;1 МБ&lt;/i&gt;;&lt;br /&gt;&lt;i&gt;count=2048&lt;/i&gt; — количество блоков (результирующий размер: &lt;i&gt;2048 МБ ≈ 2 ГБ&lt;/i&gt;);&lt;br /&gt;&lt;i&gt;status=progress&lt;/i&gt; — показ прогресса (доступно не во всех версиях &lt;i&gt;dd&lt;/i&gt;).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ВАЖНО!!!&lt;/b&gt; Рекомендуемый размер &lt;i&gt;swap&lt;/i&gt; часто составляет от &lt;i&gt;50%&lt;/i&gt; до &lt;i&gt;100%&lt;/i&gt; от объема &lt;i&gt;ОЗУ&lt;/i&gt;, но не более чем в 2 раза. Однако для современных систем с большим объемом &lt;i&gt;ОЗУ (16 ГБ и более)&lt;/i&gt; часто достаточно &lt;i&gt;2-4 ГБ swap&lt;/i&gt;, если только вы не планируете использовать гибернацию (тогда размер &lt;i&gt;swap&lt;/i&gt; должен быть не меньше объема &lt;i&gt;ОЗУ&lt;/i&gt;).&lt;br /&gt;&lt;br /&gt;4. Ограничьте доступ к файлу только для &lt;i&gt;&lt;u&gt;root&lt;/u&gt;&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo chmod 600 /swapfile&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;5. Форматируйте файл под &lt;i&gt;swap&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo mkswap /swapfile&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;6. Активируйте &lt;i&gt;swap&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo swapon /swapfile&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;7. Проверьте, что &lt;i&gt;swap&lt;/i&gt; активен:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo swapon --show&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;или&lt;br /&gt;&lt;b&gt;&lt;i&gt;free -h&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;8. Отключите &lt;i&gt;swap&lt;/i&gt;-раздел (&lt;i&gt;&lt;b&gt;/dev/sda3&lt;/b&gt;&lt;/i&gt;):&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo swapoff /dev/sda3&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;9. Перенастройте &quot;&lt;i&gt;&lt;b&gt;/etc/fstab&lt;/b&gt;&lt;/i&gt;&quot; для корректного автоматического подключения &lt;i&gt;swap&lt;/i&gt;-файла при загрузке &lt;i&gt;ОС&lt;/i&gt;. Для этого откройте &quot;&lt;b&gt;&lt;i&gt;fstab&lt;/i&gt;&lt;/b&gt;&quot; на редактирование, найдите строку вида:&lt;br /&gt;&lt;i&gt;&lt;b&gt;UUID=9f3c3eb7-dbc0-45ca-9299-5bb6f9ae8958 none            swap    sw              0       0&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Поменяйте &quot;&lt;i&gt;&lt;b&gt;UUID=9f3c3eb7-dbc0-45ca-9299-5bb6f9ae8958&lt;/b&gt;&lt;/i&gt;&quot; в строке на &quot;&lt;b&gt;&lt;i&gt;/swapfile&lt;/i&gt;&lt;/b&gt;&quot; и сохраните файл конфигурации.&lt;br /&gt;&lt;br /&gt;10. Теперь удалите раздел &quot;&lt;b&gt;&lt;i&gt;/dev/sda3&lt;/i&gt;&lt;/b&gt;&quot; и расширьте основной раздел &quot;&lt;b&gt;&lt;i&gt;/dev/sda2&lt;/i&gt;&lt;/b&gt;&quot; с помощью утилиты &quot;&lt;b&gt;&lt;i&gt;fdisk&lt;/i&gt;&lt;/b&gt;&quot;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo fdisk /dev/sda&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Введите &quot;&lt;b&gt;p&lt;/b&gt;&quot;, чтобы посмотреть список разделов. Далее введите &quot;&lt;b&gt;d&lt;/b&gt;&quot; и выберите номер раздела, где раньше находился &lt;i&gt;swap&lt;/i&gt;. Проверьте с помощью &quot;&lt;b&gt;p&lt;/b&gt;&quot;, правильный ли раздел был удален. Для сохранения изменений введите &quot;&lt;b&gt;w&lt;/b&gt;&quot;, для выхода с отменой изменений в случае ошибки - введите &quot;&lt;b&gt;q&lt;/b&gt;&quot;.&lt;br /&gt;&lt;br /&gt;11. Расширьте ваш основной раздел, используя освободившееся место на диске. Внутри утилиты &quot;&lt;b&gt;&lt;i&gt;fdisk&lt;/i&gt;&lt;/b&gt;&quot; введите команду &quot;&lt;b&gt;e&lt;/b&gt;&quot;, укажите номер вашего раздела, укажите на сколько нужно его увеличить. Выйдите из утилиты командой &quot;&lt;b&gt;w&lt;/b&gt;&quot;.&lt;br /&gt;&lt;br /&gt;12. Окончательным этапом расширьте файловую систему основного раздела:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo resize2fs /dev/sda2&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;13. Проверьте изменения командами:&lt;br /&gt;&lt;b&gt;&lt;i&gt;lsblk -l&lt;br /&gt;df -h&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;14. Отключите &lt;u&gt;&lt;i&gt;режим гибернации&lt;/i&gt;&lt;/u&gt;, поскольку данный механизм нативно работает только с блочными устройствами (разделами), а не с файлами внутри файловой системы:&lt;br /&gt;&lt;b&gt;&lt;i&gt;echo &quot;RESUME=none&quot; | sudo tee /etc/initramfs-tools/conf.d/resume&lt;br /&gt;sudo update-initramfs -u -k all&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/1933229563530043571/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/12/debian-swap-debian.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/1933229563530043571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/1933229563530043571'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/12/debian-swap-debian.html' title='Debian: Настройка swap-файла в Debian вместо отдельного раздела'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-9086807269912090736</id><published>2025-12-17T03:10:00.000-08:00</published><updated>2025-12-17T04:56:10.441-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><title type='text'>Ubuntu: Сброс пароля пользователя &quot;root&quot; при наличии доступа к консоли сервера в режиме загрузки EFI</title><content type='html'>&lt;p&gt;При необходимости сбросить забытый пароль на &lt;i&gt;ОС Ubuntu&lt;/i&gt;, которая была установлена в режиме &lt;i&gt;EFI&lt;/i&gt;, &lt;u&gt;выполните следующие шаги:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. При загрузке удерживайте клавишу &quot;&lt;i&gt;ESC&lt;/i&gt;&quot;, чтобы попасть в меню &lt;i&gt;&lt;u&gt;GRUB&lt;/u&gt;&lt;/i&gt;. Должна появится строка приглашения &quot;&lt;b&gt;&lt;i&gt;grub&amp;gt;&lt;/i&gt;&lt;/b&gt;&quot; для ввода команд.&lt;br /&gt;&lt;br /&gt;2. Выполните команду &quot;&lt;b&gt;&lt;i&gt;ls&lt;/i&gt;&lt;/b&gt;&quot;. В консоли будут выведены доступные разделы, например:&lt;br /&gt;&lt;i&gt;&lt;b&gt;(hd0,gpt3) (hd0,gpt2) (hd0,gpt1) (lvm/ubuntu--vg-ubuntu--lv)&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;3. Теперь необходимо проверить данные разделы командами:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ls (hd0,gpt1)/&lt;br /&gt;ls (hd0,gpt2)/&lt;br /&gt;ls (hd0,gpt3)/&lt;br /&gt;ls (lvm/ubuntu--vg-ubuntu--lv)/&lt;/i&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;u&gt;Необходимо найти:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Системный раздел&lt;/u&gt;&lt;/b&gt; - содержит директории, в корне которого есть знакомые папки: &lt;i&gt;boot, home, usr, etc&lt;/i&gt;.&lt;br /&gt;&lt;b&gt;&lt;u&gt;Загрузочный раздел&lt;/u&gt;&lt;/b&gt; - содержит:&lt;br /&gt;- файл ядра (&lt;i&gt;&lt;b&gt;vmlinuz&lt;/b&gt;&lt;/i&gt;): файл, имя которого начинается с &quot;&lt;b&gt;&lt;i&gt;vmlinuz-&lt;/i&gt;&lt;/b&gt;&quot;, например, &quot;&lt;i&gt;&lt;b&gt;vmlinuz-6.8.0-31-generic&lt;/b&gt;&lt;/i&gt;&quot;.&lt;br /&gt;- файл &lt;b&gt;&lt;i&gt;initrd&lt;/i&gt;&lt;/b&gt;: файл, имя которого начинается с &quot;&lt;b&gt;&lt;i&gt;initrd.img-&lt;/i&gt;&lt;/b&gt;&quot; и содержит ту же версию, что и ядро, например, &quot;&lt;b&gt;&lt;i&gt;initrd.img-6.8.0-31-generic&lt;/i&gt;&lt;/b&gt;&quot;.&lt;br /&gt;Запишите или запомните полные имена этих двух файлов.&lt;br /&gt;&lt;br /&gt;4. Вручную задайте команды загрузки:&lt;br /&gt;Допустим загрузочным разделом у вас является &quot;&lt;b&gt;&lt;i&gt;(hd0,gpt2)&lt;/i&gt;&lt;/b&gt;&quot;, а системный - &quot;&lt;b&gt;&lt;i&gt;(lvm/ubuntu--vg-ubuntu--lv)&lt;/i&gt;&lt;/b&gt;&quot;.&lt;br /&gt;&lt;br /&gt;5. Укажите &lt;i&gt;&lt;u&gt;GRUB&lt;/u&gt;&lt;/i&gt;, где искать файлы загрузки (загрузочный раздел):&lt;br /&gt;&lt;b&gt;&lt;i&gt;set root=(hd0,gpt2)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;5. Загрузите ядро: &lt;br /&gt;&lt;b&gt;&lt;i&gt;linux /vmlinuz-6.8.0-31-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv rw init=/bin/bash&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;где&lt;br /&gt;&lt;i&gt;root=/dev/mapper/ubuntu--vg-ubuntu--lv&lt;/i&gt; - путь к &lt;i&gt;LVM&lt;/i&gt;-тому как корневому разделу;&lt;br /&gt;&lt;i&gt;rw&lt;/i&gt; - монтируем для записи (&lt;i&gt;ro&lt;/i&gt; - только для чтения);&lt;br /&gt;&lt;i&gt;init=/bin/bash&lt;/i&gt; - загружаемся сразу в оболочку &lt;i&gt;root&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;7. Загрузите образ &lt;i&gt;initrd&lt;/i&gt; (он необходим для работы с &lt;i&gt;LVM&lt;/i&gt;):&lt;br /&gt;&lt;b&gt;&lt;i&gt;initrd /initrd.img-6.8.0-31-generic&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;8. Запустите загрузку:&lt;br /&gt;&lt;b&gt;&lt;i&gt;boot&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;После загрузки образа ОС появится строка ввода формата &quot;&lt;b&gt;&lt;i&gt;root@(none):/#&lt;/i&gt;&lt;/b&gt;&quot;.&lt;br /&gt;&lt;br /&gt;9. Смените пароль для &quot;&lt;b&gt;&lt;u&gt;root&lt;/u&gt;&lt;/b&gt;&quot; или другого пользователя:&lt;br /&gt;&lt;b&gt;&lt;i&gt;passwd root&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;10. Выполните перезагрузку:&lt;br /&gt;&lt;b&gt;&lt;i&gt;reboot -f&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;В случае ошибок загрузки и появления строки ввода &quot;&lt;b&gt;&lt;i&gt;(initramfs)&lt;/i&gt;&lt;/b&gt;&quot; вместо &quot;&lt;b&gt;&lt;i&gt;root@(none):/#&lt;/i&gt;&lt;/b&gt;&quot;, попробуйте смонтировать файловую систему самостоятельно:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;а). Создайте точку монтирования:&lt;br /&gt;&lt;b&gt;&lt;i&gt;mkdir /rootfs&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;б). Смонтируйте ваш &lt;i&gt;LVM&lt;/i&gt;-том:&lt;br /&gt;&lt;b&gt;&lt;i&gt;mount /dev/mapper/ubuntu--vg-ubuntu--lv /rootfs&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;в). Проверьте монтирование:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ls /rootfs&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Вы должны увидеть содержимое корневой файловой системы (&lt;i&gt;&lt;b&gt;/&lt;/b&gt;&lt;/i&gt;): папки &lt;i&gt;bin, home, usr, etc&lt;/i&gt; и т.д.&lt;br /&gt;&lt;br /&gt;г). Используйте команду &lt;i&gt;chroot&lt;/i&gt;, чтобы сделать смонтированный раздел корневым для следующих команд:&lt;br /&gt;&lt;b&gt;&lt;i&gt;chroot /rootfs&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;д). Смените пароль для &quot;&lt;b&gt;&lt;u&gt;root&lt;/u&gt;&lt;/b&gt;&quot; или другого пользователя:&lt;br /&gt;&lt;b&gt;&lt;i&gt;passwd root&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Введите новый пароль дважды.&lt;br /&gt;&lt;br /&gt;е). Перезагрузите систему в основной режим:&lt;br /&gt;&lt;br /&gt;Выйдите из &lt;i&gt;chroot&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;exit&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Размонтируйте раздел:&lt;br /&gt;&lt;b&gt;&lt;i&gt;umount /rootfs&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Выполните перезагрузку:&lt;br /&gt;&lt;b&gt;&lt;i&gt;reboot -f&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/9086807269912090736/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/12/ubuntu-root-efi.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/9086807269912090736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/9086807269912090736'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/12/ubuntu-root-efi.html' title='Ubuntu: Сброс пароля пользователя &quot;root&quot; при наличии доступа к консоли сервера в режиме загрузки EFI'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-3439893360724971368</id><published>2025-12-06T01:12:00.000-08:00</published><updated>2025-12-06T01:34:04.350-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Debian"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Debian: Различные способы настройки сетевых интерфейсов</title><content type='html'>&lt;p&gt;Для просмотра драйверов сетевых адаптеров выполните:&lt;br /&gt;&lt;b&gt;&lt;i&gt;lspci -k | grep -A2 Ethernet&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Список сетевых интерфейсов можно увидеть командой:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ls /sys/class/net&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Допустим наш интерфейс называется &quot;&lt;b&gt;&lt;i&gt;ens33&lt;/i&gt;&lt;/b&gt;&quot;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Настройки интерфейсов с помощью утилиты &quot;ip&quot;.&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip link show&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Просмотр сетевых подключений&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip -s l&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Просмотр статистики по отправленным/полученным пакетам&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip address show&lt;/i&gt;&lt;/b&gt; &amp;nbsp; #Просмотр конфигурации &lt;i&gt;TCP/IP&lt;br /&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;ip link set dev ens33 up&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Включение интерфейса, если он был выключен&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip address flush dev ens33&lt;/i&gt;&lt;/b&gt; &amp;nbsp; #Сброс конфигурации интерфейса&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip addr add 192.168.0.5/24 broadcast + dev ens33&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Установка &lt;i&gt;IP&lt;/i&gt; и маски&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip addr del&amp;nbsp;192.168.0.5/24 dev ens33&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Удаление &lt;i&gt;IP&lt;/i&gt; и маски (в случае ошибки)&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route show&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Просмотр таблицы маршрутизации&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route add default via 192.168.0.1 dev ens33&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Установка шлюза по умолчанию&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route delete default&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Удаление шлюза по умолчанию&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route add 192.168.10.0/24 via 192.168.0.254 dev ens33&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Добавление маршрута&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route del 192.168.10.0/24 dev ens33&lt;/i&gt;&lt;/b&gt;   #Удаление маршрута&lt;br /&gt;&lt;b&gt;&lt;i&gt;echo &quot;nameserver 192.168.0.1 8.8.8.8&quot; | sudo tee /etc/resolv.conf&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&amp;nbsp; #Добавление &lt;i&gt;DNS&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Данные настройки являются временными и будут работать до перезагрузки &lt;i&gt;ОС&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Настройка сетевой подсистемы методом &quot;ifupdown&quot; (используется по умолчанию при установке без графики).&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. Установите пакет и запустите службу (если отсутствует сервис &quot;&lt;i&gt;networking&lt;/i&gt;&quot;):&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get install ifupdown&lt;br /&gt;sudo systemctl enable --now networking&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Для настройки интерфейса необходимо создать или отредактировать уже имеющийся файл &quot;&lt;i&gt;&lt;b&gt;/etc/network/interfaces&lt;/b&gt;&lt;/i&gt;&quot;.&lt;br /&gt;&lt;u&gt;В файле укажите следующие параметры:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;&lt;b&gt;Для DHCP:&lt;/b&gt;&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;iface lo inet loopback&lt;br /&gt;auto lo&lt;br /&gt;auto ens33&lt;br /&gt;iface ens33 inet dhcp&lt;/i&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;i&gt;&lt;u&gt;&lt;b&gt;Для статического IP:&lt;/b&gt;&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;iface lo inet loopback&lt;br /&gt;auto lo&lt;br /&gt;auto ens33&lt;br /&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;iface &lt;/span&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;ens33&lt;/span&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt; inet static&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;address 192.168.1.100/24 &lt;/span&gt;&lt;/i&gt;&lt;i&gt;#IP и маска&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;gateway 192.168.1.1 &lt;/span&gt;&lt;/i&gt;&lt;i&gt;#Шлюз по умолчанию&lt;/i&gt;&lt;br /&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;&lt;i&gt;up ip route add 10.0.0.0/8 via 192.168.1.200 &lt;/i&gt;&lt;/span&gt;&lt;i&gt;#Статические маршруты&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;metric 0&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;u&gt;и создайте файл &quot;/etc/&lt;i&gt;resolv.conf&lt;/i&gt;&quot; со следующим содержимым:&lt;/u&gt;&lt;br /&gt;&lt;i&gt;nameserver 192.168.0.1 #DNS1&lt;br /&gt;nameserver 8.8.8.8 #DNS2&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;3. Перезапустите интерфейс:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo ifdown ens33 &amp;amp;&amp;amp; sudo ifup ens33&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;или службу:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl restart networking&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4. Выполните проверки настроек:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip address show&lt;br /&gt;ip route show&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;При необходимости удаления компонентов &quot;&lt;i&gt;ifupdown&lt;/i&gt;&quot; выполните:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get remove ifupdown&lt;br /&gt;sudo rm -f &lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;b&gt;/etc/network/interfaces&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;sudo rm -rf &lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;b&gt;/etc/network/interfaces.d/*&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -f /etc/resolv.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Настройка сетевой подсистемы&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt; &quot;NetworkManager&quot;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt; (используется по умолчанию при установке с графическим интерфейсом)&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;.&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. Установите &lt;i&gt;NetworkManager&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get install&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; network-manager&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Включите и запустите службу:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl enable --now NetworkManager&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. Настройте&amp;nbsp;&lt;i&gt;NetworkManager&lt;/i&gt; для управления всеми интерфейсами, для этого отредактируйте файл &quot;&lt;i&gt;&lt;b&gt;/etc/NetworkManager/NetworkManager.conf&lt;/b&gt;&lt;/i&gt;&quot;: в секции &lt;b&gt;[ifupdown]&lt;/b&gt; измените значение параметра:&lt;br /&gt;&lt;b&gt;&lt;i&gt;managed=true&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4. Сконфигурируйте сетевой интерфейс с помощью терминальной утилиты &quot;&lt;b&gt;&lt;i&gt;nmtui&lt;/i&gt;&lt;/b&gt;&quot; или в командной строке утилитой &quot;&lt;b&gt;&lt;i&gt;nmcli&lt;/i&gt;&lt;/b&gt;&quot;:&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Просмотр:&lt;/u&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;nmcli con show&lt;/b&gt;&amp;nbsp;&amp;nbsp; &lt;/i&gt;#Просмотр сетевых подключений&lt;i&gt;&lt;br /&gt;&lt;b&gt;nmcli dev show ens33&lt;/b&gt;&amp;nbsp;&amp;nbsp; &lt;/i&gt;#Просмотр активного соединения на &quot;&lt;u&gt;ens33&lt;/u&gt;&quot;&lt;i&gt;&lt;br /&gt;&lt;b&gt;nmcli con show &#39;Wired connection 1&#39;&amp;nbsp;&lt;/b&gt;&amp;nbsp; &lt;/i&gt;#Просмотр параметров подключения&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Настройки для &lt;i&gt;DHCP&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.method auto&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.addresses &quot;&quot; ipv4.gateway &quot;&quot;&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.dns &quot;&quot;&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.routes &quot;&quot;&lt;br /&gt;nmcli con up &#39;Wired connection 1&#39;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Настройки для статического &lt;i&gt;IP&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.addresses&amp;nbsp;192.168.0.5/24&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.gateway 192.168.0.1&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.dns &quot;192.168.0.1 8.8.8.8&quot;&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; +ipv4.routes &quot;192.168.10.0/24&amp;nbsp;192.168.0.254&quot;&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.method manual&lt;br /&gt;nmcli con up &#39;Wired connection 1&#39;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;5. Выполните проверки настроек:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip address show&lt;br /&gt;ip route show&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;При необходимости удаления компонентов &quot;&lt;i&gt;NetworkManager&lt;/i&gt;&quot; выполните:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get remove network-manager&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -rf /etc/NetworkManager/&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -rf /var/lib/NetworkManager/&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -f /etc/resolv.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;Настройка сетевой подсистемы&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt; &quot;systemd-networkd&quot;.&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. Служба &quot;&lt;i&gt;&lt;u&gt;systemd-networkd&lt;/u&gt;&lt;/i&gt;&quot; уже входит в &quot;&lt;b&gt;&lt;i&gt;systemd&lt;/i&gt;&lt;/b&gt;&quot;, установите только &quot;&lt;i&gt;&lt;u&gt;systemd-resolved&lt;/u&gt;&lt;/i&gt;&quot;, добавьте их в автозапуск:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get install&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; &lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;b&gt;systemd-&lt;/b&gt;&lt;/i&gt;&lt;i&gt;&lt;b&gt;resolved&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;sudo systemctl enable --now systemd-networkd&lt;br /&gt;sudo systemctl enable --now systemd-resolved&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;2. Создайте файл конфигурации (расширение &quot;&lt;i&gt;&lt;u&gt;.network&lt;/u&gt;&lt;/i&gt;&quot; обязательно):&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /etc/systemd/network/20-wired.network&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Настройки для &lt;i&gt;DHCP&lt;/i&gt;:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Match]&lt;br /&gt;Name=ens33&lt;br /&gt;[Network]&lt;br /&gt;DHCP=ipv4&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Настройки для статического &lt;i&gt;IP&lt;/i&gt;:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Match]&lt;br /&gt;Name=ens33&lt;br /&gt;[Network]&lt;br /&gt;Address=192.168.0.5/24&lt;br /&gt;Gateway=192.168.0.1&lt;br /&gt;DNS=192.168.0.1 8.8.8.8&lt;br /&gt;[Route]&lt;br /&gt;Destination=192.168.10.0/24&lt;br /&gt;Gateway=192.168.0.254&lt;br /&gt;Metric=10&amp;nbsp;&amp;nbsp; #Опционально&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;3. Перезапустите или перегрузите службу:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl restart systemd-networkd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;или&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo networkctl reload&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4. Выполните проверки настроек:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip address show&lt;br /&gt;ip route show&lt;br /&gt;resolvectl&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;При необходимости удаления компонентов &quot;&lt;i&gt;systemd-networkd&lt;/i&gt;&quot; выполните:&lt;/u&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;sudo systemctl disable --now systemd-networkd systemd-resolved&lt;br /&gt;sudo apt-get remove systemd-&lt;/b&gt;&lt;/i&gt;&lt;i&gt;&lt;b&gt;resolved&lt;/b&gt;&lt;/i&gt;&lt;i&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;sudo rm -rf /etc/systemd/network/*&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -f /etc/resolv.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Общие рекомендации!!!&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;Для простых конфигураций серверов и виртуальных машин используйте &quot;&lt;i&gt;&lt;u&gt;systemd-networkd&lt;/u&gt;&lt;/i&gt;&quot;, &lt;u&gt;все остальные модули рекомендуется в этом случае удалить:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get remove ifupdown &lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;network-manager dhcpcd-base&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -f &lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;b&gt;/etc/network/interfaces&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;sudo rm -rf &lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;b&gt;/etc/network/interfaces.d/*&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -rf /etc/NetworkManager/&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;sudo rm -rf /var/lib/NetworkManager/&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -f /etc/resolv.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/3439893360724971368/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/12/debian.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/3439893360724971368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/3439893360724971368'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/12/debian.html' title='Debian: Различные способы настройки сетевых интерфейсов'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-6636430332207143757</id><published>2025-11-03T02:46:00.000-08:00</published><updated>2025-11-20T01:03:54.354-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hardware"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Windows: Подключение системы хранения данных Huawei по протоколу Dataturbo</title><content type='html'>&lt;p&gt;&lt;u&gt; &lt;b&gt;Настройку выполняем следующим образом:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;1. На &lt;i&gt;СХД&lt;/i&gt; (системе хранения данных) выполняем предварительные настройки файловой системы:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1.1 Создаем пользователя для авторизации по протоколу &quot;&lt;i&gt;Dataturbo&lt;/i&gt;&quot;: переходим &quot;&lt;b&gt;&lt;i&gt;vStore Service-&amp;gt;vStores&lt;/i&gt;&lt;/b&gt;&quot;. Выбираем ваш &lt;i&gt;vStore&lt;/i&gt; (&lt;i&gt;&lt;u&gt;System_vStore&lt;/u&gt;&lt;/i&gt; по умолчанию).&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIXD0LOp6e2r-wUNMzguNDZ7Hvbq2PxaSN3XhxF0WJzcSMcMoG0sOCd1IsQro6sd23aPs-II0m8CLJRLR7lpjzBZJ4msdjCuWKjDAV2alzAH8E7RuRrpgVa2OOCC_K7JLhaXrrgfZkU7CxEokJ8AF2ViPYQEYCUT80nya37bBErNHdJ8Ztk-TllURP9Ws/s989/1.png&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;679&quot; data-original-width=&quot;989&quot; height=&quot;220&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIXD0LOp6e2r-wUNMzguNDZ7Hvbq2PxaSN3XhxF0WJzcSMcMoG0sOCd1IsQro6sd23aPs-II0m8CLJRLR7lpjzBZJ4msdjCuWKjDAV2alzAH8E7RuRrpgVa2OOCC_K7JLhaXrrgfZkU7CxEokJ8AF2ViPYQEYCUT80nya37bBErNHdJ8Ztk-TllURP9Ws/s320/1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Перходим на вкладку &quot;&lt;b&gt;&lt;i&gt;User Management&lt;/i&gt;&lt;/b&gt;&quot; и создаем пользователя (например &quot;&lt;i&gt;&lt;u&gt;dataturbo&lt;/u&gt;&lt;/i&gt;&quot;). Указываем роль &quot;&lt;i&gt;&lt;b&gt;vStore DataTurbo administrator&lt;/b&gt;&lt;/i&gt;&quot;.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZON32oAJhu97HGEZJn1ww3t0Y-NZKP9tLRXX0rQhpigElpjMeQyXX9MQqH6exS2MxZmpJGCBi-c8BOpTzDtfHoFoFmRzGFwwuYTYeOXweN_6hp-ZJhaVGzde4oMxtNfQSh9SPWC33n3AU0qY4FDrvwHOAZEIMyU4NB7m1FauZcEoQBZ5FQGm287ViP38/s633/2.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;623&quot; data-original-width=&quot;633&quot; height=&quot;315&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZON32oAJhu97HGEZJn1ww3t0Y-NZKP9tLRXX0rQhpigElpjMeQyXX9MQqH6exS2MxZmpJGCBi-c8BOpTzDtfHoFoFmRzGFwwuYTYeOXweN_6hp-ZJhaVGzde4oMxtNfQSh9SPWC33n3AU0qY4FDrvwHOAZEIMyU4NB7m1FauZcEoQBZ5FQGm287ViP38/s320/2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;1.2 Создаем логический порт: переходим &quot;&lt;b&gt;&lt;i&gt;Services-&amp;gt;Logical Ports&lt;/i&gt;&lt;/b&gt;&quot;. Выбираем ваш &lt;i&gt;vStore&lt;/i&gt; (&lt;i&gt;&lt;u&gt;System_vStore&lt;/u&gt;&lt;/i&gt; по умолчанию).&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieqHAjhPjbdb2ZNM8MBQgM5s_vG6Ie9db7FYjN3oLR9cG4df64dAPpnvPUTFz8jUYPnrDpODOk699JouaWCtsmdqZ8VutDTEgKwS5lvkTY80XxJ6ZQFy6yy27nr71wTa_M97ki4whnj_uJ7AhdwixBPV8YM6ffMwd8qVtbUFNozV4zullmCn5Dz3gM110/s755/3.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;600&quot; data-original-width=&quot;755&quot; height=&quot;254&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieqHAjhPjbdb2ZNM8MBQgM5s_vG6Ie9db7FYjN3oLR9cG4df64dAPpnvPUTFz8jUYPnrDpODOk699JouaWCtsmdqZ8VutDTEgKwS5lvkTY80XxJ6ZQFy6yy27nr71wTa_M97ki4whnj_uJ7AhdwixBPV8YM6ffMwd8qVtbUFNozV4zullmCn5Dz3gM110/s320/3.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Создаем новый порт &quot;&lt;i&gt;&lt;u&gt;DataTurbo_Port&lt;/u&gt;&lt;/i&gt;&quot;, указываем роль &quot;&lt;b&gt;&lt;i&gt;Service&lt;/i&gt;&lt;/b&gt;&quot; и протокол &quot;&lt;b&gt;&lt;i&gt;DataTurbo&lt;/i&gt;&lt;/b&gt;&quot;, настраиваем &lt;i&gt;IP&lt;/i&gt; адрес, маску, шлюз для порта. Устанавливаем тип порта и режим отказоустойчивости.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPBASKRlN2J64ZiTK4N9aA-cIQlpuIo4dZnnxm80KKtYPRioW4-gmxjMuZ5EVdXdtFf9iiCf3GvQqTzDdBmfdVN83EnDKbpnr6QbSShZgYiTpMrRTIgqal0EfurMlU4c4c0tfdlElJd9obxnmJhBmXMGy8MeOhLtV3lLx0tUnKGVP9IqYT3DmNvhBULEI/s881/4.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;881&quot; data-original-width=&quot;762&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPBASKRlN2J64ZiTK4N9aA-cIQlpuIo4dZnnxm80KKtYPRioW4-gmxjMuZ5EVdXdtFf9iiCf3GvQqTzDdBmfdVN83EnDKbpnr6QbSShZgYiTpMrRTIgqal0EfurMlU4c4c0tfdlElJd9obxnmJhBmXMGy8MeOhLtV3lLx0tUnKGVP9IqYT3DmNvhBULEI/s320/4.png&quot; width=&quot;277&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;1.3 Создаем файловую систему: переходим &quot;&lt;b&gt;&lt;i&gt;Services-&amp;gt;File Systems&lt;/i&gt;&lt;/b&gt;&quot;. Выбираем ваш &lt;i&gt;vStore&lt;/i&gt; (&lt;i&gt;&lt;u&gt;System_vStore&lt;/u&gt;&lt;/i&gt; по умолчанию).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTvC6ErQ5IEtEXEX9Q1VKvUReR8vn6aYdW5qVtFDYAbNPlN9sAZ5qIUa69dk2xavepPut5WLGJ02h0vwt33C8X-eXhqRU5gN2dRXbLobYnbapPyYRHmfkXPX8fUZyhMrJbQhJb-3RWlIhddiOll7DTTL8jnNDbn9oDUSEOwLuup0MnXzWMp9pHkz9HrOQ/s746/5.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;538&quot; data-original-width=&quot;746&quot; height=&quot;231&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTvC6ErQ5IEtEXEX9Q1VKvUReR8vn6aYdW5qVtFDYAbNPlN9sAZ5qIUa69dk2xavepPut5WLGJ02h0vwt33C8X-eXhqRU5gN2dRXbLobYnbapPyYRHmfkXPX8fUZyhMrJbQhJb-3RWlIhddiOll7DTTL8jnNDbn9oDUSEOwLuup0MnXzWMp9pHkz9HrOQ/s320/5.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Создаем файловую систему &quot;&lt;i&gt;&lt;u&gt;DataTurbo_FS&lt;/u&gt;&lt;/i&gt;&quot;, указываем стиль безопасности &quot;&lt;b&gt;&lt;i&gt;NTFS&lt;/i&gt;&lt;/b&gt;&quot;, размер тома и протокол общего доступа
 &quot;&lt;b&gt;&lt;i&gt;DataTurbo&lt;/i&gt;&lt;/b&gt;&quot;.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwuOAolIT_Rfyv8GiJb9CSF_53TXSsy5UkN-ap8fJJHHTDJkChstMqFgHdUvtQQgp16w_Sod-urcwA4EiUMxGe4zrpoN_TTQJUUmlEz9XXvp-p08gnGUFkGEnxJOt0zgAUIMhFPUuqUeRVCTSLLxJYIyD3Y42u0SFgfToW8_o-FjrAyIOoeJRJIRO0TQM/s1201/6.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1201&quot; data-original-width=&quot;934&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwuOAolIT_Rfyv8GiJb9CSF_53TXSsy5UkN-ap8fJJHHTDJkChstMqFgHdUvtQQgp16w_Sod-urcwA4EiUMxGe4zrpoN_TTQJUUmlEz9XXvp-p08gnGUFkGEnxJOt0zgAUIMhFPUuqUeRVCTSLLxJYIyD3Y42u0SFgfToW8_o-FjrAyIOoeJRJIRO0TQM/s320/6.png&quot; width=&quot;249&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;1.4 Настраиваем доступ к файловой системе: кликаем на нашей &quot;&lt;i&gt;DataTurbo_FS&lt;/i&gt;&quot; и переходим во вкладку &quot;&lt;b&gt;&lt;i&gt;Shares&lt;/i&gt;&lt;/b&gt;&quot;, затем &quot;&lt;b&gt;&lt;i&gt;DataTurbo Shares&lt;/i&gt;&lt;/b&gt;&quot;.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMHq5VqVQ6r7CmN17UuN95vnzJPmen9YhQuv1QcJMZ5GXeUsKcjkhLPH9DrrHDEiKhbsRo9W826fuvxcmLby_ixU_73ZdH9ge3W1NI0DryVObA4CrLjZ-9uWxovAsJBxfCoOKERSGej2fPxxxCnJcbF9dImjV3kYBv90sZ6UXp8FZoeqlWAtqHj_4pCKM/s1096/7.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;789&quot; data-original-width=&quot;1096&quot; height=&quot;230&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMHq5VqVQ6r7CmN17UuN95vnzJPmen9YhQuv1QcJMZ5GXeUsKcjkhLPH9DrrHDEiKhbsRo9W826fuvxcmLby_ixU_73ZdH9ge3W1NI0DryVObA4CrLjZ-9uWxovAsJBxfCoOKERSGej2fPxxxCnJcbF9dImjV3kYBv90sZ6UXp8FZoeqlWAtqHj_4pCKM/s320/7.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Выбираем нашу шару &quot;&lt;i&gt;&lt;u&gt;/DataTurbo_FS/&lt;/u&gt;&lt;/i&gt;&quot; и добавляем права ранее созданному пользователю &quot;&lt;i&gt;&lt;u&gt;dataturbo&lt;/u&gt;&lt;/i&gt;&quot; на чтение и запись.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkDB_bOA8K947t2gfZHZYThJs1Ep2BgWngHhr_TcYLFcIq5HTyFFYMvfE93OZoj4GowgCQ2RJUn3Wn99RiC4hc4bYrMlL-IsIHQ36VfUxkhyMTqhROnm5AMxmMb3NCIS0AldTPFddZfOiT280EKOcLhBBC4fNimER5i7-zrDXuKPHC9tam1kcZMJw9THw/s817/8.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;739&quot; data-original-width=&quot;817&quot; height=&quot;289&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkDB_bOA8K947t2gfZHZYThJs1Ep2BgWngHhr_TcYLFcIq5HTyFFYMvfE93OZoj4GowgCQ2RJUn3Wn99RiC4hc4bYrMlL-IsIHQ36VfUxkhyMTqhROnm5AMxmMb3NCIS0AldTPFddZfOiT280EKOcLhBBC4fNimER5i7-zrDXuKPHC9tam1kcZMJw9THw/s320/8.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;2. Устанавливаем драйвер &quot;&lt;i&gt;OceanStor_DataTurbo_1.3.0_Windows.zip&lt;/i&gt;&quot; на вашу &lt;i&gt;ОС Windows&lt;/i&gt;:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2.1 Скачиваем &quot;&lt;a href=&quot;https://drive.google.com/file/d/1mjYiPs2RDLcsb2QtL4N8ykqbxNwi8Jeb/view?usp=sharing&quot;&gt;&lt;i&gt;OceanStor_DataTurbo_1.3.0_Windows.zip&lt;/i&gt;&lt;/a&gt;&quot; и распаковываем архив во временную директорию, запускаем &quot;&lt;i&gt;&lt;u&gt;&lt;b&gt;cmd&lt;/b&gt;&lt;/u&gt;&lt;/i&gt;&quot; с повышенными привилегиями и переходим туда.&lt;br /&gt;&lt;br /&gt;2.2 Выполняем &quot;&lt;i&gt;&lt;u&gt;install.bat&lt;/u&gt;&lt;/i&gt;&quot;.&lt;br /&gt;&lt;br /&gt;2.3 В процессе установки указываем:&lt;br /&gt;- директорию установки драйвера;&lt;br /&gt;- уровень производительности в зависимости от доступной свободной оперативной памяти ОС (от &lt;i&gt;&lt;b&gt;0&lt;/b&gt;&lt;/i&gt; до &lt;b&gt;&lt;i&gt;3&lt;/i&gt;&lt;/b&gt;);&lt;br /&gt;- имя пользователя для функционирования службы драйвера (по умолчанию - &quot;&lt;i&gt;&lt;u&gt;dataturbo&lt;/u&gt;&lt;/i&gt;&quot;);&lt;br /&gt;- имя пользователя для управления и наблюдения за службой драйвера (по умолчанию - &quot;&lt;i&gt;&lt;u&gt;dataturbo_mgmt&lt;/u&gt;&lt;/i&gt;&quot;) и пароль от него.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6e1PFuh1ZVMydnviCuIgrdikvokSWPm_Y3llxUGuZut7S9sDO4Rt05Ja9dlU8OXK7977Q0Sgct9tc_DzG5ptZDJ5ynUqMVZ4xq4h5rXPQ98eJvTrkYgP6_6G6-VnC1lXSAWePDgLZ0lP7q_aEm5288V3guU5DI_WsHhEImjaw5hkw8WGliGTy9u9k-lw/s1057/9.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;613&quot; data-original-width=&quot;1057&quot; height=&quot;186&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6e1PFuh1ZVMydnviCuIgrdikvokSWPm_Y3llxUGuZut7S9sDO4Rt05Ja9dlU8OXK7977Q0Sgct9tc_DzG5ptZDJ5ynUqMVZ4xq4h5rXPQ98eJvTrkYgP6_6G6-VnC1lXSAWePDgLZ0lP7q_aEm5288V3guU5DI_WsHhEImjaw5hkw8WGliGTy9u9k-lw/s320/9.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;2.4 Закрываем окно консоли после установки выполняем перезагрузку &lt;i&gt;ОС&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;3. Подключаем шару по протоколу &quot;&lt;i&gt;DataTurbo&lt;/i&gt;&quot;:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;3.1 Создаем директорию внутри &lt;i&gt;ОС Windows&lt;/i&gt;, куда впоследствии будет ссылаться том на &lt;i&gt;СХД&lt;/i&gt; (например, &quot;&lt;i&gt;&lt;u&gt;C:\dataturbo_fs&lt;/u&gt;&lt;/i&gt;&quot;).&lt;br /&gt;&lt;br /&gt;3.2 Открываем консоль и проверяем работоспособность утилиты &quot;&lt;i&gt;&lt;b&gt;dataturbo&lt;/b&gt;&lt;/i&gt;&quot; (например, выполняем &quot;&lt;b&gt;&lt;i&gt;dataturbo show version&lt;/i&gt;&lt;/b&gt;&quot;).&lt;br /&gt;&lt;br /&gt;3.3 Выполняем подключение к логическому порту на &lt;i&gt;СХД&lt;/i&gt;, используем &lt;i&gt;DNS&lt;/i&gt; имя или &lt;i&gt;IP&lt;/i&gt;, настроенный в предыдущем пункте:&lt;br /&gt;&lt;b&gt;&lt;i&gt;dataturbo create storage_object storage_name=OceanProtect ip_list=192.168.1.20&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Просматриваем подключенные &lt;i&gt;СХД&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;dataturbo show storage_object&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Для удаления&lt;i&gt; СХД&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;dataturbo delete storage_object storage_name=OceanProtect&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3.4 Подключаем шару в ранее созданную директорию:&lt;br /&gt;&lt;b&gt;&lt;i&gt;dataturbo mount storage_object storage_name=OceanProtect filesystem_name=/DataTurbo_FS/ mount_dir=C:\dataturbo_fs&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Просматриваем текущие подключенные шары:&lt;br /&gt;&lt;b&gt;&lt;i&gt;dataturbo show mount_dir&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Чтобы размонтировать шару (в случае необходимости):&lt;br /&gt;&lt;b&gt;&lt;i&gt;dataturbo umount mount_dir=C:\dataturbo_fs&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3.5 После перезагрузки понадобится выполнить повторное монтирование шары. Чтобы автоматизировать данный процесс, можно добавить в автозагрузку следующий скрипт:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;@echo off&lt;br /&gt;timeout /t 5&lt;br /&gt;dataturbo mount storage_object storage_name=OceanProtect filesystem_name=/DataTurbo_FS/ mount_dir=C:\dataturbo_fs&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Скрипт должен запускаться от пользователя, который присутствует в &quot;белом&quot; списке драйвера &quot;&lt;i&gt;DataTurbo&lt;/i&gt;&quot;. Откройте файл &quot;&lt;b&gt;&lt;i&gt;&lt;u&gt;whitelist&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&quot; (по умолчанию находится в &quot;&lt;i&gt;&lt;b&gt;C:\Program Files\oceanstor\dataturbo\conf&lt;/b&gt;&lt;/i&gt;&quot;) в текстовом редакторе и проверьте, есть ли уже&amp;nbsp;&lt;i&gt;SID&lt;/i&gt; вашего пользовательского аккаунта в списке, при отсутствии - добавьте.&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/6636430332207143757/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/11/windows-huawei-dataturbo.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/6636430332207143757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/6636430332207143757'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/11/windows-huawei-dataturbo.html' title='Windows: Подключение системы хранения данных Huawei по протоколу Dataturbo'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIXD0LOp6e2r-wUNMzguNDZ7Hvbq2PxaSN3XhxF0WJzcSMcMoG0sOCd1IsQro6sd23aPs-II0m8CLJRLR7lpjzBZJ4msdjCuWKjDAV2alzAH8E7RuRrpgVa2OOCC_K7JLhaXrrgfZkU7CxEokJ8AF2ViPYQEYCUT80nya37bBErNHdJ8Ztk-TllURP9Ws/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-1687769780080817093</id><published>2025-10-01T07:34:00.000-07:00</published><updated>2025-10-01T07:36:12.419-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Windows: Установка Windows 11 с обоходом проверки TPM и безопасной загрузки</title><content type='html'>&lt;p&gt;Если вам по определенным причинам необходимо развернуть &lt;i&gt;ОС Microsoft Windows 11&lt;/i&gt; на старом оборудовании или виртуальной машине без использования модуля &lt;i&gt;TPM&lt;/i&gt; и функции безопасной загрузки, &lt;u&gt;можно обойти эту преграду во время установки следующим образом&lt;/u&gt;.&lt;br /&gt;&lt;br /&gt;Как только загрузится мастер установки в графическом интерфейсе, нажмите сочетание клавиш &quot;&lt;i&gt;&lt;u&gt;&lt;b&gt;Shift+F10&lt;/b&gt;&lt;/u&gt;&lt;/i&gt;&quot;: появится окошко консоли &lt;i&gt;Windows&lt;/i&gt;. Теперь можно набрать команду &quot;&lt;b&gt;&lt;i&gt;regedit&lt;/i&gt;&lt;/b&gt;&quot; и запустить редактор реестра.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Далее добавим следующие параметры:&lt;/u&gt;&lt;br /&gt;1. Создадим новый раздел &quot;&lt;i&gt;&lt;b&gt;HKEY_LOCAL_MACHINES\SYSTEM\Setup\LabConfig&lt;/b&gt;&lt;/i&gt;&quot;.&lt;br /&gt;2. В созданном разделе добавим два параметра типа &quot;&lt;b&gt;DWORD&lt;/b&gt;&quot;:&lt;br /&gt;&quot;&lt;i&gt;&lt;b&gt;BypassTPMCheck&lt;/b&gt;&lt;/i&gt;&quot; и &quot;&lt;i&gt;&lt;b&gt;BypassSecureBootCheck&lt;/b&gt;&lt;/i&gt;&quot;.&lt;br /&gt;3. Установим значение данных параметров равным &quot;&lt;b&gt;1&lt;/b&gt;&quot;.&lt;br /&gt;&lt;br /&gt;После изменения реестра закрываем редактор и продолжаем установку &lt;i&gt;ОС Windows 11&lt;/i&gt;.&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/1687769780080817093/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/10/windows-windows-11-tpm.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/1687769780080817093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/1687769780080817093'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/10/windows-windows-11-tpm.html' title='Windows: Установка Windows 11 с обоходом проверки TPM и безопасной загрузки'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-8357439945857929203</id><published>2025-09-30T04:46:00.000-07:00</published><updated>2025-10-13T06:20:52.560-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Debian"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Debian: Настройка для работы в домене Active Directory</title><content type='html'>&lt;p&gt;&lt;u&gt;&lt;b&gt;Выполните следующие шаги для настройки работы в домене вашей &lt;i&gt;ОС Linux Debian&lt;/i&gt;:  &lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;i&gt;1. Предварительная настройка сети, DNS, полного и короткого имени хоста.&lt;/i&gt;&lt;/u&gt;&lt;br /&gt;Убедитесь, что сервер имеет корректные сетевые настройки и может разрешать доменные имена:&lt;br /&gt;&lt;i&gt;&lt;b&gt;ping dc.YOUR_FQDN&lt;br /&gt;nslookup YOUR_FQDN&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Замените в файле &quot;&lt;b&gt;&lt;i&gt;/etc/hosts&lt;/i&gt;&lt;/b&gt;&quot; имя локального домена &quot;&lt;b&gt;&lt;i&gt;localdomain&lt;/i&gt;&lt;/b&gt;&quot; на имя вашего домена &lt;i&gt;&lt;b&gt;YOUR_FQDN&lt;/b&gt;&lt;/i&gt; командой:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo sed -i &#39;s/localdomain/&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;b&gt;YOUR_FQDN&lt;/b&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;/g&#39; /etc/hosts&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;2. Установка необходимых пакетов.&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt update&lt;br /&gt;sudo DEBIAN_FRONTEND=noninteractive apt -y install realmd \&lt;br /&gt;sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin \&lt;br /&gt;oddjob oddjob-mkhomedir packagekit krb5-user&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;3. Обнаружение домена и настройка Kerberos и realmd.&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;Обнаружение домена:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo realm discover YOUR_FQDN&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Для настройки &lt;i&gt;Kerberos&lt;/i&gt; отредактируйте файл &quot;&lt;i&gt;&lt;b&gt;/etc/krb5.conf&lt;/b&gt;&lt;/i&gt;&quot;:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[libdefaults]&lt;br /&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;default_realm = YOUR_FQDN&lt;br /&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;dns_lookup_realm = true&lt;br /&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;dns_lookup_kdc = true&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Для настройки&amp;nbsp;&lt;i&gt;&lt;u&gt;realmd&lt;/u&gt;&lt;/i&gt; создайте файл &quot;&lt;i&gt;&lt;b&gt;/etc/realmd.conf&lt;/b&gt;&lt;/i&gt;&quot; со следующим содержимым:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[service] &lt;br /&gt;automatic-install = yes &lt;br /&gt;&lt;/i&gt; &lt;i&gt;&lt;br /&gt;[active-directory] &lt;br /&gt;os-name = Debian &lt;br /&gt;os-version = 13&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;Данные параметры будут отражаться в свойствах комьютерного аккаунта в &lt;i&gt;Active Directory&lt;/i&gt; после ввода хоста в домен.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;4. Предварительная настройка SSSD.&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;Поскольку при добавлении хоста в домен, а также при удалении из домена с помощью команды &quot;&lt;i&gt;&lt;b&gt;realm join&lt;/b&gt;&lt;/i&gt;&quot; файл &quot;&lt;i&gt;/etc/sssd/sssd.conf&lt;/i&gt;&quot; будет перезаписан, лучшим вариантом будет создать новый файл конфигурации SSSD со своими параметрами.&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /etc/sssd/conf.d/10-mysettings.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[domain/YOUR_FQDN]&lt;br /&gt;&lt;/i&gt;#Добавить провайдер аутентификации&lt;br /&gt;&lt;i&gt;auth_provider = ad&lt;/i&gt;&lt;br /&gt;#Добавить провайдер смены пароля&lt;br /&gt;&lt;i&gt;chpass_provider = ad&lt;/i&gt;&lt;br /&gt;#Режим коротких имен пользователей, при значении &quot;&lt;i&gt;false&lt;/i&gt;&quot;&lt;br /&gt;&lt;i&gt;use_fully_qualified_names = true&lt;br /&gt;&lt;/i&gt;#Настройка оболочки по умолчанию&lt;br /&gt;&lt;i&gt;default_shell = /bin/bash&lt;br /&gt;&lt;/i&gt;#Правило формирования домашней папки&lt;br /&gt;&lt;i&gt;fallback_homedir = /home/%u@%d&lt;br /&gt;&lt;/i&gt;#Добавить для игнорирования групповых политик, к которым нету доступа&lt;br /&gt;&lt;i&gt;ad_gpo_ignore_unreadable = true&lt;br /&gt;&lt;/i&gt;#Добавить настройки динамического &lt;i&gt;DNS&lt;/i&gt;&lt;br /&gt;&lt;i&gt;dyndns_update = true&lt;br /&gt;dyndns_refresh_interval = 1800&lt;br /&gt;dyndns_ttl = 1800&lt;br /&gt;dyndns_update_ptr = true&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Установите правильные права на файл конфигурации:&lt;br /&gt;&lt;i&gt;&lt;b&gt;sudo chmod 600 &lt;/b&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;/etc/sssd/conf.d/10-mysettings.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;5. Присоединение к домену.&lt;/u&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;sudo realm join &lt;/span&gt;YOUR_FQDN&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;&lt;b&gt; \&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;--membership-software=adcli \&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;--user=&lt;/span&gt;DomainAdmin&lt;/b&gt;&lt;/i&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Введите пароль пользователя при запросе.&lt;br /&gt;&lt;br /&gt;Проверка успешного присоединения:&lt;br /&gt;&lt;b&gt;&lt;i&gt;id&amp;nbsp;DomainAdmin@YOUR_FQDN&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;6. Настройка автоматического создания домашних каталогов.&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;Отредактируйте файл &quot;&lt;i&gt;/etc/pam.d/common-session&lt;/i&gt;&quot;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /etc/pam.d/common-session&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Добавьте в конец файла:&lt;br /&gt;&lt;i&gt;session optional pam_mkhomedir.so skel=/etc/skel umask=077&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;7. Настройка прав доступа.&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Управление доступом к консоли сервера:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Запретите вход всем доменным пользователям:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo realm deny --all&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Разрешите вход только определенным группам:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo realm permit -g &#39;Linux_Console_Users&#39;@YOUR_FQDN&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Для групп с пробелами в названии:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo realm permit -g &#39;&quot;Domain Linux Users&quot;&#39;@YOUR_FQDN&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Проверьте настройки:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo realm list&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Для удаления группы из доступа используйте:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo realm permit -g -x &#39;Linux_Console_Users&#39;@YOUR_FQDN&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Управление доступом&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt; по SSH:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Создайте новый файл в директории &quot;&lt;i&gt;/etc/ssh/sshd_config.d&lt;/i&gt;&quot;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /etc/ssh/sshd_config.d/10-admins.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Добавьте параметры для ограничения доступа по группам:&lt;i&gt;&lt;br /&gt;    AllowGroups &lt;/i&gt;&lt;i&gt;Linux_SSH_Users@YOUR_FQDN &quot;Linux SSH Admins&quot;@YOUR_FQDN&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;&lt;u&gt;ВАЖНО!!!!&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;Если вы использует значение параметра &quot;&lt;i&gt;use_fully_qualified_names = false&lt;/i&gt;&quot; в файле &quot;&lt;b&gt;&lt;i&gt;/etc/sssd/sssd.conf&lt;/i&gt;&lt;/b&gt;&quot;, то и при настройке &lt;i&gt;SSH&lt;/i&gt; доступа прописывайте короткое имя пользователя или группы, без названия домена, например:&lt;br /&gt;&lt;i&gt;AllowGroups &lt;/i&gt;&lt;i&gt;Linux_SSH_Users &quot;Linux SSH Admins&quot;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Также название групп (&lt;i&gt;Linux_SSH_Users &lt;/i&gt;и &quot;&lt;i&gt;Linux SSH Admins&lt;/i&gt;&quot;) и домена (&lt;i&gt;YOUR_FQDN&lt;/i&gt;) должны быть &lt;b&gt;СТРОГО В НИЖНЕМ РЕГИСТРЕ!!!&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Установите правильные права на файл и перезапустите службу &lt;i&gt;SSH&lt;/i&gt;:&lt;br /&gt;&lt;i&gt;&lt;b&gt;sudo chmod 600 &lt;/b&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;/etc/ssh/sshd_config.d/10-admins.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl restart ssh&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;8. Настройка прав &lt;/u&gt;&lt;/i&gt;&lt;u&gt;&lt;b&gt;sudo&lt;/b&gt;&lt;/u&gt;&lt;i&gt;&lt;u&gt; для доменных групп.&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;Создайте файл правил &lt;u&gt;&lt;i&gt;sudo&lt;/i&gt;&lt;/u&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo visudo -f /etc/sudoers.d/domain_admins&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Всегда используйте команду &quot;&lt;i&gt;visudo&lt;/i&gt;&quot;, которая предотвращает сохранение конфигурации с синтаксическими ошибками.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Добавьте необходимые правила:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Полные права администратора (пример):&lt;br /&gt;&lt;i&gt;&lt;b&gt;%Linux_Sudoers@YOUR_FQDN ALL=(ALL:ALL) ALL&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;Члены группы &lt;i&gt;Linux_Sudoers &lt;/i&gt;теперь могут выполнять команды с &quot;&lt;i&gt;sudo&lt;/i&gt;&quot;, вводя свой пароль от учётной записи &lt;i&gt;Active Directory&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Ограниченные права (пример):&lt;br /&gt;&lt;i&gt;&lt;b&gt;%Linux_Sudoers&lt;/b&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;@YOUR_FQDNALL=(root) /usr/bin/systemctl restart nginx, /usr/bin/systemctl status nginx&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Для групп с пробелами в названии:&lt;br /&gt;&lt;b&gt;&lt;i&gt;%Linux\ Admins@YOUR_FQDN ALL=(ALL:ALL) ALL&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Установите права доступа на файл:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo chmod 440 /etc/sudoers.d/domain_admins&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;ВАЖНО!!!!&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;Если вы использует значение параметра &quot;&lt;i&gt;use_fully_qualified_names = false&lt;/i&gt;&quot; в файле &quot;&lt;b&gt;&lt;i&gt;/etc/sssd/sssd.conf&lt;/i&gt;&lt;/b&gt;&quot;, то и при настройке sudoers прописывайте короткое имя пользователя или группы, без названия домена, например:&lt;br /&gt;&lt;i&gt;&lt;b&gt;%Linux_Sudoers ALL=(ALL:ALL) ALL&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;9. Тестирование конфигурации.&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;Попробуйте войти под доменной учетной записью:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ssh linux_admin@YOUR_FQDN@ip_адрес_сервера&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Проверьте создание домашнего каталога:&lt;br /&gt;&lt;b&gt;&lt;i&gt;pwd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Проверьте работу &quot;&lt;i&gt;sudo&lt;/i&gt;&quot; для пользователей из разрешенных групп.&lt;br /&gt;Убедитесь, что время на сервере синхронизировано с доменом (используйте &lt;i&gt;NTP&lt;/i&gt;).&lt;br /&gt;Регулярно проверяйте логи аутентификации: &lt;i&gt;/var/log/auth.log&lt;/i&gt;.&lt;br /&gt;Для диагностики проблем используйте журналы &lt;i&gt;SSSD&lt;/i&gt;: &lt;i&gt;/var/log/sssd/&lt;/i&gt;&lt;br /&gt;Проверьте связь с контроллером домена:&lt;br /&gt;&lt;b&gt;&lt;i&gt;klist&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Проверьте возможность получение тикета &lt;i&gt;Kerberos&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;kinit&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Вывод хоста из домена, переименование доменной машины.&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Для вывода из домена вашего хоста выполните:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;sudo realm leave &lt;/span&gt;YOUR_FQDN -v &lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;b&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;--user=&lt;/span&gt;DomainAdmin&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;При этом будут сброшены все настойки, сделаные в файле &quot;&lt;b&gt;&lt;i&gt;/etc/sssd/sssd.conf&lt;/i&gt;&lt;/b&gt;&quot;.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Операция переименования для &lt;i&gt;Linux&lt;/i&gt; сводится к следующим шагам:&lt;/u&gt;&lt;br /&gt;1. Выводу хоста из домена.&lt;br /&gt;2. Переименованию командой:&lt;br /&gt;&lt;i&gt;&lt;b&gt;sudo hostnamectl set-hostname NEW-HOSTNAME&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;Также необходимо изменить имя в файле &quot;&lt;i&gt;&lt;u&gt;/etc/hosts&lt;/u&gt;&lt;/i&gt;&quot;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo sed -i &#39;s/&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;b&gt;OLD-HOSTNAME&lt;/b&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;/&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;b&gt;NEW-HOSTNAME&lt;/b&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;/g&#39; /etc/hosts&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Перезапускаем службу:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl restart systemd-hostnamed&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;3. Повторный ввод в домен под новым именем:&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;sudo realm join &lt;/span&gt;YOUR_FQDN&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;&lt;b&gt; \&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;--membership-software=adcli \&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;--user=&lt;/span&gt;DomainAdmin&lt;/b&gt;&lt;/i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;После ввода в домен необходимо повторно настроить доступ командой &quot;&lt;b&gt;&lt;i&gt;sudo realm permit&lt;/i&gt;&lt;/b&gt;&quot;, так как файл &quot;&lt;b&gt;&lt;i&gt;/etc/sssd/sssd.conf&lt;/i&gt;&lt;/b&gt;&quot;, где хранились предыдущие настройки, был сброшен службой &lt;i&gt;SSSD&lt;/i&gt; при выходе из домена.&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/8357439945857929203/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/09/debian-active-directory.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/8357439945857929203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/8357439945857929203'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/09/debian-active-directory.html' title='Debian: Настройка для работы в домене Active Directory'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-7103743500612546742</id><published>2025-09-22T06:52:00.000-07:00</published><updated>2025-12-24T02:50:59.680-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Debian"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Debian: Настройка полного зеркала репозитория Debian</title><content type='html'>&lt;p&gt;Создание полного зеркала репозитория &lt;i&gt;Debian&lt;/i&gt; - задача, которая требует значительных ресурсов и надежного интернет-соединения. Полное зеркало включает в себя все пакеты, обновления, обратные порты (&lt;i&gt;backports&lt;/i&gt;) и обновления безопасности для конкретного выпуска &lt;i&gt;Debian&lt;/i&gt;.&lt;br /&gt;&lt;b&gt;&lt;u&gt;Debmirror&lt;/u&gt;&lt;/b&gt; - это специализированная утилита на &lt;i&gt;Perl&lt;/i&gt;, предназначенная для создания и поддержания зеркал репозиториев &lt;i&gt;Debian&lt;/i&gt; и &lt;i&gt;Ubuntu&lt;/i&gt;. В отличие от стандартных методов &quot;&lt;i&gt;rsync&lt;/i&gt;&quot;, она предлагает более простой и надежный способ синхронизации, особенно для выборочного зеркалирования.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Далее приведем шаги для настройки зеркала репозитория &lt;i&gt;Debian 13&lt;/i&gt; (&quot;&lt;i&gt;trixie&lt;/i&gt;&quot;) используя &quot;&lt;i&gt;Debmirror&lt;/i&gt;&quot;:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;1. Установка &lt;i&gt;Debmirror&lt;/i&gt; и веб-сервера &lt;i&gt;Apache2&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;sudo apt-get update&lt;br /&gt;sudo apt-get install debmirror apache2 -y&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Базовый синтаксис команды &lt;i&gt;debmirror&lt;/i&gt; следующий:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;debmirror [ОПЦИИ] /путь/к/локальному/зеркалу&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Ключевые параметры &lt;i&gt;debmirror&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;-a, --arch&lt;/i&gt;&lt;/b&gt; : Архитектуры (например, &lt;i&gt;amd64,i386&lt;/i&gt;);&lt;br /&gt;&lt;b&gt;&lt;i&gt;-s, --section&lt;/i&gt;&lt;/b&gt; : Разделы репозитория (&lt;i&gt;main, contrib, non-free&lt;/i&gt; для &lt;i&gt;Debian&lt;/i&gt;; &lt;i&gt;main, restricted, universe, multiverse&lt;/i&gt; для &lt;i&gt;Ubuntu&lt;/i&gt;);&lt;br /&gt;&lt;b&gt;&lt;i&gt;-d, --dist&lt;/i&gt;&lt;/b&gt; : Дистрибутивы (кодовые имена, например, &lt;i&gt;bullseye, bookworm,&amp;nbsp;trixie&lt;/i&gt; для &lt;i&gt;Debian&lt;/i&gt;; &lt;i&gt;focal, jammy&lt;/i&gt; для &lt;i&gt;Ubuntu&lt;/i&gt;). Можно указать несколько через запятую, включая обновления (&lt;i&gt;bullseye-updates, bullseye-security&lt;/i&gt;);&lt;br /&gt;&lt;b&gt;&lt;i&gt;-h, --host&lt;/i&gt;&lt;/b&gt; : &lt;i&gt;URL&lt;/i&gt;-адрес исходного зеркала (например, &lt;i&gt;ftp.debian.org&lt;/i&gt;, &lt;i&gt;archive.ubuntu.com&lt;/i&gt; или локальный &lt;i&gt;Nexus&lt;/i&gt;-репозиторий);&lt;br /&gt;&lt;b&gt;&lt;i&gt;-r, --root&lt;/i&gt;&lt;/b&gt; : Корневой путь на удаленном сервере (например, &lt;i&gt;/debian&lt;/i&gt; для &lt;i&gt;Debian&lt;/i&gt;, &lt;i&gt;/ubuntu&lt;/i&gt; для &lt;i&gt;Ubuntu&lt;/i&gt;);&lt;br /&gt;&lt;b&gt;&lt;i&gt;-e, --method&lt;/i&gt;&lt;/b&gt; : Протокол для загрузки (&lt;i&gt;http, https, ftp, rsync&lt;/i&gt;). &lt;i&gt;http&lt;/i&gt; или &lt;i&gt;https&lt;/i&gt; часто наиболее надежны.&lt;br /&gt;&lt;b&gt;&lt;i&gt;--progress&lt;/i&gt;&lt;/b&gt; : Показывать прогресс загрузки.&lt;br /&gt;&lt;b&gt;&lt;i&gt;--nosource&lt;/i&gt;&lt;/b&gt; : Не загружать исходные коды пакетов (значительно экономит место).&lt;br /&gt;&lt;b&gt;&lt;i&gt;--ignore-release-gpg&lt;/i&gt;&lt;/b&gt; : Игнорировать проверку &lt;i&gt;GPG&lt;/i&gt;-подписи &lt;i&gt;Release&lt;/i&gt;-файлов. Используйте с осторожностью, так как это снижает безопасность.&lt;br /&gt;&lt;b&gt;&lt;i&gt;--ignore-missing-release&lt;/i&gt;&lt;/b&gt; : Продолжать синхронизацию, даже если на сервере отсутствует &lt;i&gt;Release&lt;/i&gt;-файл.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;2. Пробная синхронизация:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Создаем место хранения репозитория на диске:&lt;br /&gt;&lt;i&gt;sudo mkdir -p /srv/mirror/debian&lt;br /&gt;sudo mkdir -p /srv/mirror/debian-security&lt;br /&gt;sudo chown -R nobody:nogroup /srv/mirror/debian&lt;br /&gt;sudo chown -R nobody:nogroup /srv/mirror/debian-security&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Затем выполняем команды синхронизации в качестве проверки:&lt;br /&gt;&lt;br /&gt;Синхронизация основного репозитория Debian (&lt;i&gt;trixie,trixie-updates,trixie-backports&lt;/i&gt;):&lt;br /&gt;&lt;b&gt;&lt;i&gt;debmirror \&lt;br /&gt;-a amd64 \&lt;br /&gt;--nosource \&lt;br /&gt;-s main,contrib,non-free,non-free-firmware \&lt;br /&gt;-d trixie,trixie-updates,trixie-backports \&lt;br /&gt;-h ftp.debian.org \&lt;br /&gt;-r /debian \&lt;br /&gt;-e https \&lt;br /&gt;--progress \&lt;br /&gt;--ignore-release-gpg \&lt;br /&gt;--no-check-gpg \&lt;br /&gt;--rsync-extra=none \&lt;br /&gt;/srv/mirror/debian&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Синхронизация патчей безопасности Debian (&lt;i&gt;trixie-security&lt;/i&gt;):&lt;br /&gt;&lt;b&gt;&lt;i&gt;debmirror \&lt;br /&gt;-a amd64 \&lt;br /&gt;--nosource \&lt;br /&gt;-s main,contrib,non-free,non-free-firmware \&lt;br /&gt;-d trixie-security \&lt;br /&gt;-h security.debian.org \&lt;br /&gt;-r /debian-security \&lt;br /&gt;-e https \&lt;br /&gt;--progress \&lt;br /&gt;--ignore-release-gpg \&lt;br /&gt;--no-check-gpg \&lt;br /&gt;--rsync-extra=none \&lt;br /&gt;/srv/mirror/debian-security&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Если все прошло без ошибок, можно приступить к следующему шагу.&lt;/p&gt;&lt;br /&gt;&lt;u&gt;3. Настройка веб-сервера (&lt;i&gt;Apache2&lt;/i&gt;) для доступа к локальному репозиторию:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Чтобы сделать зеркало доступным по &lt;i&gt;HTTP&lt;/i&gt; создайте файл:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /etc/apache2/sites-available/debian-mirror.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;со следующим содержимым:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;ServerName your-mirror-domain.com&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;DocumentRoot /srv/mirror&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&amp;lt;Directory &quot;/srv/mirror&quot;&amp;gt;&lt;br /&gt;&lt;/i&gt;        &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;Options +Indexes +FollowSymLinks&lt;br /&gt;&lt;/i&gt;        &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;IndexOptions NameWidth=* +SuppressDescription FancyIndexing&lt;br /&gt;&lt;/i&gt;        &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;Require all granted&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;ErrorLog ${APACHE_LOG_DIR}/debian-mirror_error.log&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;CustomLog ${APACHE_LOG_DIR}/debian-mirror_access.log combined&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;Если необходимо добавить поддержку &lt;i&gt;HTTPs&lt;/i&gt;:&lt;br /&gt;&lt;br /&gt;Создайте директории для пары ключей (если они не существуют):&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo mkdir -p /etc/ssl/private /etc/ssl/certs&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Затем сгенерируйте сертификат:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo openssl req -x509 -nodes -days 730 -newkey rsa:2048
 -keyout /etc/ssl/private/your-mirror.key
 -out /etc/ssl/certs/your-mirror.crt&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;При генерации укажите в &lt;i&gt;&lt;u&gt;Common Name: your-mirror-domain.com&lt;/u&gt;&lt;/i&gt;. Остальные поля можно заполнить по желанию или оставить пустыми.&lt;br /&gt;&lt;br /&gt;Установите правильные права доступа для ключа:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo chmod 600 /etc/ssl/private/your-mirror.key&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;И создайте файл:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /etc/apache2/sites-available/debian-mirror-ssl.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;со следующим содержимым:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ServerName your-mirror-domain.com&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;DocumentRoot /srv/mirror&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;SSLEngine on&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;SSLCertificateFile /etc/ssl/certs/your-mirror.crt&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;SSLCertificateKeyFile /etc/ssl/private/your-mirror.key&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&amp;lt;Directory &quot;/srv/mirror&quot;&amp;gt;&lt;br /&gt;&lt;/i&gt;        &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;Options +Indexes +FollowSymLinks&lt;br /&gt;&lt;/i&gt;        &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;IndexOptions NameWidth=* +SuppressDescription FancyIndexing&lt;br /&gt;&lt;/i&gt;        &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;Require all granted&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;ErrorLog ${APACHE_LOG_DIR}/debian-mirror_ssl_error.log&lt;br /&gt;&lt;/i&gt;    &lt;i&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;CustomLog ${APACHE_LOG_DIR}/debian-mirror_ssl_access.log combined&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;Активируйте конфигурацию и перезапустите &lt;i&gt;Apache&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo a2ensite debian-mirror&lt;br /&gt;sudo a2ensite debian-mirror-ssl &lt;/i&gt;&lt;/b&gt;&lt;i&gt;#Для поддержки HTTPs&lt;/i&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;sudo apachectl configtest&lt;br /&gt;sudo a2enmod rewrite&lt;br /&gt;sudo a2enmod ssl &lt;/i&gt;&lt;/b&gt;&lt;i&gt;#Для поддержки HTTPs&lt;/i&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;sudo systemctl restart apache2&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Проверьте доступность: Откройте в браузере &lt;i&gt;&quot;http://your-server-ip/debian&quot;&lt;/i&gt;. Должна отобразиться структура каталогов репозитория.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;4. Создание скрипта для автоматизации процесса и мониторинга:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Следующий скрипт умеет помимо выполнения синхронизации нужных веток репозитория командой &quot;&lt;i&gt;debmirror&lt;/i&gt;&quot; также записывать лог, отслеживать запущен ли был скрипт ранее и отправлять отчёт на &lt;i&gt;email&lt;/i&gt;. Создайте файл:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /usr/local/bin/update-mirror.sh&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Добавьте в него текст скрипта и сделайте исполняемым:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo chmod +x /usr/local/bin/update-mirror.sh&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div style=&quot;border: 1px solid rgb(153, 153, 153); height: 450px; overflow: auto; padding: 0px; position: relative; width: 580px;&quot;&gt;
&lt;div style=&quot;overflow: hidden; padding: 0px; width: 1000px;&quot;&gt;
&lt;pre&gt;&lt;code&gt;#!/bin/bash

# Настройки скрипта
LOG_FILE=&quot;/var/log/mirror_update.log&quot;
LOCK_FILE=&quot;/var/run/mirror_update.lock&quot;
MIRROR_BASE=&quot;/srv/mirror&quot;

# Email-уведомления
EMAIL_RECIPIENTS=&quot;admin@example.com,devops@example.com&quot;  # Замените на реальные адреса
EMAIL_SUBJECT_PREFIX=&quot;[Mirror Update] &quot;
SMTP_SERVER=&quot;Input_IP_of_SMTP_Server&quot;  # Адрес SMTP-сервера
FROM_EMAIL=&quot;mirror-update@$(hostname)&quot;  # Адрес отправителя

# Конфигурация зеркал
declare -A MIRRORS=(
    [&quot;main&quot;]=&quot;
        -a amd64
        --nosource
        -s main,contrib,non-free,non-free-firmware
        -d trixie,trixie-updates,trixie-backports
        -h ftp.by.debian.org
        -r /debian
        -e rsync
        --progress
        --ignore-release-gpg
        --no-check-gpg
        ${MIRROR_BASE}/debian
    &quot;
    [&quot;security&quot;]=&quot;
        -a amd64
        --nosource
        -s main,contrib,non-free,non-free-firmware
        -d trixie-security
        -h ftp.by.debian.org
        -r /debian-security
        -e rsync
        --progress
        --ignore-release-gpg
        --no-check-gpg
        ${MIRROR_BASE}/debian-security
    &quot;
)

# Функция логирования
log() {
    echo &quot;$(date &#39;+%Y-%m-%d %H:%M:%S&#39;): $1&quot; &amp;gt;&amp;gt; &quot;$LOG_FILE&quot;
}

# Функция отправки email через curl и SMTP
send_email() {
    local subject=&quot;$1&quot;
    local body=&quot;$2&quot;

    # Проверяем, установлен ли curl
    if command -v curl &amp;amp;&amp;gt; /dev/null; then
        # Формируем email в формате MIME
        local email_content=$(cat &amp;lt;&amp;lt;EOF
From: ${FROM_EMAIL}
To: ${EMAIL_RECIPIENTS}
Subject: ${EMAIL_SUBJECT_PREFIX}${subject}
Date: $(date -R)
MIME-Version: 1.0
Content-Type: text/plain; charset=&quot;utf-8&quot;

${body}
EOF
)

        # Отправляем через SMTP используя curl
        echo &quot;$email_content&quot; | curl -s --url &quot;smtp://${SMTP_SERVER}&quot; \
            --mail-from &quot;${FROM_EMAIL}&quot; \
            --mail-rcpt &quot;${EMAIL_RECIPIENTS}&quot; \
            --upload-file - \
            --insecure

        if [ $? -eq 0 ]; then
            log &quot;Email sent successfully: ${subject}&quot;
        else
            log &quot;ERROR: Failed to send email: ${subject}&quot;
        fi
    elif command -v sendmail &amp;amp;&amp;gt; /dev/null; then
        # Альтернативный метод через sendmail
        (
            echo &quot;Subject: ${EMAIL_SUBJECT_PREFIX}${subject}&quot;
            echo &quot;From: ${FROM_EMAIL}&quot;
            echo &quot;To: ${EMAIL_RECIPIENTS}&quot;
            echo
            echo &quot;${body}&quot;
        ) | sendmail -t
    else
        log &quot;ERROR: No email client found. Cannot send notification: $subject&quot;
    fi
}

# Функция проверки блокировки
check_lock() {
    if [ -e &quot;$LOCK_FILE&quot; ]; then
        local pid=$(cat &quot;$LOCK_FILE&quot;)
        if kill -0 &quot;$pid&quot; 2&amp;gt;/dev/null; then
            log &quot;ERROR: Скрипт уже запущен с PID $pid&quot;
            send_email &quot;Script already running&quot; &quot;Mirror update script is already running with PID $pid. Current execution blocked.&quot;
            exit 1
        else
            log &quot;WARNING: Обнаружен lock файл, но процесс не существует. Удаляю lock файл.&quot;
            rm -f &quot;$LOCK_FILE&quot;
        fi
    fi
}

# Функция создания блокировки
create_lock() {
    echo $$ &amp;gt; &quot;$LOCK_FILE&quot;
}

# Функция удаления блокировки
remove_lock() {
    rm -f &quot;$LOCK_FILE&quot;
}

# Функция выполнения debmirror
run_mirror() {
    local name=&quot;$1&quot;
    local options=&quot;$2&quot;

    log &quot;Starting mirror update: $name&quot;
    log &quot;Command: debmirror $options&quot;

    # Выполнение команды
    debmirror $options

    local exit_code=$?
    if [ $exit_code -eq 0 ]; then
        log &quot;Update successful: $name&quot;
        return 0
    else
        log &quot;Update failed with exit code $exit_code: $name&quot;
        return $exit_code
    fi
}

# Основная логика
main() {
    log &quot;=== Starting mirror update process ===&quot;

    # Проверяем блокировку
    check_lock

    # Создаем блокировку
    create_lock

    # Добавляем обработчик для очистки при выходе
    trap &#39;remove_lock; log &quot;Script interrupted&quot;; exit 1&#39; INT TERM
    trap &#39;remove_lock&#39; EXIT

    local overall_success=true

    for mirror_name in &quot;${!MIRRORS[@]}&quot;; do
        if ! run_mirror &quot;$mirror_name&quot; &quot;${MIRRORS[$mirror_name]}&quot;; then
            overall_success=false
            log &quot;ERROR: Mirror $mirror_name failed with exit code $?&quot;
            send_email &quot;Update failed: $mirror_name&quot; &quot;Mirror update for $mirror_name failed. Check $LOG_FILE for details.&quot;
        fi
    done

    if [ &quot;$overall_success&quot; = true ]; then
        log &quot;=== All mirror updates completed successfully ===&quot;
        send_email &quot;All updates completed&quot; &quot;All mirror updates completed successfully. Check $LOG_FILE for details.&quot;
    else
        log &quot;=== Some mirror updates failed ===&quot;
        # Уведомление об ошибках уже отправлялись для каждого конкретного сбоя
    fi
}

# Обработка ошибок
set -euo pipefail

# Запуск основной функции
main &quot;$@&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;br /&gt;&lt;br /&gt;&lt;u&gt;5. Настройка ротации логов:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Создайте файл &lt;i&gt;&lt;b&gt;/etc/logrotate.d/update_mirror&lt;/b&gt;&lt;/i&gt; с следующим содержимым:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;/var/log/mirror_update.log { &lt;br /&gt;    weekly &lt;br /&gt;    missingok &lt;br /&gt;    rotate 26 &lt;br /&gt;    compress &lt;br /&gt;    delaycompress &lt;br /&gt;    notifempty &lt;br /&gt;    create 644 root root &lt;br /&gt;    dateext &lt;br /&gt;    dateformat -%Y-%m-%d &lt;br /&gt;}&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;Объяснение директив:&lt;br /&gt;&lt;i&gt;weekly&lt;/i&gt; - ротация происходит раз в неделю;&lt;br /&gt;&lt;i&gt;missingok&lt;/i&gt; - пропустить ротацию, если файл отсутствует;&lt;br /&gt;&lt;i&gt;rotate 26&lt;/i&gt; - хранить 26 архивных копий (полгода ≈ 26 недель);&lt;br /&gt;&lt;i&gt;compress&lt;/i&gt; - сжимать архивные логи с помощью &lt;i&gt;gzip&lt;/i&gt;;&lt;br /&gt;&lt;i&gt;delaycompress&lt;/i&gt; - отложить сжатие до следующей ротации (удобно для отладки);&lt;br /&gt;&lt;i&gt;notifempty&lt;/i&gt; - не ротировать пустые файлы;&lt;br /&gt;&lt;i&gt;create 644 root root&lt;/i&gt; - создать новый лог-файл с правами &lt;i&gt;644&lt;/i&gt; и владельцем &lt;i&gt;root:root&lt;/i&gt; после ротации;&lt;br /&gt;&lt;i&gt;dateext&lt;/i&gt; - добавлять дату к имени архивного файла;&lt;br /&gt;&lt;i&gt;dateformat -%Y-%m-%d&lt;/i&gt; - формат даты в имени файла (&lt;i&gt;ГГГГ-ММ-ДД&lt;/i&gt;).&lt;br /&gt;&lt;br /&gt;Проверка конфигурации:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo logrotate -d /etc/logrotate.d/update_mirror&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Ключ &lt;b&gt;&lt;i&gt;-d&lt;/i&gt;&lt;/b&gt; включает режим отладки, который покажет потенциальные проблемы без выполнения ротации.&lt;br /&gt;&lt;br /&gt;Принудительная ротация для тестирования:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo logrotate -vf /etc/logrotate.d/&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;update_mirror&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Ключ &lt;b&gt;&lt;i&gt;-v&lt;/i&gt;&lt;/b&gt; включает подробный вывод, а &lt;b&gt;&lt;i&gt;-f&lt;/i&gt;&lt;/b&gt; принудительно запускает ротацию.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;6. Настройка автоматической синхронизации через &lt;i&gt;cron&lt;/i&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Для поддержания зеркала в актуальном состоянии его необходимо регулярно синхронизировать. Рекомендуется делать это не реже 4 раз в сутки.&lt;br /&gt;Создайте задание &lt;i&gt;cron&lt;/i&gt; (&lt;b&gt;&lt;i&gt;sudo crontab -e&lt;/i&gt;&lt;/b&gt;):&lt;br /&gt;Синхронизация каждые 6 часов (в произвольные минуты для равномерной нагрузки):&lt;br /&gt;&lt;i&gt;0 */6 * * * /usr/local/bin/update-mirror.sh&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;или синхронизация каждые сутки в 2 часа ночи:&lt;br /&gt;&lt;i&gt;0 2 * * * /usr/local/bin/update-mirror.sh&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Не синхронизируйте зеркало точно в 3:00, 9:00, 15:00 и 21:00 &lt;i&gt;UTC&lt;/i&gt;, так как в это время обновляются главные зеркала. Добавьте случайное смещение в несколько минут.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;7. Тестирование и использование зеркала:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Протестируйте свое зеркало, настроив на другой машине &lt;i&gt;sources.list&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /etc/apt/sources.list&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Добавьте строки:&lt;br /&gt;&lt;i&gt;deb http://your-mirror-ip-or-domain/debian/ trixie main contrib non-free non-free-firmware&lt;br /&gt;deb http://your-mirror-ip-or-domain/debian/ trixie-updates main contrib non-free non-free-firmware&lt;br /&gt;deb http://your-mirror-ip-or-domain/debian/ trixie-backports main contrib non-free non-free-firmware&lt;br /&gt;deb http://your-mirror-ip-or-domain/debian-security/ trixie-security main contrib non-free non-free-firmware&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Выполните обновление индексов пакетов:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt update&lt;br /&gt;sudo apt upgrade&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/7103743500612546742/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/09/debian-debian.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/7103743500612546742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/7103743500612546742'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/09/debian-debian.html' title='Debian: Настройка полного зеркала репозитория Debian'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-5308671676150938494</id><published>2025-09-08T01:56:00.000-07:00</published><updated>2025-09-09T00:37:41.427-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ALT Linux"/><title type='text'>ALT Linux: Настройка VMware VM Customization Specifications для ОС ALT Linux</title><content type='html'>&lt;p&gt;К сожалению, при использовании &quot;&lt;i&gt;&lt;u&gt;VM Customization Specifications&lt;/u&gt;&lt;/i&gt;&quot; при развертывании &lt;i&gt;ОС ALT Linux&lt;/i&gt; скрипты &quot;&lt;i&gt;open-vm-toos&lt;/i&gt;&quot; не могут корректно сконфигурировать такие параметры как имя хоста, сетевые настройки и т.д. для данной системы.&lt;br /&gt;Чтобы решить эту проблему, применим скрипт, который возьмет на себя функционал, не корректно работающий в самих тулзах.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Выполним следующие шаги для настройки &quot;&lt;i&gt;&lt;b&gt;VM Customization Specifications&lt;/b&gt;&lt;/i&gt;&quot;:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Подготавливаем шаблон &lt;i&gt;ОС ATL Linux&lt;/i&gt; с установкой необходимого &lt;i&gt;ПО&lt;/i&gt;, которое уже должно быть в комплекте с новыми хостами.&lt;br /&gt;2. Обязательно устанавливаем &quot;&lt;i&gt;open-vm-tools&lt;/i&gt;&quot; и проверяем, что служба &quot;&lt;u&gt;&lt;b&gt;vmtoolsd&lt;/b&gt;&lt;/u&gt;&quot; находится в автозапуске:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get install open-vm-tools&lt;br /&gt;sudo systemctl enable vmtoolsd &amp;amp;&amp;amp; sudo systemctl start vmtoolsd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. Включаем поддержку скриптов для кастомизации:&lt;br /&gt;&lt;i&gt;&lt;b&gt;sudo vmware-toolbox-cmd config set deployPkg enable-custom-scripts true&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Для проверки текущего состояния параметра выполните:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo vmware-toolbox-cmd config get deployPkg enable-custom-scripts&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4. Далее настраиваем &quot;&lt;i&gt;&lt;u&gt;VM Customization Specifications&lt;/u&gt;&lt;/i&gt;&quot; на &lt;i&gt;vCenter Server&lt;/i&gt;. При настройке указываем: тип &lt;i&gt;ОС&lt;/i&gt; - &lt;i&gt;Linux&lt;/i&gt;, правило формирования имени хоста, часовой пояс, &lt;i&gt;TCP/IP&lt;/i&gt; настройки и добавляем следующий скрипт:&lt;br /&gt;&lt;/p&gt;
&lt;div style=&quot;border: 1px solid rgb(153, 153, 153); height: 450px; overflow: auto; padding: 0px; position: relative; width: 580px;&quot;&gt;
&lt;div style=&quot;overflow: hidden; padding: 0px; width: 1000px;&quot;&gt;
&lt;pre&gt;&lt;code&gt;#!/bin/bash

# Функция для преобразования маски подсети в префикс CIDR
mask2cidr() {
    local mask=$1
    local n=0
    IFS=.
    for byte in $mask; do
        case $byte in
            255) n=$((n+8));;
            254) n=$((n+7));;
            252) n=$((n+6));;
            248) n=$((n+5));;
            240) n=$((n+4));;
            224) n=$((n+3));;
            192) n=$((n+2));;
            128) n=$((n+1));;
            0);;
            *) echo 24; return 1;;
        esac
    done
    echo $n
}

# Функция определения метода управления сетью
get_network_manager() {
    local interface=$1
    local options_file=&quot;/etc/net/ifaces/$interface/options&quot;

    # Проверяем существование файла настроек
    if [ -f &quot;$options_file&quot; ]; then
        local nm_controlled=$(grep -E &quot;^NM_CONTROLLED=&quot; &quot;$options_file&quot; | cut -d= -f2)
        local disabled=$(grep -E &quot;^DISABLED=&quot; &quot;$options_file&quot; | cut -d= -f2)
        local systemd_controlled=$(grep -E &quot;^SYSTEMD_CONTROLLED=&quot; &quot;$options_file&quot; | cut -d= -f2)

        if [ &quot;$nm_controlled&quot; = &quot;yes&quot; ]; then
            echo &quot;NetworkManager&quot;
        elif [ &quot;$disabled&quot; = &quot;no&quot; ]; then
            echo &quot;EtcNet&quot;
        elif [ &quot;$systemd_controlled&quot; = &quot;yes&quot; ]; then
            echo &quot;SystemD&quot;
        else
            echo &quot;Unknown&quot;
        fi
    else
        # Если файл не существует, проверяем активные сервисы
        if systemctl is-active NetworkManager &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
            echo &quot;NetworkManager&quot;
        elif systemctl is-active systemd-networkd &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;amp; \
             systemctl is-active systemd-resolved &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
            echo &quot;SystemD&quot;
        elif systemctl is-active network &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
            echo &quot;EtcNet&quot;
        else
            echo &quot;Unknown&quot;
        fi
    fi
}

# Функция настройки NetworkManager
configure_networkmanager() {
    local interface=$1
    local bootproto=$2
    local ipaddr=$3
    local netmask=$4
    local gateway=$5
    local dns_servers=$6
    local domain=$7

    # Создаем или модифицируем соединение
    if [ &quot;$bootproto&quot; = &quot;static&quot; ]; then
        local prefix_length=$(mask2cidr &quot;$netmask&quot;)
        nmcli con add type ethernet con-name &quot;$interface&quot; ifname &quot;$interface&quot; ip4 &quot;$ipaddr/$prefix_length&quot; gw4 &quot;$gateway&quot;
        if [ -n &quot;$dns_servers&quot; ]; then
            nmcli con mod &quot;$interface&quot; ipv4.dns &quot;$dns_servers&quot;
        fi
        if [ -n &quot;$domain&quot; ]; then
            nmcli con mod &quot;$interface&quot; ipv4.dns-search &quot;$domain&quot;
        fi
    else
        nmcli con add type ethernet con-name &quot;$interface&quot; ifname &quot;$interface&quot; ipv4.method auto
    fi

    # Активируем соединение
    nmcli con up &quot;$interface&quot;
}

# Функция настройки EtcNet
configure_etcnet() {
    local interface=$1
    local bootproto=$2
    local ipaddr=$3
    local netmask=$4
    local gateway=$5
    local dns_servers=$6
    local domain=$7

    local iface_dir=&quot;/etc/net/ifaces/$interface&quot;

    mkdir -p &quot;$iface_dir&quot;

    # Обновляем файл options в зависимости от типа настройки
    if [ -f &quot;$iface_dir/options&quot; ]; then
        # Обновляем существующий файл options, сохраняя другие параметры
        if [ &quot;$bootproto&quot; = &quot;static&quot; ]; then
            # Удаляем старые параметры BOOTPROTO и SYSTEMD_BOOTPROTO если есть
            sed -i &#39;/^BOOTPROTO=/d&#39; &quot;$iface_dir/options&quot;
            sed -i &#39;/^SYSTEMD_BOOTPROTO=/d&#39; &quot;$iface_dir/options&quot;
            # Добавляем новые параметры
            echo &quot;BOOTPROTO=static&quot; &amp;gt;&amp;gt; &quot;$iface_dir/options&quot;
            echo &quot;SYSTEMD_BOOTPROTO=static&quot; &amp;gt;&amp;gt; &quot;$iface_dir/options&quot;
        else
            # Удаляем старые параметры BOOTPROTO и SYSTEMD_BOOTPROTO если есть
            sed -i &#39;/^BOOTPROTO=/d&#39; &quot;$iface_dir/options&quot;
            sed -i &#39;/^SYSTEMD_BOOTPROTO=/d&#39; &quot;$iface_dir/options&quot;
            # Добавляем новые параметры
            echo &quot;BOOTPROTO=dhcp&quot; &amp;gt;&amp;gt; &quot;$iface_dir/options&quot;
            echo &quot;SYSTEMD_BOOTPROTO=dhcp4&quot; &amp;gt;&amp;gt; &quot;$iface_dir/options&quot;
        fi
    else
        # Создаем новый файл options
        if [ &quot;$bootproto&quot; = &quot;static&quot; ]; then
            cat &amp;gt; &quot;$iface_dir/options&quot; &amp;lt;&amp;lt;EOF
BOOTPROTO=static
SYSTEMD_BOOTPROTO=static
EOF
        else
            cat &amp;gt; &quot;$iface_dir/options&quot; &amp;lt;&amp;lt;EOF
BOOTPROTO=dhcp
SYSTEMD_BOOTPROTO=dhcp4
EOF
        fi
    fi

    if [ &quot;$bootproto&quot; = &quot;static&quot; ]; then
        # Записываем IP-адрес с префиксом CIDR
        PREFIX_LENGTH=$(mask2cidr &quot;$netmask&quot;)
        if [ -z &quot;$PREFIX_LENGTH&quot; ]; then
            PREFIX_LENGTH=24
        fi
        echo &quot;$ipaddr/$PREFIX_LENGTH&quot; &amp;gt; &quot;$iface_dir/ipv4address&quot;

        # Записываем маршрут по умолчанию
        if [ -n &quot;$gateway&quot; ]; then
            echo &quot;default via $gateway&quot; &amp;gt; &quot;$iface_dir/ipv4route&quot;
        fi

        # Настраиваем DNS через resolv.conf в директории интерфейса
        if [ -n &quot;$dns_servers&quot; ]; then
            # Создаем resolv.conf в директории интерфейса
            echo &quot;# Generated by network configuration script&quot; &amp;gt; &quot;$iface_dir/resolv.conf&quot;
            if [ -n &quot;$domain&quot; ]; then
                echo &quot;domain $domain&quot; &amp;gt;&amp;gt; &quot;$iface_dir/resolv.conf&quot;
                echo &quot;search $domain&quot; &amp;gt;&amp;gt; &quot;$iface_dir/resolv.conf&quot;
            fi

            # Добавляем DNS-серверы
            for dns in $dns_servers; do
                echo &quot;nameserver $dns&quot; &amp;gt;&amp;gt; &quot;$iface_dir/resolv.conf&quot;
            done
        fi

        # Освобождаем DHCP-аренду для интерфейса
        if command -v /sbin/dhcpcd &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
            /sbin/dhcpcd -k &quot;$interface&quot; 2&amp;gt;/dev/null || true
        fi
    else
        # Для DHCP очищаем возможные предыдущие статические настройки
        rm -f &quot;$iface_dir/ipv4address&quot;
        rm -f &quot;$iface_dir/ipv4route&quot;
        rm -f &quot;$iface_dir/resolv.conf&quot;

        # Файл type больше не создаем, как было указано в требованиях
    fi

    # Добавляем интерфейс в порядок обработки
    local order_file=&quot;/etc/net/ifaces.order&quot;
    if ! grep -q &quot;^$interface$&quot; &quot;$order_file&quot; 2&amp;gt;/dev/null; then
        echo &quot;$interface&quot; &amp;gt;&amp;gt; &quot;$order_file&quot;
    fi

    # Перезапускаем сеть
    systemctl restart network
}

# --- Функция очистки логов и временных файлов ---
clean_system() {
    # Очистка логов (с сохранением структуры каталогов)
    find /var/log -type f -name &quot;*.log&quot; -exec truncate -s 0 {} \;
    find /var/log -type f -name &quot;*.gz&quot; -delete
    find /var/log -type f -name &quot;*.old&quot; -delete
    find /var/log -type f -name &quot;lastlog&quot; -exec rm -f {} \;

    # Очистка временных файлов
    rm -rf /tmp/*
    rm -rf /var/tmp/*

    # Очистка истории команд и пользовательских данных
    for user_home in /home/*; do
        if [[ -d &quot;$user_home&quot; ]]; then
            user=$(basename &quot;$user_home&quot;)
            # Очистка bash_history и других историй
            truncate -s 0 &quot;$user_home/.bash_history&quot; 2&amp;gt;/dev/null || true
            # Очистка кэшей приложений
            rm -rf &quot;$user_home/.cache/*&quot; 2&amp;gt;/dev/null || true
        fi
    done
    # Очистка root
    truncate -s 0 /root/.bash_history 2&amp;gt;/dev/null || true
    rm -rf /root/.cache/* 2&amp;gt;/dev/null || true

    # Удаление случайных seed-файлов
    rm -f /var/lib/systemd/random-seed
}

# --- Функция удаления SSH host keys ---
reset_ssh_keys() {
    rm -f /etc/ssh/ssh_host_*
    # Ключи будут сгенерированы при следующем запуске SSH-сервера
}

if [ &quot;$1&quot; = &quot;precustomization&quot; ]; then
    # Выполняем очистку системы
    clean_system
    reset_ssh_keys

    # Проверяем и создаем директорию /etc/sysconfig/network-scripts если нужно
    if [ ! -d &quot;/etc/sysconfig/network-scripts&quot; ]; then
        mkdir -p /etc/sysconfig/network-scripts
    fi
    # Этап предварительной настройки
    VMCUST_DIR=$(ls -d /var/run/.vmware-imgcust* 2&amp;gt;/dev/null | head -n 1)
    if [ -n &quot;$VMCUST_DIR&quot; ]; then
        CUST_CFG_PATH=&quot;$VMCUST_DIR/cust.cfg&quot;
        if [ -f &quot;$CUST_CFG_PATH&quot; ]; then
            cp &quot;$CUST_CFG_PATH&quot; &quot;/root/cust.cfg&quot;
        fi
    fi
elif [ &quot;$1&quot; = &quot;postcustomization&quot; ]; then
    # Этап пост-настройки
    if [ ! -f &quot;/root/cust.cfg&quot; ]; then
        exit 1
    fi

    CFG_FILE=&quot;/root/cust.cfg&quot;

    # Парсим параметры конфигурации
    BOOTPROTO=$(awk -F&#39; = &#39; &#39;/^BOOTPROTO/ {line=$2} END{print tolower(line)}&#39; &quot;$CFG_FILE&quot;)
    IPADDR=$(awk -F&#39; = &#39; &#39;/^IPADDR/ {line=$2} END{print line}&#39; &quot;$CFG_FILE&quot;)
    NETMASK=$(awk -F&#39; = &#39; &#39;/^NETMASK/ {line=$2} END{print line}&#39; &quot;$CFG_FILE&quot;)
    GATEWAY=$(awk -F&#39; = &#39; &#39;/^GATEWAY/ {line=$2} END{print line}&#39; &quot;$CFG_FILE&quot;)
    HOSTNAME=$(awk -F&#39; = &#39; &#39;/^HOSTNAME/ {line=$2} END{print line}&#39; &quot;$CFG_FILE&quot;)
    DOMAIN=$(awk -F&#39; = &#39; &#39;/^DOMAINNAME/ {line=$2} END{print line}&#39; &quot;$CFG_FILE&quot;)
    MACADDR=$(awk -F&#39; = &#39; &#39;/^MACADDR/ {line=$2} END{print tolower(line)}&#39; &quot;$CFG_FILE&quot;)
    DNS_SERVERS=$(awk -F&#39; = &#39; &#39;/^NAMESERVER\|[0-9]/ {print $2}&#39; &quot;$CFG_FILE&quot; | tr &#39;\n&#39; &#39; &#39;)
    DNS_FROM_DHCP=$(awk -F&#39; = &#39; &#39;/^DNSFROMDHCP/ {line=$2} END{print tolower(line)}&#39; &quot;$CFG_FILE&quot;)
    TIMEZONE=$(awk -F&#39; = &#39; &#39;/^TIMEZONE/ {line=$2} END{print line}&#39; &quot;$CFG_FILE&quot;)
    UTC=$(awk -F&#39; = &#39; &#39;/^UTC/ {line=$2} END{print tolower(line)}&#39; &quot;$CFG_FILE&quot;)

    # Определяем сетевой интерфейс
    INTERFACE=$(ip -o link | awk -v mac=&quot;$MACADDR&quot; &#39;tolower($0) ~ mac {gsub(&quot;:&quot;, &quot;&quot;, $2); print $2}&#39;)
    if [ -z &quot;$INTERFACE&quot; ]; then
        INTERFACE=$(ip route | awk &#39;/default/ {print $5; exit}&#39;)
    fi

    # Определяем метод управления сетью
    NET_MGR=$(get_network_manager &quot;$INTERFACE&quot;)

    case &quot;$NET_MGR&quot; in
        &quot;NetworkManager&quot;)
            configure_networkmanager &quot;$INTERFACE&quot; &quot;$BOOTPROTO&quot; &quot;$IPADDR&quot; &quot;$NETMASK&quot; &quot;$GATEWAY&quot; &quot;$DNS_SERVERS&quot; &quot;$DOMAIN&quot;
            ;;
        &quot;EtcNet&quot;)
            configure_etcnet &quot;$INTERFACE&quot; &quot;$BOOTPROTO&quot; &quot;$IPADDR&quot; &quot;$NETMASK&quot; &quot;$GATEWAY&quot; &quot;$DNS_SERVERS&quot; &quot;$DOMAIN&quot;
            ;;
        &quot;SystemD&quot;)
            # Существующая настройка SystemD
            rm -f /etc/systemd/network/*.network
            rm -f /etc/systemd/resolved.conf.d/*.conf

            # Создаем базовую конфигурацию для loopback-интерфейса
            cat &amp;gt; /etc/systemd/network/00-loopback.network &amp;lt;&amp;lt;EOF
[Match]
Name=lo

[Network]
Address=127.0.0.1/8
Address=::1/128
EOF

            # Создаем конфигурацию для основного интерфейса
            CONFIG_FILE=&quot;/etc/systemd/network/alterator-${INTERFACE}.network&quot;

            if [ &quot;$BOOTPROTO&quot; = &quot;static&quot; ]; then
                if [ -z &quot;$IPADDR&quot; ] || [ -z &quot;$NETMASK&quot; ]; then
                    exit 1
                fi

                PREFIX_LENGTH=$(mask2cidr &quot;$NETMASK&quot;)
                if [ -z &quot;$PREFIX_LENGTH&quot; ]; then
                    PREFIX_LENGTH=24
                fi

                # Создаем конфиг для статического IP с DNS
                cat &amp;gt; &quot;$CONFIG_FILE&quot; &amp;lt;&amp;lt;EOF
[Match]
Name=$INTERFACE

[Network]
Address=$IPADDR/$PREFIX_LENGTH
Gateway=$GATEWAY
EOF

                # Добавляем DNS серверы, если нужно
                if { [ &quot;$BOOTPROTO&quot; = &quot;static&quot; ] || [ &quot;$DNS_FROM_DHCP&quot; = &quot;no&quot; ]; } &amp;amp;&amp;amp; [ -n &quot;$DNS_SERVERS&quot; ]; then
                    for dns in $DNS_SERVERS; do
                        echo &quot;DNS=$dns&quot; &amp;gt;&amp;gt; &quot;$CONFIG_FILE&quot;
                    done
                fi
            else
                # Создаем конфиг для DHCP
                cat &amp;gt; &quot;$CONFIG_FILE&quot; &amp;lt;&amp;lt;EOF
[Match]
Name=$INTERFACE

[Network]
DHCP=ipv4

[DHCPv4]
UseDomains=true
UseDNS=yes
EOF

                # Добавляем DNS серверы, если указано не использовать DNS от DHCP
                if [ &quot;$DNS_FROM_DHCP&quot; = &quot;no&quot; ] &amp;amp;&amp;amp; [ -n &quot;$DNS_SERVERS&quot; ]; then
                    for dns in $DNS_SERVERS; do
                        echo &quot;DNS=$dns&quot; &amp;gt;&amp;gt; &quot;$CONFIG_FILE&quot;
                    done
                fi
            fi

            systemctl restart systemd-networkd
            systemctl restart systemd-resolved
            ;;
        *)
            echo &quot;Неизвестный метод управления сетью&quot;
            exit 1
            ;;
    esac

    # Общие настройки
    hostnamectl set-hostname &quot;$HOSTNAME&quot;
    sed -i &quot;/127\.0\.1\.1/d&quot; /etc/hosts
    echo &quot;127.0.1.1 $HOSTNAME.$DOMAIN $HOSTNAME&quot; &amp;gt;&amp;gt; /etc/hosts

     # Настройка часового пояса
    if [ -n &quot;$TIMEZONE&quot; ]; then
        timedatectl set-timezone &quot;$TIMEZONE&quot;
    fi

    # Настройка формата времени BIOS (UTC или локальное)
    if [ -n &quot;$UTC&quot; ]; then
        if [ &quot;$UTC&quot; = &quot;yes&quot; ]; then
            # Устанавливаем UTC время в BIOS
            timedatectl set-local-rtc 0
        else
            # Устанавливаем локальное время в BIOS
            timedatectl set-local-rtc 1
        fi
    fi

    # Сохраняем конфигурацию
    {
        echo &quot;CONFIG_SOURCE=$CFG_FILE&quot;
        echo &quot;BOOTPROTO=$BOOTPROTO&quot;
        echo &quot;INTERFACE=$INTERFACE&quot;
        echo &quot;HOSTNAME=$HOSTNAME&quot;
        echo &quot;DOMAIN=$DOMAIN&quot;
        echo &quot;TIMEZONE=$TIMEZONE&quot;
        echo &quot;UTC=$UTC&quot;
        [ -n &quot;$DNS_FROM_DHCP&quot; ] &amp;amp;&amp;amp; echo &quot;DNS_FROM_DHCP=$DNS_FROM_DHCP&quot;
        [ -n &quot;$DNS_SERVERS&quot; ] &amp;amp;&amp;amp; echo &quot;DNS_SERVERS=\&quot;$DNS_SERVERS\&quot;&quot;
    }

    if [ &quot;$BOOTPROTO&quot; = &quot;static&quot; ]; then
        {
            echo &quot;IP_ADDRESS=$IPADDR&quot;
            echo &quot;NETMASK=$NETMASK&quot;
            echo &quot;PREFIX_LENGTH=$PREFIX_LENGTH&quot;
            [ -n &quot;$GATEWAY&quot; ] &amp;amp;&amp;amp; echo &quot;GATEWAY=$GATEWAY&quot;
        }
    fi
    rm -f &quot;/root/cust.cfg&quot;
##############################################################################################
    # МЕСТО ДЛЯ ДОПОЛНИТЕЛЬНОЙ НАСТРОЙКИ СИСТЕМЫ
    # Здесь можно добавить команды для окончательной настройки машины:
    # - Доустановка необходимого программного обеспечения
    # - Настройка через Ansible или другие системы управления конфигурациями
    # - Выполнение пользовательских скриптов
    # - Настройка мониторинга, логирования и других сервисов
##############################################################################################
fi&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Данный скрипт охватывает все возможные варианты настройки сети: &lt;i&gt;&lt;u&gt;EtcNet&lt;/u&gt;&lt;/i&gt;, &lt;i&gt;&lt;u&gt;NetworkManager&lt;/u&gt;&lt;/i&gt;, &lt;i&gt;&lt;u&gt;Systemd-Networkd&lt;/u&gt;&lt;/i&gt;, как со статическим &lt;i&gt;IP&lt;/i&gt;, так и с &lt;i&gt;DHCP&lt;/i&gt;.&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/5308671676150938494/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/09/alt-linux-vmware-vm-customization.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/5308671676150938494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/5308671676150938494'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/09/alt-linux-vmware-vm-customization.html' title='ALT Linux: Настройка VMware VM Customization Specifications для ОС ALT Linux'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-8873513533283881049</id><published>2025-06-18T01:07:00.000-07:00</published><updated>2025-06-19T01:35:19.039-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Active Directory"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Windows: Активация LDAP over SSL (LDAPS) при помощи стороннего центра сертификации (CA)</title><content type='html'>&lt;u&gt;Рассмотрим вариант настройки протокола &lt;i&gt;LDAPS&lt;/i&gt; (&lt;i&gt;LDAP over SSL&lt;/i&gt;) с использованием стороннего центра сертификации для домена &lt;b&gt;&lt;i&gt;mydomain.local&lt;/i&gt;&lt;/b&gt; с тремя контроллерами: &lt;b&gt;&lt;i&gt;DC1&lt;/i&gt;&lt;/b&gt;,&lt;b&gt;&lt;i&gt;DC2&lt;/i&gt;&lt;/b&gt;,&lt;b&gt;&lt;i&gt;DC3&lt;/i&gt;&lt;/b&gt;:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Создадим шаблон запроса сертификата в виде файла&amp;nbsp;&lt;i&gt;&lt;u&gt;&amp;lt;имя&amp;gt;.inf&lt;/u&gt;&lt;/i&gt; для каждого контроллера домена. Замените &lt;i&gt;&lt;u&gt;&amp;lt;имя&amp;gt;&lt;/u&gt;&lt;/i&gt; на &lt;i&gt;FQDN&lt;/i&gt; контроллера (например &lt;b&gt;&lt;i&gt;DC1.mydomain.local&lt;/i&gt;&lt;/b&gt;):&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Version]&lt;br /&gt;Signature=&quot;$Windows NT$&quot;&lt;br /&gt;&lt;br /&gt;[NewRequest]&lt;br /&gt;Subject = &quot;CN=DC1.mydomain.local&quot; ; FQDN текущего контроллера&lt;br /&gt;KeySpec = 1&lt;br /&gt;KeyLength = 2048&lt;br /&gt;Exportable = TRUE&lt;br /&gt;MachineKeySet = TRUE&lt;br /&gt;SMIME = False&lt;br /&gt;PrivateKeyArchive = FALSE&lt;br /&gt;UserProtected = FALSE&lt;br /&gt;UseExistingKeySet = FALSE&lt;br /&gt;ProviderName = &quot;Microsoft RSA SChannel Cryptographic Provider&quot;&lt;br /&gt;ProviderType = 12&lt;br /&gt;RequestType = PKCS10&lt;br /&gt;KeyUsage = 0xa0&lt;br /&gt;&lt;br /&gt;[EnhancedKeyUsageExtension]&lt;br /&gt;OID=1.3.6.1.5.5.7.3.1 ; Server Authentication&lt;br /&gt;&lt;br /&gt;[Extensions]&lt;br /&gt;2.5.29.17 = &quot;{text}&quot;&lt;br /&gt;_continue_ = &quot;dns=DC1.mydomain.local&amp;amp;&quot; ; FQDN текущего&lt;br /&gt;_continue_ = &quot;dns=DC1&amp;amp;&quot; ; короткое имя текущего&lt;br /&gt;_continue_ = &quot;dns=DC2.mydomain.local&amp;amp;&quot; ; FQDN других контроллеров&lt;br /&gt;_continue_ = &quot;dns=DC2&amp;amp;&quot;&lt;br /&gt;_continue_ = &quot;dns=DC3.mydomain.local&amp;amp;&quot;&lt;br /&gt;_continue_ = &quot;dns=DC3&amp;amp;&quot;&lt;br /&gt;_continue_ = &quot;dns=ldap.mydomain.local&amp;amp;&quot; ; виртуальное имя для переключения&lt;br /&gt;_continue_ = &quot;dns=mydomain.local&amp;amp;&quot; ; домен верхнего уровня&lt;br /&gt;_continue_ = &quot;dns=MYDOMAIN&quot; ; NetBIOS-имя домена&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Важно:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;Для балансировки в раздел &lt;i&gt;&lt;u&gt;[Extensions]&lt;/u&gt;&lt;/i&gt; необходимо добавить &lt;i&gt;FQDN&lt;/i&gt; домена и всех контроллеров домена, а также их &lt;i&gt;NetBIOS&lt;/i&gt; имена. Кроме того можно дополнительно прописать отказоустойчивые &lt;i&gt;DNS&lt;/i&gt; записи, например &quot;&lt;i&gt;&lt;b&gt;ldap.mydomain.local&lt;/b&gt;&lt;/i&gt;&quot;.&lt;br /&gt;&lt;br /&gt;Сохраните файл на каждом контроллере (например, &lt;i&gt;&lt;u&gt;C:\Cert\DC1.inf&lt;/u&gt;&lt;/i&gt;).&lt;br /&gt;&lt;br /&gt;2. Сгенерируем &lt;i&gt;CSR&lt;/i&gt; для каждого контроллера. Для этого создадим запросы на сертификаты через командную строку (на каждом контроллере):&lt;br /&gt;&lt;b&gt;&lt;i&gt;certreq -new C:\Cert\&amp;lt;имя&amp;gt;.inf C:\Cert\&amp;lt;имя&amp;gt;.csr&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. Теперь необходимо отправить &lt;i&gt;CSR&lt;/i&gt; в сторонний &lt;i&gt;ЦС&lt;/i&gt;. Передайте файлы &lt;i&gt;&lt;u&gt;DC1.csr&lt;/u&gt;&lt;/i&gt;, &lt;i&gt;&lt;u&gt;DC2.csr&lt;/u&gt;&lt;/i&gt;, &lt;i&gt;&lt;u&gt;DC3.csr&lt;/u&gt;&lt;/i&gt; администратору внешнего &lt;i&gt;ЦС&lt;/i&gt; и получите обратно подписанные сертификаты (&lt;i&gt;&lt;u&gt;DC1.cer&lt;/u&gt;&lt;/i&gt;, &lt;i&gt;&lt;u&gt;DC2.cer&lt;/u&gt;&lt;/i&gt;, &lt;i&gt;&lt;u&gt;DC3.cer&lt;/u&gt;&lt;/i&gt; или &lt;i&gt;&lt;u&gt;DC1.p7b&lt;/u&gt;&lt;/i&gt;, &lt;i&gt;&lt;u&gt;DC2.p7b&lt;/u&gt;&lt;/i&gt;, &lt;i&gt;&lt;u&gt;DC3.p7b&lt;/u&gt;&lt;/i&gt;) от &lt;i&gt;ЦС&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;4. Установим сертификаты на контроллеры домена. Для этого выполним на каждом контроллере домена команду импорта:&lt;br /&gt;&lt;b&gt;&lt;i&gt;certreq -accept C:\Cert\&amp;lt;имя&amp;gt;.cer&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Чтобы проверить установленный сертификат, откройте &quot;&lt;i&gt;&lt;u&gt;mmc&lt;/u&gt;&lt;/i&gt;&quot;, добавьте оснастку &quot;&lt;i&gt;Сертификаты (локальный компьютер)&lt;/i&gt;&quot;. Убедитесь, что сертификат отображается в &lt;i&gt;Личное → Сертификаты и имеет закрытый ключ&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;5. Для завершения настройки &lt;i&gt;LDAPS&lt;/i&gt; на контроллерах при включенном брандмауэре откройте &lt;i&gt;636 &lt;/i&gt;порт:&lt;br /&gt;&lt;b&gt;&lt;i&gt;New-NetFirewallRule -DisplayName &quot;LDAPS&quot; -Direction Inbound -Protocol TCP -LocalPort 636 -Action Allow&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;6. Перезапустите службу &lt;i&gt;LDAP&lt;/i&gt; или перезагрузите сервера:&lt;br /&gt;&lt;b&gt;&lt;i&gt;Restart-Service NTDS -Force&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;7. Проверьте работу &lt;i&gt;LDAPS&lt;/i&gt; при помощи &quot;&lt;i&gt;&lt;u&gt;ldp.exe&lt;/u&gt;&lt;/i&gt;&quot; - выполните подключение к контроллеру домена, указав порт &lt;i&gt;636&lt;/i&gt; и галочку &quot;&lt;i&gt;SSL&lt;/i&gt;&quot;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Отключение незашифрованного &lt;i&gt;LDAP&lt;/i&gt; (опционально):&lt;br /&gt;&lt;/u&gt;&lt;br /&gt;Откройте &quot;&lt;i&gt;Управление групповыми политиками&lt;/i&gt;&quot; и выберите &quot;&lt;i&gt;Default Domain Controllers Policy&lt;/i&gt;&quot;.&lt;br /&gt;Перейдите: &quot;&lt;i&gt;Конфигурация компьютера → Политики → Конфигурация Windows → Параметры безопасности → Контроллер домена: требование цифровой подписи для LDAP-сервера&lt;/i&gt;&quot;.&lt;br /&gt;Установите параметр: &quot;&lt;i&gt;Требуется цифровая подпись&lt;/i&gt;&quot;.&lt;br /&gt;Перегрузите контроллеры домена для применения изменений.&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/8873513533283881049/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/06/windows-ldap-over-ssl-ldaps-ca.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/8873513533283881049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/8873513533283881049'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/06/windows-ldap-over-ssl-ldaps-ca.html' title='Windows: Активация LDAP over SSL (LDAPS) при помощи стороннего центра сертификации (CA)'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-6777633090494086065</id><published>2025-05-26T07:14:00.000-07:00</published><updated>2025-05-26T07:15:04.372-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Windows: Удаление раздела восстановления с диска</title><content type='html'>Иногда такой раздел мешает в виртуальной среде расширить системный диск с &lt;i&gt;ОС Windows&lt;/i&gt;. &lt;u&gt;Для удаления запустите консоль с повышенными привилегиями и выполните:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Сначала отключите среду восстановления:&lt;br /&gt;&lt;b&gt;&lt;i&gt;reagentc /disable&lt;/i&gt;&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;2.  Затем запустите:&lt;br /&gt;&lt;b&gt;&lt;i&gt;diskpart&lt;br /&gt;list volume&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Обратите внимание на &lt;u&gt;номер тома для раздела восстановления&lt;/u&gt;, запомните его.&lt;br /&gt;&lt;br /&gt;3. Удалите раздел:&lt;br /&gt;&lt;b&gt;&lt;i&gt;select volume N&lt;br /&gt;delete volume override&lt;br /&gt;exit&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;где &lt;b&gt;&lt;i&gt;N&lt;/i&gt;&lt;/b&gt; - &lt;u&gt;номер вашего раздела восстановления&lt;/u&gt;.&lt;br /&gt;&lt;br /&gt;В результате проделанных действий раздел восстановления будет удален, а занятое им пространство освободится.&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/6777633090494086065/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/05/windows.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/6777633090494086065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/6777633090494086065'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/05/windows.html' title='Windows: Удаление раздела восстановления с диска'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-6118438935614625612</id><published>2025-05-23T04:55:00.000-07:00</published><updated>2025-05-23T05:01:38.836-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Windows: Отключение Azure Arc Setup в Windows Server 2022 и выше</title><content type='html'>&lt;p&gt; С конца &lt;i&gt;2024&lt;/i&gt; года вместе с обновлениями &lt;i&gt;Windows&lt;/i&gt; приходит новый компонент &quot;&lt;i&gt;&lt;u&gt;Azure Arc Setup&lt;/u&gt;&lt;/i&gt;&quot;, предназначенный для управления &lt;i&gt;Azure&lt;/i&gt; ресурсами. Если вы не используете данный функционал, рекомендуется его отключить. &lt;u&gt;Для этого откройте консоль &lt;i&gt;PowerShell&lt;/i&gt; с повышенными привилегиями и выполните:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Для &lt;i&gt;Windows 2022&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Disable-WindowsOptionalFeature -Online -FeatureName AzureArcSetup&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;(Также для &lt;i&gt;Windows 2022&lt;/i&gt; можно отключить данную функцию через выключение компонентов в &quot;&lt;i&gt;Диспетчере серверов&lt;/i&gt;&quot;)&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Для &lt;i&gt;Windows 2025&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;DISM /online /Remove-Capability /CapabilityName:AzureArcSetup~~~~&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;После этого необходимо будет перезагрузить хост.&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/6118438935614625612/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/05/windows-azure-arc-setup-windows-server.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/6118438935614625612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/6118438935614625612'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/05/windows-azure-arc-setup-windows-server.html' title='Windows: Отключение Azure Arc Setup в Windows Server 2022 и выше'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-893497255695654952</id><published>2025-05-20T01:55:00.000-07:00</published><updated>2025-05-20T04:08:23.891-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ALT Linux"/><title type='text'>ALT Linux: Различные методы настройки синхронизации времени по протоколу NTP</title><content type='html'>Точная синхронизация времени критична для работы распределенных систем, журналирования событий, безопасности и других задач. В &lt;i&gt;ALT Linux&lt;/i&gt; доступны следующие методы настройки &lt;i&gt;NTP (Network Time Protocol)&lt;/i&gt;: &lt;b&gt;&lt;i&gt;chrony&lt;/i&gt;&lt;/b&gt;, &lt;b&gt;&lt;i&gt;systemd-timesyncd&lt;/i&gt;&lt;/b&gt;, &lt;b&gt;&lt;i&gt;ntpd&lt;/i&gt;&lt;/b&gt;. Перед конфигурированием убедитесь, что другие сервисы синхронизации времени остановлены и отключены.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Настройка Chrony:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Chrony&lt;/i&gt; — современное решение для синхронизации с поддержкой работы в условиях нестабильных сетей. В &lt;i&gt;ALT Linux&lt;/i&gt; включен по умолчанию. &lt;u&gt;Для настройки выполните следующие шаги:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Установите пакет, настройте автозагрузку и запустите сервис:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install chrony&lt;br /&gt;sudo systemctl enable --now chronyd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Откройте файл &quot;&lt;i&gt;&lt;u&gt;/etc/chrony.conf&lt;/u&gt;&lt;/i&gt;&quot; и укажите &lt;i&gt;NTP&lt;/i&gt;-серверы или пулы:&lt;br /&gt;&lt;i&gt;server ntp1.example.com iburst&lt;br /&gt;server ntp2.example.com iburst&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;или&lt;br /&gt;&lt;i&gt;pool pool.ntp.org iburst&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;где:&lt;br /&gt;&lt;i&gt;iburst&lt;/i&gt; — ускорение начальной синхронизации;&lt;br /&gt;&lt;i&gt;server&lt;/i&gt; — использование отдельных серверов;&lt;br /&gt;&lt;i&gt;pool&lt;/i&gt; — использование пула серверов.&lt;br /&gt;&lt;br /&gt;3. Перезапустите сервис:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl restart chronyd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4. Выполните проверку статуса и просмотрите лог:&lt;br /&gt;&lt;b&gt;&lt;i&gt;chronyc sources -v&lt;br /&gt;chronyc tracking&lt;br /&gt;journalctl -u chronyd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Настройка systemd-timesyncd:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;systemd-timesyncd&lt;/i&gt; — это легковесный клиент, интегрированный в &lt;i&gt;systemd&lt;/i&gt;. &lt;u&gt;Для настройки выполните следующие шаги:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Установите пакет:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install systemd-timesyncd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Активируйте сервис:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo timedatectl set-ntp true&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. Отредактируйте &quot;&lt;i&gt;&lt;u&gt;/etc/systemd/timesyncd.conf&lt;/u&gt;&lt;/i&gt;&quot;:&lt;br /&gt;&lt;i&gt;[Time]&lt;br /&gt;NTP=ntp1.example.com ntp2.example.com&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;4. Примените изменения:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl restart systemd-timesyncd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;5. Выполните проверку:&lt;br /&gt;&lt;b&gt;&lt;i&gt;timedatectl show-timesync&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Настройка ntpd (устаревший метод):&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;NTPd&lt;/i&gt; — это классическая реализация &lt;i&gt;NTP&lt;/i&gt;. &lt;u&gt;Для настройки этого метода выполните следующие шаги:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Установите пакет:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install ntp&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Отредактируйте конфигурационный файл &quot;&lt;i&gt;&lt;u&gt;/etc/ntp.conf&lt;/u&gt;&lt;/i&gt;&quot;:&lt;br /&gt;&lt;i&gt;server ntp1.example.com&lt;br /&gt;server ntp2.example.com&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;3. Настройте автозагрузку и запустите сервис:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl enable ntpd &amp;amp;&amp;amp; sudo systemctl start ntpd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4. Выполните проверку:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ntpq -p&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/893497255695654952/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/05/alt-linux-ntp.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/893497255695654952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/893497255695654952'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/05/alt-linux-ntp.html' title='ALT Linux: Различные методы настройки синхронизации времени по протоколу NTP'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-7836724217332963085</id><published>2025-05-15T04:29:00.000-07:00</published><updated>2025-05-15T04:41:11.930-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ALT Linux"/><title type='text'>ALT Linux: Настройка подключения по SSH для пользователя &quot;root&quot;</title><content type='html'>&lt;u&gt;Для настройки выполните следующие шаги:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Установите или проверьте, что установлен пакет &quot;&lt;i&gt;&lt;u&gt;openssh&lt;/u&gt;&lt;/i&gt;&quot;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get install openssh&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Отредактируйте конфигурационный файл:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /etc/openssh/sshd_config&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Раскомментируйте и установите значение в&amp;nbsp;&quot;&lt;i&gt;&lt;u&gt;yes&lt;/u&gt;&lt;/i&gt;&quot; параметра &quot;&lt;i&gt;&lt;u&gt;PermitRootLogin&lt;/u&gt;&lt;/i&gt;&quot;.&lt;br /&gt;&lt;br /&gt;3. Перезапустите демон:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl restart sshd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Если служба была не запущена - включите и запустите:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl enable --now sshd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4. Пробуйте установить подключение по &lt;i&gt;SSH&lt;/i&gt; пользователем &quot;&lt;i&gt;root&lt;/i&gt;&quot;.</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/7836724217332963085/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/05/alt-linux-ssh-root.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/7836724217332963085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/7836724217332963085'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/05/alt-linux-ssh-root.html' title='ALT Linux: Настройка подключения по SSH для пользователя &quot;root&quot;'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-7981845334138736596</id><published>2025-04-10T06:52:00.000-07:00</published><updated>2025-05-12T06:37:00.476-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ALT Linux"/><title type='text'>ALT Linux: Различные способы настройки сетевых интерфейсов</title><content type='html'>&lt;p&gt;Для просмотра драйверов сетевых адаптеров выполните:&lt;br /&gt;&lt;b&gt;&lt;i&gt;lspci -k | grep -A2 Ethernet&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Список сетевых интерфейсов можно увидеть командой:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ls /sys/class/net&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Допустим наш интерфейс называется &quot;&lt;b&gt;&lt;i&gt;ens33&lt;/i&gt;&lt;/b&gt;&quot;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Настройки интерфейсов с помощью утилиты &quot;ip&quot;.&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip link show&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Просмотр сетевых подключений&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip -s l&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Просмотр статистики по отправленным/полученным пакетам&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip address show&lt;/i&gt;&lt;/b&gt; &amp;nbsp; #Просмотр конфигурации &lt;i&gt;TCP/IP&lt;br /&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;ip link set dev ens33 up&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Включение интерфейса, если он был выключен&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip address flush dev ens33&lt;/i&gt;&lt;/b&gt; &amp;nbsp; #Сброс конфигурации интерфейса&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip addr add 192.168.0.5/24 broadcast + dev ens33&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Установка &lt;i&gt;IP&lt;/i&gt; и маски&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip addr del&amp;nbsp;192.168.0.5/24 dev ens33&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Удаление &lt;i&gt;IP&lt;/i&gt; и маски (в случае ошибки)&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route show&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Просмотр таблицы маршрутизации&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route add default via 192.168.0.1 dev ens33&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Установка шлюза по умолчанию&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route delete default&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Удаление шлюза по умолчанию&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route add 192.168.10.0/24 via 192.168.0.254 dev ens33&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Добавление маршрута&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route del 192.168.10.0/24 dev ens33&lt;/i&gt;&lt;/b&gt;   #Удаление маршрута&lt;br /&gt;&lt;b&gt;&lt;i&gt;echo &quot;nameserver 192.168.0.1 8.8.8.8&quot; | sudo tee /etc/resolv.conf&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&amp;nbsp; #Добавление &lt;i&gt;DNS&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Данные настройки являются временными и будут работать до перезагрузки &lt;i&gt;ОС&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Настройка сетевой подсистемы &quot;Etcnet&quot;.&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. Установите пакет и запустите службу:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get install etcnet&lt;br /&gt;sudo systemctl enable --now network&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Для настройки интерфейса необходимо создать или отредактировать уже имеющийся файлы в директории &quot;&lt;i&gt;&lt;b&gt;/etc/net/ifaces/ens33/&lt;/b&gt;&lt;/i&gt;&quot;, где &quot;&lt;b&gt;&lt;i&gt;ens33&lt;/i&gt;&lt;/b&gt;&quot; - имя сетевого интерфейса.&lt;br /&gt;&lt;u&gt;В файле &quot;&lt;i&gt;options&lt;/i&gt;&quot; настройте следующие параметры:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Для &lt;i&gt;DHCP&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;BOOTPROTO=dhcp #Использует DHCP&lt;br /&gt;TYPE=eth &lt;br /&gt;CONFIG_WIRELESS=no &lt;br /&gt;SYSTEMD_BOOTPROTO=dhcp4 &lt;br /&gt;CONFIG_IPV4=yes #Включает поддержку IPv4 для интерфейса.&lt;br /&gt;DISABLED=no #Yes-когда не используется Etcnet&lt;br /&gt;NM_CONTROLLED=no #Yes-когда используется NetworkManager&lt;br /&gt;SYSTEMD_CONTROLLED=no #Yes-когда используется Systemd-Networkd&lt;br /&gt;ONBOOT=yes #Активирует интерфейс при загрузке системы.&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;u&gt;Для статического &lt;i&gt;IP&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;BOOTPROTO=static #Использует статический IP&lt;br /&gt;TYPE=eth &lt;br /&gt;CONFIG_WIRELESS=no&lt;br /&gt;SYSTEMD_BOOTPROTO=static&lt;br /&gt;CONFIG_IPV4=yes #Включает поддержку IPv4 для интерфейса.&lt;br /&gt;DISABLED=no #Yes-когда не используется Etcnet&lt;br /&gt;NM_CONTROLLED=no #Yes-когда используется NetworkManager&lt;br /&gt;SYSTEMD_CONTROLLED=no #Yes-когда используется Systemd-Networkd&lt;br /&gt;ONBOOT=yes #Активирует интерфейс при загрузке системы.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Создайте рядом файл &quot;&lt;i&gt;ipv4address&lt;/i&gt;&quot; со следующим содержимым:&lt;/u&gt;&lt;br /&gt;&lt;i&gt;192.168.0.5/24 #IP и маска&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Создайте рядом файл &quot;&lt;i&gt;ipv4route&lt;/i&gt;&quot; со следующим содержимым:&lt;/u&gt;&lt;br /&gt;&lt;i&gt;default via 192.168.0.1 #Шлюз по умолчанию&lt;br /&gt;192.168.10.0/24 via 192.168.0.254 #Статические маршруты&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Создайте рядом файл &quot;&lt;i&gt;resolv.conf&lt;/i&gt;&quot; со следующим содержимым:&lt;/u&gt;&lt;br /&gt;&lt;i&gt;nameserver 192.168.0.1 #DNS1&lt;br /&gt;nameserver 8.8.8.8 #DNS2&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;3. Перезапустите интерфейс:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo ifdown ens33 &amp;amp;&amp;amp; sudo ifup ens33&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;или службу:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl restart network&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4. Выполните проверки настроек:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip address show&lt;br /&gt;ip route show&lt;br /&gt;resolvconf -l&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;При необходимости удаления компонентов &quot;&lt;i&gt;Etcnet&lt;/i&gt;&quot; выполните:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get remove etcnet&lt;br /&gt;sudo rm -f /etc/net&lt;br /&gt;sudo rm -f /etc/resolv.conf&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Удалить симлинк&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Настройка сетевой подсистемы&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt; &quot;NetworkManager&quot;.&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. Установите &lt;i&gt;NetworkManager&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get install&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; NetworkManager&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Включите и запустите службу:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl enable --now NetworkManager&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. Сконфигурируйте сетевой интерфейс с помощью терминальной утилиты &quot;&lt;b&gt;&lt;i&gt;nmtui&lt;/i&gt;&lt;/b&gt;&quot; (&quot;&lt;b&gt;&lt;i&gt;sudo apt-get install NetworkManager-tui&lt;/i&gt;&lt;/b&gt;&quot;) или в командной строке утилитой &quot;&lt;b&gt;&lt;i&gt;nmcli&lt;/i&gt;&lt;/b&gt;&quot;:&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Просмотр:&lt;/u&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;nmcli con show&lt;/b&gt;&amp;nbsp;&amp;nbsp; &lt;/i&gt;#Просмотр сетевых подключений&lt;i&gt;&lt;br /&gt;&lt;b&gt;nmcli dev show ens33&lt;/b&gt;&amp;nbsp;&amp;nbsp; &lt;/i&gt;#Просмотр активного соединения на &quot;&lt;u&gt;ens33&lt;/u&gt;&quot;&lt;i&gt;&lt;br /&gt;&lt;b&gt;nmcli con show &#39;Wired connection 1&#39;&amp;nbsp;&lt;/b&gt;&amp;nbsp; &lt;/i&gt;#Просмотр параметров подключения&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Настройки для &lt;i&gt;DHCP&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.method auto&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.addresses &quot;&quot; ipv4.gateway &quot;&quot;&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.dns &quot;&quot;&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.routes &quot;&quot;&lt;br /&gt;nmcli con up &#39;Wired connection 1&#39;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Настройки для статического &lt;i&gt;IP&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.addresses&amp;nbsp;192.168.0.5/24&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.gateway 192.168.0.1&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.dns &quot;192.168.0.1 8.8.8.8&quot;&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; +ipv4.routes &quot;192.168.10.0/24&amp;nbsp;192.168.0.254&quot;&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.method manual&lt;br /&gt;nmcli con up &#39;Wired connection 1&#39;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;4. Выполните проверки настроек:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip address show&lt;br /&gt;ip route show&lt;br /&gt;resolvconf -l&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;При необходимости удаления компонентов &quot;&lt;i&gt;NetworkManager&lt;/i&gt;&quot; выполните:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get remove NetworkManager openresolv&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -rf /etc/NetworkManager/&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&amp;nbsp; #Удалить основные настройки&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -rf /var/lib/NetworkManager/&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Удалить служебные данные&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -f /etc/resolv.conf&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Удалить симлинк&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;Настройка сетевой подсистемы&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt; &quot;systemd-networkd&quot;.&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. Установите службы &quot;&lt;i&gt;&lt;u&gt;systemd-networkd&lt;/u&gt;&lt;/i&gt;&quot; и &quot;&lt;i&gt;&lt;u&gt;systemd-resolved&lt;/u&gt;&lt;/i&gt;&quot;, добавьте их в автозапуск:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get install&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; &lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;b&gt;systemd-networkd&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;sudo systemctl enable --now systemd-networkd&lt;br /&gt;sudo systemctl enable --now systemd-resolved&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;2. Создайте файл конфигурации (расширение &quot;&lt;i&gt;&lt;u&gt;.network&lt;/u&gt;&lt;/i&gt;&quot; обязательно):&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /etc/systemd/network/20-wired.network&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Настройки для &lt;i&gt;DHCP&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Match]&lt;br /&gt;Name=ens33&lt;br /&gt;[Network]&lt;br /&gt;DHCP=ipv4&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Настройки для статического &lt;i&gt;IP&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Match]&lt;br /&gt;Name=ens33&lt;br /&gt;[Network]&lt;br /&gt;Address=192.168.0.5/24&lt;br /&gt;Gateway=192.168.0.1&lt;br /&gt;DNS=192.168.0.1 8.8.8.8&lt;br /&gt;[Route]&lt;br /&gt;Destination=192.168.10.0/24&lt;br /&gt;Gateway=192.168.0.254&lt;br /&gt;Metric=10&amp;nbsp;&amp;nbsp; #Опционально&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;3. Перезапустите службу:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl restart systemd-networkd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4. Выполните проверки настроек:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip address show&lt;br /&gt;ip route show&lt;br /&gt;resolvectl&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;При необходимости удаления компонентов &quot;&lt;i&gt;systemd-networkd&lt;/i&gt;&quot; выполните:&lt;/u&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;sudo systemctl stop systemd-networkd systemd-resolved&lt;br /&gt;sudo apt-get remove systemd-networkd&lt;/b&gt;&lt;br /&gt;&lt;b&gt;sudo rm -rf /etc/systemd/network/*&lt;/b&gt;&lt;/i&gt;&amp;nbsp;&amp;nbsp; #Удалить конфигурации сетевых интерфейсов&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -f /etc/resolv.conf&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&amp;nbsp; #Удалить симлинк&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Общие рекомендации!!!&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;Для простых конфигураций серверов и виртуальных машин используйте &quot;&lt;i&gt;&lt;u&gt;systemd-networkd&lt;/u&gt;&lt;/i&gt;&quot;, &lt;u&gt;все остальные модули рекомендуется в этом случае удалить:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo apt-get remove etcnet &lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;NetworkManager openresolv dhcpcd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -rf /etc/net&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&amp;nbsp; #Удалить настройки &lt;i&gt;Etcnet&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -rf /etc/NetworkManager/&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&amp;nbsp; #Удалить основные настройки &lt;i&gt;NM&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -rf /var/lib/NetworkManager/&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Удалить служебные данные &lt;i&gt;NM&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -f /etc/resolv.conf&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Удалить симлинк&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/7981845334138736596/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/04/alt-linux.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/7981845334138736596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/7981845334138736596'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/04/alt-linux.html' title='ALT Linux: Различные способы настройки сетевых интерфейсов'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-8828345730323173660</id><published>2025-04-07T05:08:00.000-07:00</published><updated>2025-04-07T05:21:17.538-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arch Linux"/><title type='text'>Arch Linux: Изменение локали, русификация консоли</title><content type='html'>&lt;p&gt;Чтобы русифицировать консоль в &lt;i&gt;Arch Linux&lt;/i&gt; для вывода сообщений на русском языке, а также корректного отображения кириллицы, &lt;u&gt;выполните следующие шаги по настройке:&lt;/u&gt;&lt;/p&gt;&lt;p&gt;1. Настройте конфигурацию локали системы:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /etc/locale.gen&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;u&gt;Раскомментируйте: &lt;/u&gt;&quot;&lt;i&gt;ru_RU.UTF-8 UTF-8&lt;/i&gt;&quot;&lt;br /&gt;&lt;br /&gt;2. Сгенерируйте новый список локалей:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo locale-gen&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. Установите локаль по умолчанию:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /etc/locale.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;u&gt;Укажите:&lt;/u&gt;&lt;br /&gt;&lt;i&gt;LANG=ru_RU.UTF-8&lt;br /&gt;LC_CTYPE=ru_RU.UTF-8&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;4. Установите шрифт с поддержкой кириллицы (например &quot;&lt;i&gt;&lt;u&gt;terminus-font&lt;/u&gt;&lt;/i&gt;&quot;):&lt;br /&gt;&lt;i&gt;&lt;b&gt;sudo pacman -S terminus-font&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;5. Для проверки отображения шрифта измените текущий консольный шрифт на новый (например &quot;&lt;i&gt;&lt;u&gt;ter-v22b&lt;/u&gt;&lt;/i&gt;&quot;; обозначения: &lt;i&gt;&lt;u&gt;22&lt;/u&gt;&lt;/i&gt; - размер, &lt;i&gt;&lt;u&gt;b&lt;/u&gt;&lt;/i&gt; - жирный, &lt;i&gt;&lt;u&gt;n&lt;/u&gt;&lt;/i&gt; - нормальный):&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo setfont ter-v22b&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;6. Выведите таблицу символов нового шрифта:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo showconsolefont&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;7. Добавьте шрифт в автозагрузку:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /etc/vconsole.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;u&gt;Укажите:&lt;/u&gt;&lt;br /&gt;&lt;i&gt;FONT=ter-v22b&amp;nbsp;&amp;nbsp; #Шрифт Terminus (кириллица)&lt;br /&gt;KEYMAP=ru&amp;nbsp;&amp;nbsp; #Раскладка клавиатуры: русская&lt;br /&gt;FONT_MAP=8859-5&amp;nbsp;&amp;nbsp; #Использовать кодировку ISO 8859-5&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;8. Обновите &lt;i&gt;initramfs&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo mkinitcpio -P&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;9. Настройте параметры ядра для типа загрузки &quot;&lt;i&gt;&lt;u&gt;systemd-boot&lt;/u&gt;&lt;/i&gt;&quot;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /boot/loader/loader.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;u&gt;Добавьте параметры в конец файла:&lt;/u&gt;&lt;br /&gt;&lt;i&gt;vconsole.font=ter-v22b&lt;br /&gt;vconsole.keymap=ru&lt;/i&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/8828345730323173660/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/04/arch-linux_7.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/8828345730323173660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/8828345730323173660'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/04/arch-linux_7.html' title='Arch Linux: Изменение локали, русификация консоли'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-7526752950622653519</id><published>2025-04-05T08:40:00.000-07:00</published><updated>2025-04-11T01:35:46.479-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arch Linux"/><title type='text'>Arch Linux: Различные варианты настройки сетевого интерфейса</title><content type='html'>&lt;p&gt;Если адаптер находится в статусе &lt;u&gt;&lt;b&gt;DOWN&lt;/b&gt;&lt;/u&gt; и в &lt;i&gt;ОС&lt;/i&gt; отсутствуют пакеты &lt;i&gt;&lt;b&gt;netctl&lt;/b&gt;&lt;/i&gt;, &lt;b&gt;&lt;i&gt;networkmanager&lt;/i&gt;&lt;/b&gt;, &lt;u&gt;временно настроить сеть (до перезагрузки &lt;i&gt;ОС&lt;/i&gt;) можно следующим образом:&lt;/u&gt;&lt;/p&gt;&lt;p&gt;1. Выводим текущие сетевые интерфейсы:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip link show&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Поднимаем интерфейс (в нашем случае &quot;&lt;i&gt;&lt;b&gt;ens33&lt;/b&gt;&lt;/i&gt;&quot;):&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo ip link set dev ens33 up&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. &lt;u&gt;Настройте конфигурацию &lt;i&gt;TCP/IP&lt;/i&gt;&lt;/u&gt;, воспользуйтесь следующими командами по мере необходимости:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip link show&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Просмотр сетевых подключений&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip -s l&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Просмотр статистики по отправленным/полученным пакетам&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip address show&lt;/i&gt;&lt;/b&gt; &amp;nbsp; #Просмотр конфигурации &lt;i&gt;TCP/IP&lt;br /&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;ip link set dev ens33 up&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Включение интерфейса, если он был выключен&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip address flush dev ens33&lt;/i&gt;&lt;/b&gt; &amp;nbsp; #Сброс конфигурации интерфейса&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip addr add 192.168.0.5/24 broadcast + dev ens33&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Установка &lt;i&gt;IP&lt;/i&gt; и маски&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip addr del&amp;nbsp;192.168.0.5/24 dev ens33&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Удаление &lt;i&gt;IP&lt;/i&gt; и маски (в случае ошибки)&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route show&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Просмотр таблицы маршрутизации&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route add default via 192.168.0.1 dev ens33&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Установка шлюза по умолчанию&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route delete default&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Удаление шлюза по умолчанию&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route add 192.168.10.0/24 via 192.168.0.254 dev ens33&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Добавление маршрута&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip route del 192.168.10.0/24 dev ens33&lt;/i&gt;&lt;/b&gt;   #Удаление маршрута&lt;br /&gt;&lt;b&gt;&lt;i&gt;echo &quot;nameserver 192.168.0.1 8.8.8.8&quot; | sudo tee /etc/resolv.conf&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&amp;nbsp; #Добавление &lt;i&gt;DNS&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Конфигурирование интерфейса с помощью &quot;netctl&quot;:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. Установите &quot;&lt;b&gt;&lt;i&gt;netctl&lt;/i&gt;&lt;/b&gt;&quot; и &quot;&lt;b&gt;&lt;i&gt;dhcpcd&lt;/i&gt;&lt;/b&gt;&quot; в случае необходимости использования &lt;i&gt;DHCP&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo pacman -S netctl dhcpcd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Скопируйте профиль для вашего интерфейса из папки с примерами:&lt;br /&gt;&lt;b&gt;&lt;i&gt;cd /etc/netctl&lt;br /&gt;sudo cp examples/ethernet-static my-network&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Для статического &lt;i&gt;IP&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo cp examples/ethernet-dhcp my-network&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Для &lt;i&gt;DHCP&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;3. Отредактируйте файл:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano my-network&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Укажите правильный &lt;u&gt;интерфейс&lt;/u&gt; (в нашем примере - &quot;&lt;b&gt;&lt;i&gt;ens33&lt;/i&gt;&lt;/b&gt;&quot;), а также в случае статического адреса: &lt;u&gt;ip-адрес, маску, шлюз по умолчанию, дополнительные маршруты&lt;/u&gt; если нужно.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;С &lt;i&gt;DNS&lt;/i&gt; могут быть следующие варианты:&lt;/u&gt;&lt;br /&gt;- если используете параметр из файла &quot;&lt;i&gt;&lt;u&gt;my-network&lt;/u&gt;&lt;/i&gt;&quot;, то вам необходимо будет запустить службу &quot;&lt;i&gt;systemd-resolved&lt;/i&gt;&quot;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl enable --now systemd-resolved&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;- если будете использовать &quot;&lt;i&gt;/etc/resolv.conf&lt;/i&gt;&quot; с параметром &quot;&lt;i&gt;nameserver&lt;/i&gt;&quot;, то оставьте параметр &quot;&lt;i&gt;DNS&lt;/i&gt;&quot; закомментированным, в этом случае можно полностью отключить службы:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl mask systemd-resolved&lt;br /&gt;sudo systemctl mask systemd-networkd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4. Запустите наш профиль и включите автозагрузку:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo netctl start my-network&lt;br /&gt;sudo netctl enable my-network&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Конфигурирование интерфейса с помощью &quot;NetworkManager&quot;:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. Установите &lt;i&gt;NetworkManager&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo pacman -S networkmanager&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Включите и запустите службу:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl enable --now NetworkManager&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. Сконфигурируйте сетевой интерфейс с помощью терминальной утилиты &quot;&lt;b&gt;&lt;i&gt;nmtui&lt;/i&gt;&lt;/b&gt;&quot; или в командной строке утилитой &quot;&lt;b&gt;&lt;i&gt;nmcli&lt;/i&gt;&lt;/b&gt;&quot;:&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Просмотр:&lt;/u&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;nmcli con show&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Просмотр сетевых подключений&lt;br /&gt;&lt;b&gt;nmcli dev show ens33&lt;/b&gt;&amp;nbsp;&amp;nbsp; #Просмотр активного соединения на &quot;&lt;u&gt;ens33&lt;/u&gt;&quot;&lt;br /&gt;&lt;b&gt;nmcli con show &#39;Wired connection 1&#39;&amp;nbsp;&lt;/b&gt;&amp;nbsp; #Просмотр параметров подключения&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Настройки для &lt;i&gt;DHCP&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.method auto&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.addresses &quot;&quot; ipv4.gateway &quot;&quot;&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.dns &quot;&quot;&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.routes &quot;&quot;&lt;br /&gt;nmcli con up &#39;Wired connection 1&#39;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Настройки для статического &lt;i&gt;IP&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.addresses&amp;nbsp;192.168.0.5/24&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.gateway 192.168.0.1&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.dns &quot;192.168.0.1 8.8.8.8&quot;&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; +ipv4.routes &quot;192.168.10.0/24&amp;nbsp;192.168.0.254&quot;&lt;br /&gt;nmcli con mod &#39;Wired connection 1&#39; ipv4.method manual&lt;br /&gt;nmcli con up &#39;Wired connection 1&#39;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;По работе с &lt;i&gt;DNS&lt;/i&gt; ситуация такая же, как и в способе с &quot;&lt;i&gt;&lt;u&gt;netctl&lt;/u&gt;&lt;/i&gt;&quot;.&lt;br /&gt;Если 
запущена служба &quot;&lt;i&gt;&lt;u&gt;systemd-resolved&lt;/u&gt;&lt;/i&gt;&quot;, то разрешение имен будет работать.&lt;br /&gt;Если нет - используйте файл &quot;&lt;i&gt;&lt;u&gt;/etc/resolv.conf&lt;/u&gt;&lt;/i&gt;&quot;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;echo &quot;nameserver 192.168.0.1 8.8.8.8&quot; | sudo tee /etc/resolv.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;В случае ошибки предварительно удалите файл и повторите:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -f /etc/resolv.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Конфигурирование интерфейса с помощью &quot;systemd-networkd&quot;:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. Убедитесь что службы &quot;&lt;i&gt;&lt;u&gt;systemd-networkd&lt;/u&gt;&lt;/i&gt;&quot; и &quot;&lt;i&gt;&lt;u&gt;systemd-resolved&lt;/u&gt;&lt;/i&gt;&quot; работают и находятся в автозапуске:&lt;br /&gt;&lt;i&gt;&lt;b&gt;sudo systemctl enable --now systemd-networkd&lt;br /&gt;sudo systemctl enable --now systemd-resolved&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;2. Создайте файл конфигурации (расширение &quot;&lt;i&gt;&lt;u&gt;.network&lt;/u&gt;&lt;/i&gt;&quot; обязательно):&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /etc/systemd/network/20-wired.network&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Настройки для &lt;i&gt;DHCP&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Match]&lt;br /&gt;Name=ens33&lt;br /&gt;[Network]&lt;br /&gt;DHCP=ipv4&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Настройки для статического &lt;i&gt;IP&lt;/i&gt;:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Match]&lt;br /&gt;Name=ens33&lt;br /&gt;[Network]&lt;br /&gt;Address=192.168.0.5/24&lt;br /&gt;Gateway=192.168.0.1&lt;br /&gt;DNS=192.168.0.1 8.8.8.8&lt;br /&gt;[Route]&lt;br /&gt;Destination=192.168.10.0/24&lt;br /&gt;Gateway=192.168.0.254&lt;br /&gt;Metric=10&amp;nbsp;&amp;nbsp; #Опционально&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;3. Перезапустите службу:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl restart systemd-networkd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;По работе с &lt;i&gt;DNS&lt;/i&gt; ситуация такая же, как и в способе с &quot;&lt;i&gt;&lt;u&gt;netctl&lt;/u&gt;&lt;/i&gt;&quot;.&lt;br /&gt;Если 
запущена служба &quot;&lt;i&gt;&lt;u&gt;systemd-resolved&lt;/u&gt;&lt;/i&gt;&quot;, то разрешение имен будет работать.&lt;br /&gt;Если нет - используйте файл &quot;&lt;i&gt;&lt;u&gt;/etc/resolv.conf&lt;/u&gt;&lt;/i&gt;&quot;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;echo &quot;nameserver 192.168.0.1 8.8.8.8&quot; | sudo tee /etc/resolv.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;В случае ошибки предварительно удалите файл и повторите:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo rm -f /etc/resolv.conf&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Общие советы:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;1. Не используйте одновременно несколько менеджеров сетей (выберите один).&lt;br /&gt;2. Для просмотра параметров пользуйтесь командами:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ip link show&lt;br /&gt;ip address show&lt;br /&gt;ip route show&lt;br /&gt;resolvectl status&lt;/i&gt;&lt;/b&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/7526752950622653519/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/04/arch-linux.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/7526752950622653519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/7526752950622653519'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/04/arch-linux.html' title='Arch Linux: Различные варианты настройки сетевого интерфейса'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-5091198378518677622</id><published>2025-04-01T23:30:00.000-07:00</published><updated>2025-04-01T23:31:02.623-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arch Linux"/><title type='text'>Arch Linux: Установка системы с помощью &quot;archinstall&quot; из локального зеркала репозитория</title><content type='html'>Для новой установки &lt;i&gt;ОС&lt;/i&gt; из собственного зеркала репозитория &lt;i&gt;Arch Linux&lt;/i&gt; при помощи скрипта &quot;&lt;u&gt;&lt;i&gt;archinstall&lt;/i&gt;&lt;/u&gt;&quot; необходимо &lt;u&gt;выполнить следующие подготовительные действия:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. После запуска &lt;i&gt;ОС&lt;/i&gt; из &lt;i&gt;ISO&lt;/i&gt;-образа замените &lt;i&gt;&lt;u&gt;mirrorlist&lt;/u&gt;&lt;/i&gt;, внесите туда единственную запись вашего зеркала:&lt;br /&gt;&lt;b&gt;&lt;i&gt;echo &#39;Server = http://your_mirror_server/$repo/os/$arch&#39; &amp;gt; /etc/pacman.d/mirrorlist&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Затем выполните принудительное обновление базы данных &quot;&lt;i&gt;&lt;u&gt;pacman&lt;/u&gt;&lt;/i&gt;&quot;, игнорируя локальный кэш:&lt;br /&gt;&lt;b&gt;&lt;i&gt;pacman -Syy&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. Отключите службу, запускающую утилиту для обновления списка зеркал для пакетного менеджера &quot;&lt;i&gt;&lt;u&gt;pacman&lt;/u&gt;&lt;/i&gt;&quot;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;systemctl mask reflector.service&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4. Запустите скрипт установки с параметрами работы в офлайн и отключением проверки версии:&lt;br /&gt;&lt;b&gt;&lt;i&gt;archinstall --offline --skip-version-check&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;5. Выполните в меню скрипта &quot;&lt;i&gt;&lt;u&gt;archinstall&lt;/u&gt;&lt;/i&gt;&quot; нужные настройки для установки &lt;i&gt;ОС&lt;/i&gt;, за исключением пункта &quot;&lt;b&gt;Mirrors&lt;/b&gt;&quot; - &lt;u&gt;его трогать нельзя!&lt;br /&gt;&lt;br /&gt;&lt;/u&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/5091198378518677622/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/04/arch-linux-archinstall.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/5091198378518677622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/5091198378518677622'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/04/arch-linux-archinstall.html' title='Arch Linux: Установка системы с помощью &quot;archinstall&quot; из локального зеркала репозитория'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-6824675907708563341</id><published>2025-03-31T07:52:00.000-07:00</published><updated>2025-04-01T10:30:54.116-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arch Linux"/><title type='text'>Arch Linux: Быстрая установка при помощи скрипта &quot;archinstall&quot;</title><content type='html'>&lt;div&gt;Загрузите компьютер с помощью &lt;i&gt;ISO&lt;/i&gt;-образа &lt;i&gt;Arch Linux&lt;/i&gt;. Когда появится командная строка, запустите установочный скрипт &quot;&lt;i&gt;&lt;b&gt;archinstall&lt;/b&gt;&lt;/i&gt;&quot;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjq9HtKI9rNEsSzZZn36Y3PXkGCQuQojGxAUyqY9srpDeOqkM5508-03aInvTSmoi19YerF0pz7H9wOCcsHmATho2xTMcPiO-QkdWaBuL608NMK9dFYlpghF5-seG52FnJ6JgTCg6cnMHOy0C46uLhaS0B49H_hNeEFhE3cKLowq8SosFUdzrh_Sn1874/s1278/1.png&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjq9HtKI9rNEsSzZZn36Y3PXkGCQuQojGxAUyqY9srpDeOqkM5508-03aInvTSmoi19YerF0pz7H9wOCcsHmATho2xTMcPiO-QkdWaBuL608NMK9dFYlpghF5-seG52FnJ6JgTCg6cnMHOy0C46uLhaS0B49H_hNeEFhE3cKLowq8SosFUdzrh_Sn1874/s320/1.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;После некоторых проверок вы попадёте в меню установщика. &lt;u&gt;Тут сконфигурируйте следующие настройки:&lt;br /&gt;&lt;/u&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYc9owmTsLlbAMyZ4HZknb14XZG8VG0Rl74Nlvt_YQTMANItwCUHJOGD4sliGG7mx3bEEkURPzDLFUbWOhcRNqaQbg0byzYXMVhykc1Nj7OKGrTcqvueyda0a-qCPhqGcc4TDN96xVsGguMwgSylGuUd-y19rvMWtbX2vSJc8uNld_Vu35p_xJnO_EJnY/s1278/2.png&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYc9owmTsLlbAMyZ4HZknb14XZG8VG0Rl74Nlvt_YQTMANItwCUHJOGD4sliGG7mx3bEEkURPzDLFUbWOhcRNqaQbg0byzYXMVhykc1Nj7OKGrTcqvueyda0a-qCPhqGcc4TDN96xVsGguMwgSylGuUd-y19rvMWtbX2vSJc8uNld_Vu35p_xJnO_EJnY/s320/2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Archinstall language&lt;/u&gt;&lt;/i&gt; - выберите язык установки, лучше оставить по умолчанию, иначе могут быть проблемы с отображением кодировки в меню.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Locales&lt;/u&gt;&lt;/i&gt; - укажите раскладку клавиатуры, язык и кодировку.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhseR6_eiYkMm9dNSBO27doZtvE-6mBA21F80fpDu9WA3Q_g6y_tcdFKIHizvYn3164SD__XcYe6oRG4nvsiPCNDxY3h-oe3Mwj5FZxcjz9drqPmnMHFO3wISZgLoq_-JntYixhNphGSqo-YkYpFO7FY8AnU4_iUX0_tmPxgBoaL0UFCAOAqDR3sBN2XIw/s1277/3.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;797&quot; data-original-width=&quot;1277&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhseR6_eiYkMm9dNSBO27doZtvE-6mBA21F80fpDu9WA3Q_g6y_tcdFKIHizvYn3164SD__XcYe6oRG4nvsiPCNDxY3h-oe3Mwj5FZxcjz9drqPmnMHFO3wISZgLoq_-JntYixhNphGSqo-YkYpFO7FY8AnU4_iUX0_tmPxgBoaL0UFCAOAqDR3sBN2XIw/s320/3.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Mirrors&lt;/u&gt;&lt;/i&gt; - выберите свой регион, в котором будет находится зеркало репозитория &lt;i&gt;Arch Linux&lt;/i&gt;. Также можно указать свой адрес сервера установки.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC83jmx7-w_eVp_kdVbg3FfOQ4o2xl9pKNIxuRdB2y0z0PG-mQ2JyO5UJLM_MnkOfpE__lOWyo23II0MyeSJbgjmJMngYwMiNu-9QpzCb8-n0KQJN0tPK3TI7mt6CayYeXqJS3LPdTPTMxzp88srLM9U6zKPApmRmRMxT6nT3f-nokfgYlDZepP3osBWo/s1276/4.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;796&quot; data-original-width=&quot;1276&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC83jmx7-w_eVp_kdVbg3FfOQ4o2xl9pKNIxuRdB2y0z0PG-mQ2JyO5UJLM_MnkOfpE__lOWyo23II0MyeSJbgjmJMngYwMiNu-9QpzCb8-n0KQJN0tPK3TI7mt6CayYeXqJS3LPdTPTMxzp88srLM9U6zKPApmRmRMxT6nT3f-nokfgYlDZepP3osBWo/s320/4.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Disk configuration&lt;/u&gt;&lt;/i&gt; - конфигурирование диска и разделов для установки &lt;i&gt;ОС&lt;/i&gt;. Можно выполнить в ручном или автоматическом режиме.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcePP0J_kFQzaruYotHEKpIWg8A2ZQx1f_BdRNjWqZweLwxzQTsNnueibm72PhLNzvZNbyR8Pz5a0fgVCtj8nZoi8CG29Mg86kxSXb6dJt0F0_bfHaG9tz1lmI_9PaikXKDZvWiZBEavZo36gklBC7GUC6rjuCYu4Rz1gBv_ZeNZG6O5O0zR1DJ9bjMN4/s1276/5.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;797&quot; data-original-width=&quot;1276&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcePP0J_kFQzaruYotHEKpIWg8A2ZQx1f_BdRNjWqZweLwxzQTsNnueibm72PhLNzvZNbyR8Pz5a0fgVCtj8nZoi8CG29Mg86kxSXb6dJt0F0_bfHaG9tz1lmI_9PaikXKDZvWiZBEavZo36gklBC7GUC6rjuCYu4Rz1gBv_ZeNZG6O5O0zR1DJ9bjMN4/s320/5.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Disk encryption&lt;/u&gt;&lt;/i&gt; - при необходимости можно зашифровать ваш диск.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTnJAwSnJ8JDbBNrB3_Mm210-8Hze8nEaOx0CDZOpJ7OCaIWSsFpuc09LtTs7iBr1fXJ4IkjnA68wPfNbFiX1eJalz4z58DbG5utf4C1o1jiaWwU7JGYWC3caG7Ao9nTMo2BojnMpZBBKwnQ9c-KuOJmx3zs9hMRM5LBbL5nKuzcnuFo9BlieUDIBNkos/s1274/6.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;797&quot; data-original-width=&quot;1274&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTnJAwSnJ8JDbBNrB3_Mm210-8Hze8nEaOx0CDZOpJ7OCaIWSsFpuc09LtTs7iBr1fXJ4IkjnA68wPfNbFiX1eJalz4z58DbG5utf4C1o1jiaWwU7JGYWC3caG7Ao9nTMo2BojnMpZBBKwnQ9c-KuOJmx3zs9hMRM5LBbL5nKuzcnuFo9BlieUDIBNkos/s320/6.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Swap&lt;/u&gt;&lt;/i&gt; - настройте использовать &quot;&lt;i&gt;Swap on zram&lt;/i&gt;&quot; для уменьшения нагрузки на ваш &lt;i&gt;HDD&lt;/i&gt; или &lt;i&gt;SSD&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtGuNmQXZ3fMwmzM1lGkXneJrmhZHg1ykHXS3vPmsHsdp4y8qgSbwiE-PATur2hFYQ180K-Q9sfb9cLHp7MFrnE7LGhKC7K36fJoEpZiDo35gqvxFpGiZfYl6xLdHxRfaDNkpLHWsHIDNYZeJRNi2YVZnEaS2fgwS5AJiwEwzXyXGTSTrD2mcfvPmnZV4/s1274/7.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;796&quot; data-original-width=&quot;1274&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtGuNmQXZ3fMwmzM1lGkXneJrmhZHg1ykHXS3vPmsHsdp4y8qgSbwiE-PATur2hFYQ180K-Q9sfb9cLHp7MFrnE7LGhKC7K36fJoEpZiDo35gqvxFpGiZfYl6xLdHxRfaDNkpLHWsHIDNYZeJRNi2YVZnEaS2fgwS5AJiwEwzXyXGTSTrD2mcfvPmnZV4/s320/7.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Bootloader&lt;/u&gt;&lt;/i&gt; - выберите какой загрузчик использовать. Рекомендуется оставить по умолчанию &lt;i&gt;Systemd-boot&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ-K3leeNJy_WLH5585xbvxpLM2hyCcQ8rATIgdHaCZC8Kafy4rTKY14086fOSvJyXFm_upjqbCyC6HFtuXYlJ5cypAwdV069KUWNO0jX8nFmWwHZMeuGUWdb08eh8qnTT0P9xhWZOcXUONBjsX_oMxO44RvNmnadWhqs8H71ylZwH7NXmLFgY6edmii8/s1276/8.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;796&quot; data-original-width=&quot;1276&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ-K3leeNJy_WLH5585xbvxpLM2hyCcQ8rATIgdHaCZC8Kafy4rTKY14086fOSvJyXFm_upjqbCyC6HFtuXYlJ5cypAwdV069KUWNO0jX8nFmWwHZMeuGUWdb08eh8qnTT0P9xhWZOcXUONBjsX_oMxO44RvNmnadWhqs8H71ylZwH7NXmLFgY6edmii8/s320/8.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Unified kernel images&lt;/u&gt;&lt;/i&gt; - включение или отключение &lt;i&gt;UKI&lt;/i&gt; (объединение ядра системы в один файл). Рекомендуется включать для современных систем, использование &lt;i&gt;systemd-boot&lt;/i&gt; и &lt;i&gt;Secure Boot&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXUVzMSZ34uxMcd-QgAojm0k_A3t5nlaYuUChp8jIREWyri8yKr1FgMWfqP34EF8I6K9Kqc0YeoaNh6WWQQCnwF1hpwPUpH-MlsXFt8bNjH7VsuUi66IrRiXXuMK7IIQF-GaFuhPUjFQ_o7-dZL5YIFK2PM2Trej6a8EJ2-OiVOpVZTLXkOneUiptG-RQ/s1276/9.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;794&quot; data-original-width=&quot;1276&quot; height=&quot;199&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXUVzMSZ34uxMcd-QgAojm0k_A3t5nlaYuUChp8jIREWyri8yKr1FgMWfqP34EF8I6K9Kqc0YeoaNh6WWQQCnwF1hpwPUpH-MlsXFt8bNjH7VsuUi66IrRiXXuMK7IIQF-GaFuhPUjFQ_o7-dZL5YIFK2PM2Trej6a8EJ2-OiVOpVZTLXkOneUiptG-RQ/s320/9.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Hostname&lt;/u&gt;&lt;/i&gt; - введите имя хоста.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4tqQuezCJ0fAqqF3ytUCjmr0QKE03ZOr_jKd22u5H2cKf5RinZ3-zl39S553pdU4LHHslT4WZl3OYcdsNnvaXalGDP37PSJdcn5DwAuYYxWZ7RU78g7g2Sy6EOpTNLsBnvGGHC6Pzrc0IveO95LawXgPKG5W-DSF_HXyZg_YF-ysGMOpqC6DOjns6uZg/s1274/10.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;797&quot; data-original-width=&quot;1274&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4tqQuezCJ0fAqqF3ytUCjmr0QKE03ZOr_jKd22u5H2cKf5RinZ3-zl39S553pdU4LHHslT4WZl3OYcdsNnvaXalGDP37PSJdcn5DwAuYYxWZ7RU78g7g2Sy6EOpTNLsBnvGGHC6Pzrc0IveO95LawXgPKG5W-DSF_HXyZg_YF-ysGMOpqC6DOjns6uZg/s320/10.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Root password&lt;/u&gt;&lt;/i&gt; - введите пароль для пользователя &quot;&lt;i&gt;root&lt;/i&gt;&quot;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUQcEvM9n3uoKerjHI9fLRwN9VxbkH0ZL1B07ezPte0x_exQc_Ei1MQV5GWCjwQPXAHYsEZ7e0JdFLWhDGUqRimQMG9VPbPcNfsSerVx7mdlgjeAJzKudjS55tuisvCR0WTWx6wMEl0Ft1lw6PHVnRODrZ41JLOcN1K7cEY9DlnfKU2k9JReNP6dlQX-k/s1277/11.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;797&quot; data-original-width=&quot;1277&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUQcEvM9n3uoKerjHI9fLRwN9VxbkH0ZL1B07ezPte0x_exQc_Ei1MQV5GWCjwQPXAHYsEZ7e0JdFLWhDGUqRimQMG9VPbPcNfsSerVx7mdlgjeAJzKudjS55tuisvCR0WTWx6wMEl0Ft1lw6PHVnRODrZ41JLOcN1K7cEY9DlnfKU2k9JReNP6dlQX-k/s320/11.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;User account&lt;/u&gt;&lt;/i&gt; - добавьте при необходимости дополнительные аккаунты пользователей.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFNkAT5kfbmIAb7HM6fmUn8fPahl8HlDktlmWI5cecn01_11wJNojYqKWOogIKIwRsLhN95cs_Omn82R77tLaCP7Sa5IWGZMdPGv2CGMofHOP19uPNFvXOE9AQOc7-tULnz-IoLxYHqT9dCXJAaUYDLWSmD0_C9ddVoN1gt72acYcanbBEUtul_QGztZE/s1274/12.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;797&quot; data-original-width=&quot;1274&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFNkAT5kfbmIAb7HM6fmUn8fPahl8HlDktlmWI5cecn01_11wJNojYqKWOogIKIwRsLhN95cs_Omn82R77tLaCP7Sa5IWGZMdPGv2CGMofHOP19uPNFvXOE9AQOc7-tULnz-IoLxYHqT9dCXJAaUYDLWSmD0_C9ddVoN1gt72acYcanbBEUtul_QGztZE/s320/12.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Profile&lt;/u&gt;&lt;/i&gt; - выберите конфигурацию вашей &lt;i&gt;ОС&lt;/i&gt;, от этого будет зависеть количество и тип установленных дополнительных пакетов и утилит.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwHgIzTiZzuy2NspfpFtDYfETZjCgY8p7aSDMtYEO__Zs0Uiv1X_07Kdhyzr9TITspbUrVTQIJAgwCvSNumP6-6Kfy6r81aBNzkWqdRaF7ebml-rNPhGXwsVqCMTC8h2GNiJhU9AmpxwChtWCx8ijkVawe6S0IS6fuqW-jQiPVMU2YGwUV-81ih8lhnTE/s1278/13.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;796&quot; data-original-width=&quot;1278&quot; height=&quot;199&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwHgIzTiZzuy2NspfpFtDYfETZjCgY8p7aSDMtYEO__Zs0Uiv1X_07Kdhyzr9TITspbUrVTQIJAgwCvSNumP6-6Kfy6r81aBNzkWqdRaF7ebml-rNPhGXwsVqCMTC8h2GNiJhU9AmpxwChtWCx8ijkVawe6S0IS6fuqW-jQiPVMU2YGwUV-81ih8lhnTE/s320/13.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Audio&lt;/u&gt;&lt;/i&gt; - выберите пакеты для использования вашей звуковой платой.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcuGUv4MgZ6i14eQAnVpkjsqJruBQD7j3Mj_pguBZh09mlPbU9d-aCt1HhO0Q7pK2c1SWXis90jLU5VqsynRPgNOXD3cz5IfhMPeWyFtnFY9eGxVo_qg_274oBJrsLkSdGPUuZ1CDw95btpx6sNkd_wWg1JTJqCTZ9ZNxk9FBEZHCG9OtkfgCbx113Oeo/s1276/14.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;794&quot; data-original-width=&quot;1276&quot; height=&quot;199&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcuGUv4MgZ6i14eQAnVpkjsqJruBQD7j3Mj_pguBZh09mlPbU9d-aCt1HhO0Q7pK2c1SWXis90jLU5VqsynRPgNOXD3cz5IfhMPeWyFtnFY9eGxVo_qg_274oBJrsLkSdGPUuZ1CDw95btpx6sNkd_wWg1JTJqCTZ9ZNxk9FBEZHCG9OtkfgCbx113Oeo/s320/14.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Kernels&lt;/u&gt;&lt;/i&gt; - выберите тип ядра &lt;i&gt;Linux&lt;/i&gt; (&lt;i&gt;linux&lt;/i&gt; - обычное ядро по умолчанию, &lt;i&gt;linux-hardened&lt;/i&gt; - усиленная безопасность, &lt;i&gt;linux-lts&lt;/i&gt; - серверный вариант с использованием старых оттестированных ядер, &lt;i&gt;linux-zen&lt;/i&gt; - ядра с уменьшенным временем отклика, оптимизированной производительностью, но меньшей стабильностью).&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGapqRD6Hro-A1HAltafepUwARDnhRH1yRQ0Z035uj_HOHPHv9OJT6xRVZ5k0AHJJ8NmfHmT_MsNngssPdKQdW9_iI9ypFIbSlw96FaYUOGr4A7ViSA74Tnlg7G5uEqBASvHAvL5zwrbHA1IfAr-v3-xS2be8mpAzsHFsFfXBUe1h0HzlpI33hdrIxvxM/s1277/15.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;797&quot; data-original-width=&quot;1277&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGapqRD6Hro-A1HAltafepUwARDnhRH1yRQ0Z035uj_HOHPHv9OJT6xRVZ5k0AHJJ8NmfHmT_MsNngssPdKQdW9_iI9ypFIbSlw96FaYUOGr4A7ViSA74Tnlg7G5uEqBASvHAvL5zwrbHA1IfAr-v3-xS2be8mpAzsHFsFfXBUe1h0HzlpI33hdrIxvxM/s320/15.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Network configuration&lt;/u&gt;&lt;/i&gt; - настройте сетевой адаптер на устанавливаемой системе, можно просто скопировать параметры с текущей &lt;i&gt;ОС&lt;/i&gt;, загруженной с &lt;i&gt;ISO&lt;/i&gt;-образа.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSWNfyWjYrGS4ihECLKr357yql80xvuEZFaMSULAZYdbYoeJKavboaZYELo0povvzmaHV6ncy-BG_hUgef64EnpB-_0wceat1RdgbNhCdDwZqofA3F_RU-H0DXEeUjZbwQILHT0Rg2EgT8p55RaOIDLDbW7bfgaBpFx3pMhSzNGrBx79G4h431YBOh6Mg/s1275/16.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;795&quot; data-original-width=&quot;1275&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSWNfyWjYrGS4ihECLKr357yql80xvuEZFaMSULAZYdbYoeJKavboaZYELo0povvzmaHV6ncy-BG_hUgef64EnpB-_0wceat1RdgbNhCdDwZqofA3F_RU-H0DXEeUjZbwQILHT0Rg2EgT8p55RaOIDLDbW7bfgaBpFx3pMhSzNGrBx79G4h431YBOh6Mg/s320/16.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Additional packages&lt;/u&gt;&lt;/i&gt; - допишите при необходимости дополнительные пакеты, которые будут установлены вместе с &lt;i&gt;ОС&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvcGYTWRnGBklu1Tco4DLbZZQJgJWuxhpovUXJhztrxXD9Ahs71tAM3RHcUiwZizPYxkrWXapr0RB_Pj_AfPx2FjV0jkTVKU5bSu2kTOjFBAHH4zM3myC2E45l9rBhW59q3i-nG2r3ukrHMVBQKBDCNaGHDQuQiPfb9Jyt8jNjgD_vk-tEUFXWvJONaH0/s1274/17.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;795&quot; data-original-width=&quot;1274&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvcGYTWRnGBklu1Tco4DLbZZQJgJWuxhpovUXJhztrxXD9Ahs71tAM3RHcUiwZizPYxkrWXapr0RB_Pj_AfPx2FjV0jkTVKU5bSu2kTOjFBAHH4zM3myC2E45l9rBhW59q3i-nG2r3ukrHMVBQKBDCNaGHDQuQiPfb9Jyt8jNjgD_vk-tEUFXWvJONaH0/s320/17.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Optional repositories&lt;/u&gt;&lt;/i&gt; - подключите, если нужно, официальные дополнительные репозитории, расширяющие доступный набор пакетов (&lt;i&gt;multilib&lt;/i&gt; - рекомендуется включать, &lt;i&gt;testing&lt;/i&gt; - не рекомендуется).&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Timezone&lt;/u&gt;&lt;/i&gt; - установите часовой пояс.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkY3DB_0j9cgFTIOIJ04fKkUPGhx_OkPNzRla1gLgJw3StfV4ruFoE77pJV539q2S_Q4Lkczk0iXpZ01to68uEYrSGmsGkiTx3wJFJFDF-etUxsx4bHVamHZC7P0YIrP7BPCOzW-ciQqEPSsLnszspviji5AL8pfd5ufz3pxfBk2r5eqlMiqjBhyphenhyphenP7oy4/s1277/18.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;796&quot; data-original-width=&quot;1277&quot; height=&quot;199&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkY3DB_0j9cgFTIOIJ04fKkUPGhx_OkPNzRla1gLgJw3StfV4ruFoE77pJV539q2S_Q4Lkczk0iXpZ01to68uEYrSGmsGkiTx3wJFJFDF-etUxsx4bHVamHZC7P0YIrP7BPCOzW-ciQqEPSsLnszspviji5AL8pfd5ufz3pxfBk2r5eqlMiqjBhyphenhyphenP7oy4/s320/18.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;i&gt;&lt;u&gt;Automatic time sync (NTP)&lt;/u&gt;&lt;/i&gt; - включите (рекомендуется) или выключите автоматическую синхронизацию времени через интернет.&lt;br /&gt;&lt;br /&gt;Далее можно начать установку нажав &quot;&lt;i&gt;&lt;u&gt;Install&lt;/u&gt;&lt;/i&gt;&quot; или прервать процесс командой &quot;&lt;i&gt;&lt;u&gt;Abort&lt;/u&gt;&lt;/i&gt;&quot;. Также можно сохранить полученный в результате сделанных настроек файл конфигурации - &quot;&lt;i&gt;&lt;u&gt;Save configuration&lt;/u&gt;&lt;/i&gt;&quot;.&lt;br /&gt;Затем установщик предложит ещё раз пересмотреть конфигурацию. Инсталляция начнется после вашего подтверждения.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2XmLGFbQpwmtJzAh0sPH94uvDmuztAp2xfIFoFGUg_A0eyTFi99ueN0BHo-1dMblAy5KndzUjnORplWyBUzSmVNXE21oUoigdOEmqytajfn2bI3nmq5KJhH3rzuYAIQ2M7JG-vC2loY4kebxE9g_5pDJ1_xm8rPP7BLmsNVoVK9e3UfyvOY-2JZ2QwHo/s1277/19.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;797&quot; data-original-width=&quot;1277&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2XmLGFbQpwmtJzAh0sPH94uvDmuztAp2xfIFoFGUg_A0eyTFi99ueN0BHo-1dMblAy5KndzUjnORplWyBUzSmVNXE21oUoigdOEmqytajfn2bI3nmq5KJhH3rzuYAIQ2M7JG-vC2loY4kebxE9g_5pDJ1_xm8rPP7BLmsNVoVK9e3UfyvOY-2JZ2QwHo/s320/19.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioolnxpYlH4HeSgItfPZIEmkr0tqdmbJ7rBgsnTET2AN1gDEyNBM6x68P0wn65pTW_1opIqcNxg4JCwuvFEXI_9eE37VMi5yl6VbWlE35rigWaAaOPoHdD9vv6UvuEjZRin4oQIZDYuHyVfxVK-Ru6ehkTDMuudYV3AReHhC8T6d__vZ70KBjUAE4Ondk/s1274/20.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;794&quot; data-original-width=&quot;1274&quot; height=&quot;199&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioolnxpYlH4HeSgItfPZIEmkr0tqdmbJ7rBgsnTET2AN1gDEyNBM6x68P0wn65pTW_1opIqcNxg4JCwuvFEXI_9eE37VMi5yl6VbWlE35rigWaAaOPoHdD9vv6UvuEjZRin4oQIZDYuHyVfxVK-Ru6ehkTDMuudYV3AReHhC8T6d__vZ70KBjUAE4Ondk/s320/20.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Когда процесс будет завершен, вам будет предложено выполнить в свежеустановленной системе дополнительные настройки до перезагрузки. Далее введите &quot;&lt;i&gt;&lt;b&gt;reboot&lt;/b&gt;&lt;/i&gt;&quot; для перезагрузки системы и извлеките &lt;i&gt;ISO&lt;/i&gt;-образ.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaQEVBphkw_UoGIPgvpbv-9babtZlHL-0zfzKZ9wFAiOmuJU79vQ_RsNnJk6v_RW36r6veXFDGXdvFEjjTlrxUYhxD8wZwzy9yTq8FslrkLZ44q_ebvCx8ZiGTyFBap7rgLc68tqfVAj7edsOfhCuHZDL6tOwkc7i9dR3WdCFYRdVpu7nSlVnw4LYQJWw/s1276/21.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;791&quot; data-original-width=&quot;1276&quot; height=&quot;198&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaQEVBphkw_UoGIPgvpbv-9babtZlHL-0zfzKZ9wFAiOmuJU79vQ_RsNnJk6v_RW36r6veXFDGXdvFEjjTlrxUYhxD8wZwzy9yTq8FslrkLZ44q_ebvCx8ZiGTyFBap7rgLc68tqfVAj7edsOfhCuHZDL6tOwkc7i9dR3WdCFYRdVpu7nSlVnw4LYQJWw/s320/21.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/6824675907708563341/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/03/arch-linux-archinstall.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/6824675907708563341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/6824675907708563341'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/03/arch-linux-archinstall.html' title='Arch Linux: Быстрая установка при помощи скрипта &quot;archinstall&quot;'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjq9HtKI9rNEsSzZZn36Y3PXkGCQuQojGxAUyqY9srpDeOqkM5508-03aInvTSmoi19YerF0pz7H9wOCcsHmATho2xTMcPiO-QkdWaBuL608NMK9dFYlpghF5-seG52FnJ6JgTCg6cnMHOy0C46uLhaS0B49H_hNeEFhE3cKLowq8SosFUdzrh_Sn1874/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-416697832473342738</id><published>2025-03-26T05:29:00.000-07:00</published><updated>2025-03-26T05:29:59.916-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arch Linux"/><title type='text'>Arch Linux: Установка Home Assistant в виртуальном окружении Python</title><content type='html'>&lt;p&gt;&lt;u&gt;&lt;b&gt;Для установки &lt;i&gt;Home Assistant&lt;/i&gt; проделайте следующие шаги:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Обновите систему и зависимости:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo pacman -Syu&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;2. Установите зависимости и компоненты:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo pacman -S python python-pip python-virtualenv base-devel libffi openssl&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. Установите пакет &lt;i&gt;FFmpeg&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo pacman -S ffmpeg&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;​&lt;br /&gt; При установке будет выбор между двумя вариантами: &quot;&lt;i&gt;jack2&lt;/i&gt;&quot; и &quot;&lt;i&gt;pipewire-jack&lt;/i&gt;&quot;, в большинстве случаев рекомендовано - &quot;&lt;i&gt;&lt;u&gt;pipewire-jack&lt;/u&gt;&lt;/i&gt;&quot;. После установки проверьте версию коммандой &quot;&lt;b&gt;&lt;i&gt;ffmpeg -version&lt;/i&gt;&lt;/b&gt;&quot;.&lt;br /&gt;​&lt;br /&gt;4. Создайте пользователя и каталоги:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo useradd -rm homeassistant -d /srv/homeassistant -s /bin/bash&lt;br /&gt;sudo mkdir -p /srv/homeassistant&lt;br /&gt;sudo chown -R homeassistant:homeassistant /srv/homeassistant&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;5. Настройте виртуальное окружение:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo su - homeassistant &lt;/i&gt;&lt;/b&gt;# Переключение на пользователя&lt;br /&gt;&lt;b&gt;&lt;i&gt;cd /srv/homeassistant&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;python -m venv venv&lt;/i&gt;&lt;/b&gt; # Создание окружения&lt;br /&gt;&lt;b&gt;&lt;i&gt;source venv/bin/activate&lt;/i&gt;&lt;/b&gt; # Активация окружения&lt;br /&gt;&lt;br /&gt;6. Установите &lt;i&gt;Home Assistant &lt;/i&gt;через &lt;i&gt;&lt;u&gt;pip&lt;/u&gt;&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;pip install wheel zlib-ng isal&lt;br /&gt;pip install homeassistant&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;7. Сконфигурируйте каталог:&lt;br /&gt;&lt;b&gt;&lt;i&gt;mkdir -p /srv/homeassistant/.homeassistant&lt;br /&gt;exit&lt;/i&gt;&lt;/b&gt; # Выход из пользователя homeassistant&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo chown -R homeassistant:homeassistant /srv/homeassistant/.homeassistant&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;8. Создайте &lt;i&gt;systemd&lt;/i&gt;-сервис:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo nano /etc/systemd/system/homeassistant.service &lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Добавьте в файл:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Unit]&lt;br /&gt;Description=Home Assistant&lt;br /&gt;After=network-online.target&lt;br /&gt;​&lt;br /&gt;[Service]&lt;br /&gt;Type=simple&lt;br /&gt;User=homeassistant&lt;br /&gt;WorkingDirectory=/srv/homeassistant/.homeassistant&lt;br /&gt;ExecStart=/srv/homeassistant/venv/bin/hass -c &quot;/srv/homeassistant/.homeassistant&quot;&lt;br /&gt;​&lt;br /&gt;[Install]&lt;br /&gt;WantedBy=multi-user.target&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;9. Запустите сервис:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl daemon-reload&lt;br /&gt;sudo systemctl enable --now homeassistant&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;10. Проверка установки:&lt;br /&gt;Откройте в браузере &lt;i&gt;&lt;u&gt;http://server_name_or_ip:8123&lt;/u&gt;&lt;/i&gt;. Если страница не загружается спустя несколько минут после старта сервиса - выясните, открыты ли порты, и проверьте логи:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo ss -tlnp | grep &#39;:8123&#39;&lt;br /&gt;journalctl -u homeassistant -f&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Процедура бэкапа:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Остановите &lt;i&gt;Home Assistant&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl stop homeassistant&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Зархивируйте конфигурацию:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo tar -czvf bkp_$(date +%Y-%m-%d).tar.gz -C /srv/homeassistant/.homeassistant .&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. Скопируйте архив в надежное хранилище (например, облако или внешний диск).&lt;br /&gt;&lt;br /&gt;4. Запустите сервис:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl start homeassistant&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;5. Добавьте задание в &lt;i&gt;cron&lt;/i&gt; (запуск раз в неделю):&lt;br /&gt;&lt;i&gt;0 3 * * 0 sudo systemctl stop homeassistant &amp;amp;&amp;amp; tar -czvf /backup/ha_backup_$(date +\%Y-\%m-\%d).tar.gz -C /srv/homeassistant/.homeassistant . &amp;amp;&amp;amp; sudo systemctl start homeassistant&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Обновление версии &lt;i&gt;Home Assistant&lt;/i&gt;:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. Выполните бэкап (см. выше).&lt;br /&gt;&lt;br /&gt;2. Остановите сервис:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl stop homeassistant&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. Активируйте виртуальное окружение:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo su - homeassistant&lt;br /&gt;source /srv/homeassistant/venv/bin/activate&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4. Обновите &lt;i&gt;Home Assistant&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;pip install --upgrade homeassistant&lt;br /&gt;exit &lt;/i&gt;&lt;/b&gt;# Выход из пользователя homeassistant&lt;br /&gt;&lt;br /&gt;5. Запустите сервис:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl start homeassistant&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;6. Проверьте логи на наличие ошибок:&lt;br /&gt;&lt;b&gt;&lt;i&gt;journalctl -u homeassistant -f&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Примечания:&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Для отката версии используйте бэкап и команду &quot;&lt;b&gt;&lt;i&gt;pip install homeassistant==x.x.x&lt;/i&gt;&lt;/b&gt;&quot; (где &quot;&lt;b&gt;&lt;i&gt;x.x.x&lt;/i&gt;&lt;/b&gt;&quot; — нужная версия).&lt;br /&gt;Если после обновления &lt;i&gt;Arch Linux&lt;/i&gt; изменилась версия &lt;i&gt;Python&lt;/i&gt;, &lt;u&gt;пересоздайте виртуальное окружение следующим образом:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Остановите сервис &lt;i&gt;Home Assistant&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl stop homeassistant&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Убедитесь, что версия &lt;i&gt;Python&lt;/i&gt; изменилась:&lt;br /&gt;&lt;b&gt;&lt;i&gt;python --version&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. Создайте резервную копию конфигурации:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo tar -czvf bkp_$(date +%Y-%m-%d).tar.gz -C /srv/homeassistant/.homeassistant .&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4. Удалите старое виртуальное окружение:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo su - homeassistant&lt;br /&gt;cd /srv/homeassistant&lt;br /&gt;rm -rf venv&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;5. Создайте новое виртуальное окружение:&lt;br /&gt;&lt;b&gt;&lt;i&gt;python -m venv venv&lt;/i&gt;&lt;/b&gt; # Используется обновленная версия Python&lt;br /&gt;&lt;b&gt;&lt;i&gt;source venv/bin/activate&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;6. Переустановите &lt;i&gt;Home Assistant&lt;/i&gt;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;pip install wheel&amp;nbsp;zlib-ng isal homeassistant&lt;br /&gt;exit&lt;/i&gt;&lt;/b&gt; # Выход из пользователя homeassistant&lt;br /&gt;&lt;br /&gt;7. Запустите сервис:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo systemctl start homeassistant&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/416697832473342738/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/03/arch-linux-home-assistant-python.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/416697832473342738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/416697832473342738'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/03/arch-linux-home-assistant-python.html' title='Arch Linux: Установка Home Assistant в виртуальном окружении Python'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5774067987771218370.post-1113124382110838895</id><published>2025-03-24T06:34:00.000-07:00</published><updated>2025-03-24T06:49:50.589-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Linux: Запись iso-образа ОС с помощью утилиты &quot;dd&quot;</title><content type='html'>Для записи установочного &lt;i&gt;iso&lt;/i&gt;-образа на флешку в среде &lt;i&gt;Linux&lt;/i&gt; &lt;u&gt;выполните следующие шаги:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Вставьте флешку в &lt;i&gt;USB&lt;/i&gt;-порт и выполните &quot;&lt;b&gt;&lt;i&gt;lsblk&lt;/i&gt;&lt;/b&gt;&quot; или &quot;&lt;b&gt;&lt;i&gt;sudo fdisk -l&lt;/i&gt;&lt;/b&gt;&quot;, найдите флешку в списке ориентируясь по размеру (например &quot;&lt;i&gt;&lt;b&gt;/dev/sdX&lt;/b&gt;&lt;/i&gt;&quot;, где &lt;i&gt;&lt;b&gt;X&lt;/b&gt;&lt;/i&gt; - буква).&lt;br /&gt;&lt;br /&gt;2. Размонтируйте флешку, если она смонтирована:&lt;br /&gt; &lt;i&gt;&lt;b&gt;sudo umount /dev/sdX1&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;где &lt;b&gt;&lt;i&gt;X&lt;/i&gt;&lt;/b&gt; - буква диска, а &lt;b&gt;&lt;i&gt;цифра&lt;/i&gt;&lt;/b&gt; - номер раздела, который был смонтирован.&lt;br /&gt;&lt;br /&gt;3. Запишите образ командой &quot;&lt;b&gt;&lt;i&gt;dd&lt;/i&gt;&lt;/b&gt;&quot;:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sudo dd bs=4M if=путь_к_образу.iso of=/dev/sdX status=progress oflag=sync&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;где &lt;b&gt;&lt;i&gt;bs=4M&lt;/i&gt;&lt;/b&gt; — размер блока (ускоряет запись);&lt;br /&gt;&lt;b&gt;&lt;i&gt;if=...&lt;/i&gt;&lt;/b&gt; — путь к скачанному образу;&lt;br /&gt;&lt;b&gt;&lt;i&gt;of=/dev/sdX&lt;/i&gt;&lt;/b&gt; — устройство флешки (замените &lt;b&gt;&lt;i&gt;X&lt;/i&gt;&lt;/b&gt; на вашу букву, при этом будьте очень внимательны, если перепутаете букву, &lt;b&gt;&lt;u&gt;ваши данные на компьютере могут быть УНИЧТОЖЕНЫ!!!&lt;/u&gt;&lt;/b&gt;);&lt;br /&gt;&lt;b&gt;&lt;i&gt;status=progress&lt;/i&gt;&lt;/b&gt; — отображает прогресс;&lt;br /&gt;&lt;b&gt;&lt;i&gt;oflag=sync&lt;/i&gt;&lt;/b&gt; — гарантирует корректную запись.&lt;br /&gt;&lt;br /&gt;4. Дождитесь окончания записи и проверьте флешку:&lt;br /&gt;&lt;b&gt;&lt;i&gt;lsblk -f /dev/sdX&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Вы должны увидеть на флешке разделы с файловой системой &quot;&lt;i&gt;iso9660&lt;/i&gt;&quot;.&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://moonlightsoft.blogspot.com/feeds/1113124382110838895/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://moonlightsoft.blogspot.com/2025/03/linux-iso-dd.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/1113124382110838895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5774067987771218370/posts/default/1113124382110838895'/><link rel='alternate' type='text/html' href='http://moonlightsoft.blogspot.com/2025/03/linux-iso-dd.html' title='Linux: Запись iso-образа ОС с помощью утилиты &quot;dd&quot;'/><author><name>Redline</name><uri>http://www.blogger.com/profile/06837905598341904947</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>