Red Hat Satellite แแ แแก แกแแกแขแแแแก แแแ แแแแก แแแแแฌแงแแแขแ, แ แแแแแแช แแแแแแแแแก Red Hat แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แแแแแแแกแแแแก, แแแกแจแขแแแแ แแแแก แแ แแแ แแแแก แคแแแแแฃแ , แแแ แขแฃแแแฃแ แแ แฆแ แฃแแแแแแ แแแ แแแแจแ. แกแแขแแแแขแ แกแแจแฃแแแแแแก แแซแแแแก แแแแฎแแแ แแแแแแก แแแแแแแคแแแฃแ แแ แแ แแ แแแแแแฎแแแ แกแแกแขแแแแแ, แ แแแ แฃแแ แฃแแแแแงแแ แแกแแแ แแคแแฅแขแฃแ แแ แแ แฃแกแแคแ แแฎแแ แแฃแจแแแแแ แกแฎแแแแแกแฎแแ แกแขแแแแแ แขแแแแก แจแแกแแแแแแกแแ. แกแแกแขแแแแก แฏแแแแ แแแแแแแก แจแแแแ แฉแฃแแแแแกแแแ แแแแแแจแแ แแแฃแแ แแแแชแแแแแแก แฃแแแขแแกแแแแก แแแขแแแแขแแแแ แแแแ, แกแแขแแแแขแ แแฎแแแ แแแ แแ แแแแแแแชแแแแก แแแแแ แแแ แแคแแฅแขแฃแ แแแ, แจแแแแชแแ แแ แกแแแแแ แแชแแ แฎแแ แฏแแแ แแ แฃแแแ แฃแแแกแฃแฎแแ แกแขแ แแขแแแแฃแ แแแแแแก แกแแญแแ แแแแแแก.
แแแฃแฎแแแแแแ แแแแกแ, แ แแ แแฅแแแ แจแแแแซแแแแ แจแแแกแ แฃแแแ แซแแ แแแแแ แแแแแแแกแขแ แแชแแฃแแ แแแแชแแแแแ Red Hat แกแแ แแแกแแแแก แแแแแงแแแแแแ, แ แแแแแแแช แจแแแแก แแฅแแแแก Red Hat Enterprise Linux แแแแแฌแแ แแจแ, Red Hat Satellite แแแแขแแแก แกแแชแแชแฎแแแก แชแแแแแก แแแ แแแแก แคแแ แแ แจแแกแแซแแแแแแแแแก.
แแ แจแแกแแซแแแแแแแแแก แจแแ แแก:
- แแแขแฉแแแแก แแแงแแแแแ;
- แแแแแฌแแ แแก แแแ แแแ;
- แแแแชแแแแแแแชแแ;
- แฒแแแคแแแฃแ แแชแแแก แแแ แแแ.
แแ แแ แแแแกแแแแแแ แจแแแแซแแแแ แแแ แแแ แแแแกแแแแ แกแแกแขแแแ แแกแ แแแ แขแแแแ, แ แแแแ แช แแ แแ, แแแแแ แแแ แฎแแแแแกแแฌแแแแแแแ, แกแแแแแแแแแ แแ แกแแกแขแแแแก แแฃแแแขแแก แจแแกแแซแแแแแแแแแ.
แแฎแแ แแ แแแแฅแแก แแฎแแแ Red Hat Satellite 6.5!
Red Hat Satellite 6.5-แแก แแ แ-แแ แแ แแแแแ แ แ แแ แแ แแก แแฎแแแ แกแแแแแแ แแจแ แซแ แแแ.
แกแแขแแแแขแฃแ แ แกแแ แแแ แ แฎแจแแ แแ แแ แแก แแแ แ Red Hat แกแแฌแแ แแแก แกแแกแขแแแแแแก แจแแกแแฎแแ แงแแแแ แแแคแแ แแแชแแแกแแแแก, แแ แแก แฃแแฎแแแกแ แซแ แแแ แกแแจแฃแแแแแแก แแแซแแแแ แจแแฅแแแแ แแ แแฅแกแแแ แขแแก แแแแแ แแจแแแ, แ แแแแแแแช แจแแแชแแแก แแแคแแ แแแชแแแก แแแแแแขแแก แกแแขแแแแขแฃแ แ แฐแแกแขแแแแก, แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แฎแแแแแฌแแ แแแแก, แแแฅแแแแ แจแแชแแแแแก แจแแกแแฎแแ แแ แ.แจ. แแแแแ แแจแแแ แแแแ แแแ แแแแแฃแแแ แฉแแจแแแแแฃแ แ แฃแแแจแ (ERB).
Satellite 6.5 แแแงแแแแ แแแ แแแแแ แแจแแแ แแ แซแ แแแ แแซแแแแก แแแแฎแแแ แแแแแแก แจแแกแแซแแแแแแแแก แแแแ แแแ แแก แแแแแ แแจแแแ แแ แจแแฅแแแแ แกแแแฃแแแ แ. Satellite 6.5-แแก แฉแแจแแแแแฃแแ แแแแแ แแจแแแ แแแแแ แแ แแแฃแแแ CSV แคแแ แแแขแจแ, แแแแ แแ แแ แแแกแขแจแ แฉแแแ แแแฉแแแแแแ, แแฃ แ แแแแ แจแแแแซแแแแ แจแแฅแแแแ แแแฎแกแแแแแแแ HTML แคแแ แแแขแจแแช.
แกแแขแแแแขแฃแ แ 6.5 แฉแแจแแแแแฃแแ แแแแแ แแจแแแ
Satellite 6.5 แแแแชแแแก แแแฎ แฉแแจแแแแแฃแ แแแแแ แแจแก:
- แแแฅแแแแ แจแแชแแแแ โ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแแคแแฅแขแแแแก แกแแ (แจแแแแฎแแแแ), แ แแแแแแช แฃแแแ แแฆแแแแคแฎแแ แแก แแแแขแแแขแแก แฐแแกแขแแแแ (แกแฃแ แแแแแกแแแแแ แแแคแแแขแ แฃแแ แฐแแกแขแแแแก แแ แแแคแแฅแขแแแแก แแแฎแแแแแ);
- แแแกแแแแซแแแก แกแขแแขแฃแกแแแ โ แแแแแ แแจแ แกแแขแแแแขแฃแ แ แฐแแกแขแแแแก แกแขแแขแฃแกแแก แจแแกแแฎแแ (แกแฃแ แแแแแกแแแแแ แแแคแแแขแ แฃแแ แแแกแแแแซแแแก แแแฎแแแแแ);
- แ แแแแกแขแ แแ แแแฃแแ แแแกแแแแซแแแแ โ แแแคแแ แแแชแแ แกแแขแแแแขแฃแ แ แฐแแกแขแแแแก แจแแกแแฎแแ: IP แแแกแแแแ แแ, OS แแแ แกแแ, แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แฎแแแแแฌแแ แแแ (แกแฃแ แแแแแกแแแแแ แแแคแแแขแ แฃแแ แฐแแกแขแแก แแแฎแแแแแ);
- แแ แฎแแแ โ แแแคแแ แแแชแแ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แฎแแแแแฌแแ แแแแก แจแแกแแฎแแ: แแแแแฌแแ แแแแก แกแแแ แแ แ แแแแแแแแ, แฃแคแแกแแก แ แแแแแแแแ, SKU แแแแแแ (แกแฃแ แแแแแกแแแแแ แแแคแแแขแ แฃแแ แแแแแฌแแ แแก แแแ แแแแขแ แแแแ).
แแแแแ แแจแแก แจแแกแแฅแแแแแแ, แแแฎแกแแแแ แแแแแฃ แแแแแขแแ แแกแแแ แฉแแแ แแแฎแกแแแแแแก แจแแแแแแแแ แแ แแแแฌแแแแฃแแแ แฆแแแแแก แแแแแ แแ แแแ แกแแกแฃแ แแแแ แแแแแ แแจแแก แแแ แฏแแแแ. แแแขแแแแ แคแแแขแ แแก แแแแ แชแแ แแแแ แแแแแ แแจแจแ แงแแแแ แแแแแชแแแแก แฉแแกแแ แแแแแ, แแ แจแแแงแแแแแ แแฅ แ แแแแ แจแแแแแแแแก แจแแกแแแฆแฃแแแ. แแแแแแแแแ, แแฃ แแกแฃแ แ แ แแแแกแขแ แแ แแแฃแแ แแแกแแแแซแแแแแก แแแแแ แแจแจแ แแฎแแแแ RHEL 8 แฐแแกแขแแแแก แฉแแแแแแ, แแแจแแ แแแฃแแแแแ แคแแแขแ แ os = RedHat แแ os_major = 8, แ แแแแ แช แแแฉแแแแแแแ แฅแแแแแ แแแชแแแฃแ แแแ แแแแก แกแฃแ แแแแ:
แแแแแ แแจแแก แแแแแ แแ แแแแก แจแแแแแ, แจแแแแซแแแแ แแแแแแฌแแ แแ แแ แแแฎแกแแแ แแก แแแชแฎแ แแแจแ, แ แแแแ แแชแแ LibreOffice Calc, แ แแแแแแช แจแแแขแแแก แแแแแชแแแแแก CSV-แแแ แแ แแแแฌแงแแแก แแแก แกแแแขแแแแ, แแแแแแแแแ, แแแแแ แแจแแก แกแแฎแแ. แแแฅแแแแ แจแแชแแแแ แฅแแแแแ แแแชแแแฃแ แแแ แแแแ:
แแแฎแแแ แแแแแแแแแกแฌแแแแ, แ แแ แฉแแจแแแแแฃแแ แแแแแ แแจแแแแก แแแแกแแแแแจแ แแก แแแ แแแแขแ แฉแแ แแฃแแแ แกแขแแแแแ แขแฃแแแ (แแแแฃแแแกแฎแแแแ), แแกแ แ แแ, แแกแแแ แแแขแแแแขแฃแ แแ แแแแแแขแแแ แงแแแแ แแฎแแ แแ แแแแแแแชแแแกแ แแ แแแแแแ แแแแแก, แ แแแแแกแแช แแฅแแแ แฅแแแแ Satellite-แจแ.
แฉแแจแแแแแฃแแ แแแแแ แแจแแแแก แแแ แกแแแแแแแแชแแ
แแแแแ แจแแแฎแแแแ แแแ แกแแแแแแแแชแแแก แฉแแจแแแแแฃแแ แแแแแ แแจแแก แแแแแแแแแก แแแแแงแแแแแแ แแ แฎแแแ. แแแแฃแแแกแฎแแแแแ, แแก แแแแแ แแจแ แแฉแแแแแแก แแแแแฌแแ แแแแก แแแแแแ แ แแแแแแแแแก (1), แแกแแแ แฎแแแแแกแแฌแแแแแ, แแแฃ แฃแคแแกแ แแแแแฌแแ แแแแก แ แแแแแแแแแก (2). แฉแแแ แแแก แแแแแแแขแแแ แแแแแ แแ แ แกแแแขแก แแแแแงแแแแแฃแแ แแแแแฌแแ แแแแก แ แแแแแแแแแ, แ แแแแแแช แแแแแกแแแฆแแ แแแ แ แแแแ แช (1) โ (2). แแแแแแแแแ, แแฃ แฉแแแ แแแแฅแแก แกแฃแ 50 RHEL แแแแแฌแแ แ แแ แแฅแแแแ 10 แฃแคแแกแแ, แแแจแแ แแแแแแงแแแแแ 40 แแแแแฌแแ แ.
แแแแแแแแ แฉแแจแแแแแฃแแ แแแแแ แแจแแแแก แ แแแแฅแขแแ แแแ แแแแแแแแแแ แแ แแ แแ แแก แ แแแแแแแแแแฃแแ แแแแ แจแแชแแแ, แแฅแแแ แแแแแฌแแแ แฉแแจแแแแแฃแแ แแแฎแกแแแแแแก แแแแแแ แแแ, แแฎแแแ แกแแฎแแแแก แแแชแแแ แแ แจแแแแแ แแ แแแแแแก แแกแแแก แจแแชแแแ.
แแกแ แ แแ, แแฃ แแแกแฃแ แก แแแแแ แแจแแก แจแแชแแแ แแ แฎแแแ, แแแจแแ แฏแแ แฃแแแ แแแฎแแแก แแแกแ แแแแแแ แแแ. แแแแแ แแแแฎแกแแแ แแแแแฃ แแแแแขแแ แแก, แแแ แฉแแ แแแฎแกแแแแแแก แจแแแแแแแแ แแ แฉแแแแกแแจแแแ แแแแแฃแจแ แจแแแแแแแก แแแ แฏแแแแ แแ แฎแแแ แแแ แฉแแแ Clone. แจแแแแแ แจแแแงแแแแแ แแแแแแก แแแฎแกแแแแแแก แกแแฎแแแ (แแแแแ แแแแแ แฅแแแ แแแ แแแแฃแแ แแแแแฌแแ แแแ) แแ แฎแแแแแก แจแแ แแก แฎแแแแแกแแฌแแแแแแ ะธ แ แแแแแแแแ แแแแแแขแแ แแแก แฎแแแ 'แแแแ แแแ': แแฃแแ. แ แแแแแแแแ - แแฃแแ.แฎแแแแแกแแฌแแแแแแ, โ แงแฃแ แแแฆแแแ แแแแฅแชแแแ แแซแแแแ แกแขแ แแฅแแแแก แแแแแก. แแกแ แแแแแแงแฃแ แแแ แแแ แแแแก แกแฃแ แแแแ:
แจแแแแแ แแแแญแแ แแ แฆแแแแแก Submitแ แแแแแแช แแแแแ แฃแแแแก แแแแ แแแ แแแฎแกแแแแแแก แจแแแแแแแแ. แแฅ แฉแแแ แแแแญแแ แแ แฆแแแแแก แแแแแ แแ แแแ แแฎแแแ แจแแฅแแแแแ แแแแแ แแจแแก แแแ แฏแแแแ แแแ แแแแฃแแ แแแแแฌแแ แแแ. แแแขแแแแ แแแแแฌแแ แแแแก แคแแแขแ แแก แแแแ แชแแ แแแแ แแ แแแแฌแแแแฃแแแ Submit. แแแแก แจแแแแแ แแฅแแแแแ แแ แแขแแแ แแแแ แแแแแ แแจแ, แ แแแแแแช แจแแแชแแแก แฉแแแ แแแแ แแแแแขแแแฃแ แกแแแขแก แแแแ แแแ.
แฉแแจแแแแแฃแแ Ruby แแแแก แแแฎแแแ แแแ แแแแแแแกแแแฃแแแ แฉแแแแ แแแ แแแฎแแแ แแแ แแแแแ แแจแแก แ แแแแฅแขแแ แแแแก แคแแแฏแแ แแจแ. แแก แฃแแ แฃแแแแแงแแคแก แกแแแขแแฅแกแแกแ แแ แฎแแแแแกแแฌแแแแแ แชแแแแแแแแก แแ แแแแแแแแแก แแแแแฎแแแแแก.
แจแแฅแแแแแ แแฅแแแแ แกแแแฃแแแ แ แแแแแ แแจแ
แแฎแแ แแแแแ แจแแแฎแแแแ แฉแแแแ แกแแแฃแแแ แ แแแแแ แแจแแแแก แจแแฅแแแแก แกแแขแแแแขแจแ แฐแแกแขแแแแกแแแแก แแแแแญแแแฃแแ Ansible แ แแแแแแก แจแแกแแฎแแ แแแฎแกแแแแแแก แแแแแแแแแก แแแแแงแแแแแแ. แแแฎแกแแแแ แแแแแฃ แแแแแขแแ แแก, แแแแฌแแแแฃแแแ แแแฎแกแแแแแแก แจแแแแแแแแ แแ แจแแแแแ แแแแญแแ แแ แฆแแแแแก แจแแแแแแแก แจแแฅแแแ. แแแแแ แแแแฃแ แแแแ แฉแแแแก แแแฎแกแแแแแแก แแแกแฃแฎแแกแแแแแแแ แ แแแแแแก แแแแแ แแจแ แแ แฉแแแแ แแแกแจแ แจแแแแแแ ERB แแแแ:
<%#
name: Ansible Roles Report
snippet: false
template_inputs:
- name: hosts
required: false
input_type: user
description: Limit the report only on hosts found by this search query. Keep empty
for report on all available hosts.
advanced: false
model: ReportTemplate
-%>
<% load_hosts(search: input('hosts'), includes: :ansible_roles).each_record do |host| -%>
<% report_row({
'Name': host.name,
'All Ansible Roles': host.all_ansible_roles
}) -%>
<% end -%>
<%= report_render -%>
แแก แแแแ แฅแแแแก แแแแแ แแจแก แฐแแกแขแแแแ, แกแแแแช แแแฉแแแแแแแ แแแแแแแก แแขแ แแแฃแขแ "all_ansible_roles".
แจแแแแแ แแแแแแแ แฉแแแแ แแแ แแแ แขแแแ แแ แแแแญแแ แแ แฆแแแแแก + แจแแงแแแแแก แแแแแขแแแ. แฉแแแ แแแแแแแ, แ แแ แแก แกแแฎแแแ แขแแแแ แแแกแแแแซแแแแกแแ แแฆแฌแแ แแก แขแแแ - แแแคแแแขแแ แ แฐแแกแขแแแแก แแแฎแแแแแ (แกแฃแ แแแแแกแแแแแ ). แจแแแแแ แแแแฌแแแแฃแแแ Submit แแ แจแแแแแ แแแแญแแ แแ แฆแแแแแก แแแแแ แแ แแแ แแฎแแแ แจแแฅแแแแแ แแแแแ แแจแแก แแแ แฏแแแแ. แจแแแแแแ, แจแแแแซแแแแ แแแแงแแแแ แแแกแแแแซแแแ แคแแแขแ แ แแ แแแฃแงแแแแแแแแ แแแแฌแแแแฃแแแ Submitแแแแแ แแจแแก แแแแแ แแ แแแ แงแแแแ แฐแแกแขแแ. แแแแแ แแ แแแฃแแ แแแแแ แแจแ แแกแ แแแแแแงแฃแ แแแ LibreOffice Calc-แจแ:
HTML แแแแแ แแจแแแแก แแแแแ แแ แแแ
แกแแขแแแแขแฃแ แ แแแแแ แแจแแแแแก แซแ แแแ แกแแจแฃแแแแแแก แแแซแแแแ แจแแฅแแแแ แแแฎแกแแแแแแแ แแ แ แแฎแแแแ CSV แคแแ แแแขแจแ. แแแแแแแแแ, แฉแแแ แจแแแฅแแแแ แแแ แแแแฃแ แแแแแ แแจแก แฉแแจแแแแแฃแแ แแแกแแแแซแแแก แแแแแ แแจแแก แกแแคแฃแซแแแแแ แกแขแแขแฃแกแแแ, แแแแ แแ แแฎแแแแ แ แแแแ แช HTML แชแฎแ แแแ, แกแแแแช แฃแฏแ แแแแแ แคแแ แแแ แแแแแ แแแฃแแแ แกแขแแขแฃแกแแก แแแฎแแแแแ. แแแแกแแแแแก แฉแแแ แแแแแแ แแแ แแแกแแแแซแแแก แกแขแแขแฃแกแแแแแ แจแแแแแ แจแแชแแแแแ แแแกแ ERB แแแแ แจแแแแแแแ:
<!DOCTYPE html>
<html>
<head>
<title>Host Statuses</title>
<style>
th {
background-color: black;
color: white;
}
td.green {
background-color:#92d400;
color:black;
}
td.yellow {
background-color:#f0ab00;
color:black;
}
td.red {
background-color:#CC0000;
color:black;
}
table,th,td {
border-collapse:collapse;
border: 1px solid black;
}
</style>
</head>
<body>
<table>
<tr>
<th> Hostname </th>
<th> Status </th>
<% load_hosts(search: input('hosts'), includes: :host_statuses).each_record do |host| -%>
<% all_host_statuses_hash(host).each do |key, value| -%>
<th> <%= key %> </th>
<% end -%>
<% break -%>
<% end -%>
</tr>
<%- load_hosts(search: input('hosts'), includes: :host_statuses).each_record do |host| -%>
<tr>
<td> <%= host.name %> </td>
<% if host.global_status == 0 -%>
<td class="green"> OK </td>
<% elsif host.global_status == 1 -%>
<td class="yellow"> Warning </td>
<% else -%>
<td class="red"> Error (<%= host.global_status %>) </td>
<% end -%>
<% all_host_statuses_hash(host).each do |key, value| -%>
<% if value == 0 -%>
<td class="green"> OK </td>
<% elsif value == 1 -%>
<td class="yellow"> Warning </td>
<% else -%>
<td class="red"> Error (<%= value %>) </td>
<% end -%>
<% end -%>
</tr>
<% end -%>
</table>
</body>
</html>
แแก แแแแแ แแจแ แฅแแแแก HTML-แก, แ แแแแแแช แแกแ แแแแแแงแฃแ แแแ แแ แแฃแแแ แจแ:
แแแแแ แแจแแแแก แแแจแแแแ แแ แซแแแแแแก แฎแแแแแแ
แแ แซแแแแแแก แฎแแแแแแ แแแฎแกแแแแแแก แแแกแแจแแแแแ แแแแแแงแแแแ แแ แซแแแแแ แฉแแฅแฃแฉแแแ cron แฃแขแแแแขแ แแแซแแแแ แแ แแ แแชแแกแแก แแแขแแแแขแแแแ แแแแก แกแแจแฃแแแแแแก.
แแแแแแงแแแแ hammer report-template generate --name "" แแ แซแแแแแ, แแแแแแแแแ:
# hammer report-template generate โname "Host statuses HTML"
แแแแแ แแจแแก แจแแแแแ แกแ แแแกแแฎแแแ แแแแกแแแแ. แแแคแแ แแแชแแแก แแแแแแแกแแแแ แแแแ แจแแกแแซแแแแแแแ แคแแแแจแ, แจแแแแแ แแ cron-แแก แแแแคแแแฃแ แแชแแ, แ แแแ แแฌแแ แแแแก shell แกแแ แแแขแ แแแฎแกแแแแแแก แแแแแ แแ แแแแกแแแแก แแ แแแคแแกแขแแ แแแแแแแแแกแแแแก. HTML แคแแ แแแขแ แจแแกแแแแจแแแแแ แแ แแก แแแฉแแแแแแ แแแแฅแขแ แแแฃแแ แคแแกแขแแก แแแแแแขแแแจแ, แ แแช แกแแจแฃแแแแแแก แแแซแแแแ แแแแฌแงแแ แแแแแ แแจแแแแก แ แแแฃแแแ แฃแแ แแแฌแแแแแ แแแแแขแแ แแกแแแฃแ แแฎแแ แแแแก แแแแแแแ แฌแแกแแแแแฎแ แคแแ แแแ.
แแแ แแแแ, แกแแแแแแ แแจแ แซแ แแแ Satellite 6.5-แจแ แแ แแก แซแแแแ แ แแแกแขแ แฃแแแแขแ แแ แแแแจแแแแแแแแแ แแแแแชแแแแแแก แแฅแกแแแ แขแแกแแแแก, แ แแแแแแแช แแแแแแแแแแก แแฅแแ Satellite-แจแ. แแก แซแแแแแ แแแฅแแแแแ แแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแงแแแแ แ แแแแ แช แฉแแจแแแแแฃแแ แแแแแ แแจแแแ, แแกแแแ แแแแ แจแแชแแแแแ แแแ แกแแแแ. แแแ แแ แแแแกแ, แแแแฎแแแ แแแแแแก แจแแฃแซแแแแ แจแแฅแแแแ แกแแแฃแแแ แ แแแแแ แแจแแแ แแฃแแแแแ. แจแแแขแงแแแ แแแขแ แกแแขแแแแขแฃแ แ แแแฎแกแแแแแแก แซแ แแแแก แจแแกแแฎแแ แฉแแแแก YouTube แแแแแแจแ.
แฉแแแแ แแแแฎแกแแแแแแแแ แแ แแ แแแแแแแแ, Red Hat-แแก แแแแขแคแแ แแแกแ แแ แแแ แแแแก แกแแกแขแแแแแแก แแแแแแแแ แแแแก แแแแงแแคแแแแแแก แแแแแฏแแ แ แแแ แแแแจแ, แแฎแแ แแฆแแแกแแแแแแกแ แแ แแคแ แแแแจแ. แแ แแแแก แแฃแจแแแแ Red Hat-แจแ แแแแชแแแก แแแแ แแก, แแแแฃแกแขแ แแแกแ แแ แแแแแฃแ แแแขแแแแก แงแแแแแกแแแแชแแแ แแแแแแแก, แแกแแแ แแ แแแฃแฅแขแแก แแแแแชแแแแแ แแแแก แแ แแแ แแแขแแแแก แแแแขแคแแ แแแแแก แแแแแแก แแ แแแฃแแแกแแแแก, แ แแช แแแแชแแแก แแ แแแฃแฅแขแแก แแแแแ แกแแกแแชแแชแฎแแ แชแแแแแก แแแ แแแแก แแแชแแแแแแแ แกแแชแแชแฎแแแก แแแแแแแ.
แฌแงแแ แ: www.habr.com