---
title: 'How to check the integrity of the Linux operating system'
url: 'https://ra1ahq.blog/en/kak-proverit-celostnost-operacionnoi-sistemy-linux'
markdown: 'https://ra1ahq.blog/en/kak-proverit-celostnost-operacionnoi-sistemy-linux.md'
lang: en
date: '2024-08-27'
description: 'If the power goes out while updating the operating system, after booting into recovery mode you need to check the integrity of the OS. Plan t'
taxonomy:
  category:
    - blog
  tag:
    - Linux
  archives_month:
    - aug_2024
  archives_year:
    - '2024'
---

# How to check the integrity of the Linux operating system

27 

 August 

 2024 

 17:23

### How to check the integrity of the Linux operating system

 [Linux](https://ra1ahq.blog/en/tag:Linux) 

27 August 2024 17:23

If the power goes out while updating the operating system, after booting into recovery mode you need to check the integrity of the OS.

### Plan to restore OS integrity

1. [Restoring network operation](#network)
2. [Cleaning up the local package repository](#clean)
3. [Generate packet checksums](#init)
4. [Checking checksums of packages and configuration files](#check)
5. [Fixing problems with packages](#fix)
    5.1 [Finishing configuration of packages that are installed but not configured](#configure)
    5.2 [Reinstalling packages that have had checksum changes](#reinstall)
    5.3 [Fixing broken packages](#fix_broken)
6. [Disable third-party kernel modules](#core)
7. [Final check of OS integrity using dpkg -V](#final)
8. [Listing and viewing changed configuration files](#conf)
9. [Updating package versions](#upgrade)
    10.[Recovery of Snap and Flatpak](#flatpak)
    11.[Reboot](#restart)

### 1. Restoring the network

If the network is working, skip the point.

You need to connect the Ethernet cable and start the network card

```
ifconfig -a | less
sudo nano /etc/network/interfaces
```

auto ensp2s0
iface enp2s0 inet dhcp
nameservers 8.8.8.8

```
sudo dhclient enp2s0
sudo resolvconf -u
sudo service networking restart
ping ya.ru
```

### 2. Clear package cache

```
sudo apt-get clean
```

This command clears the local repository of received package files. Cleaning is necessary to generate checksums for packages not from the local package cache, where they could have been spoofed.

### 3. Generate packet checksums

Installing the debsums utility

```
sudo apt install debsums
```

Initializing debsums (Ubunti Linux only).

```
sudo debsums_init 
```

### 4. Verifying checksums of packages and configuration files

To check **all files**, including configuration files:

```
sudo debsums --all --changed --silent
```

or for short

```
sudo debsums -acs
```

To check only binary files, excluding configuration files:

```
sudo debsums --changed --silent
```

or for short

```
sudo debsums -cs
```

Switch -a (or --all) to check each file, including the configuration file.
The -c switch displays only changed packages (same as --changed),
the -s switch (the same as "--silent") suppresses the output of lines where there are no changes.

To avoid displaying modified .png and .svg, you can use the following improved version of the command:

```
sudo debsums --all --changed --silent | grep -v '.png*\|.svg*'
```

The *second* option is more preferable,**without checking configuration files**, excluding changes to png and svg resource files from the output:

```
sudo debsums -cs | grep -v '.png*\|.svg'
```

where is the key **-v** means to invert the selection - i.e. select "everything except".

**Explanation**: using grep in the command output, I excluded mentions of png images. and svg.
The pictures relate to the design theme, for example, in my case, to the adwaita-icon-theme-full package (how to find out the package name by the file name is described in paragraph [5.2](#reinstall)).

If the utility `debsums` found problems with packages, the process can be interrupted with the key combination Ctrl+C and go to the next step in the instructions, since `debsums` only shows the presence of problems, but does not correct them.

### 5. Troubleshoot package problems

### 5.1 Completing package configuration

This command forces configuration of packages that have been unpacked but not configured. The -a switch tells the system to process all unpacked but not configured packages.

```
sudo dpkg --configure -a
```

### 5.2 Reinstalling packages that have changed their checksums

Packages are restored one by one with the command sudo apt --reinstall install `package name`. First you need to find the package name.

Typically, the package name is listed in the output of the debsums command on the right side in parentheses (for example, the text "from amdgpu-install package"), which means "from the amdgpu-install package".

For files where the package name is *not specified*, the package name can be determined by the name of the file whose checksum was changed.

For example, if the output `missing file /etc/dhcp/dhclient.conf` you can determine *which package this file belongs to*:

```
dpkg --search fqdn
```

where fqdn is the full path to the modified file, for example,`/etc/dhcp/dhclient.conf`

In this example, the answer is:
**isc-dhcp-client**

**Reinstall a separate package:**

```
sudo apt --reinstall install package_name
```

or

```
sudo apt-get --reinstall install package_name
```

where: package\_name is the name of the package.

For example:

sudo apt --reinstall install isc-dhcp-client

If the package is no longer required (a "tail" from the previous configuration), you can uninstall it. In my case, the AMD video card is not used and I ran the command to remove the package named "amdgpu-install":

sudo apt remove -y amdgpu-install

Repeat point 5.2 until the command output `sudo debsums -cs` will not become empty.

#### Automating the system repair process

You can reinstall all packages with one command:

```
sudo apt-get install -y --reinstall $(dpkg -S $(sudo debsums -cs) | cut -d : -f 1 | sort -u)
```

Without pictures:

```
sudo apt-get install -y --reinstall $(dpkg -S $(sudo debsums -cs) |  grep -v '.png*\|.svg' | cut -d : -f 1 | sort -u)
```

Where the sort -u switch eliminates duplicate package names.

(Source -[askubuntu.com](https://askubuntu.com/questions/57682/find-and-reinstall-packages-with-corrupted-files-without-breaking-anything))

Note: missing files will have to be installed manually from packages. For example, in my case, based on the results of execution `sudo debsums -cs` I had to reinstall the packages youtube-dl python3-pkg-resources python3-protobuf etc. manually.

```
sudo debsums -cs | grep -v '.png*\|.svg' | sort -u
sudo apt-get install -y --reinstall youtube-dl python3-pip python3-debian python3-pkg-resources python3-protobuf python3-levenshtein sound-theme-freedesktop
```

### 5.3 Fixing broken packages

```
sudo apt install -f
```

where -f is the same as --fix-broken

```
sudo apt install --fix-broken
```

**Description**; This command will try to fix a system with broken dependencies.

If the last command produces the message "post-installation script subprocess returned error" abort. " - you need to determine the package name from the output of the apt install -f command `package_name` and then run:

```
sudo rm /var/lib/dpkg/info/package_name
sudo dpkg --configure -D 777 package_name
sudo apt-get --reinstall install package_name
```

### 6. Disabling extraneous kernel modules and removing unnecessary components

When running the command debsums -cs it found the file lsb-cprocsp-rdr-64 and the ini file `/etc/opt/cprocsp/config64.ini`, which are not related to the Linux operating system. These files are from the external component CryptoPRO CSP, which I removed a long time ago, but they are present in the system.

Displays a list of kernel modules that are loaded when the OS starts:

lsmod

Only the first column:

```
lsmod | cut -d " " -f 1 | sort | less
```

Checking module traces `cprocsp`(CryptoPro) in the folder '/etc/modprobe.d/'

```
grep -Rnw '/etc/modprobe.d/' -e cprocsp 
```

The cprocsp sample was not found among the kernel modules.

Optional components are installed in the /opt folder. The contents of which need to be controlled.

I deleted the "/opt/cprocsp" folder as unnecessary.

```
sudo rm -rf /opt/cprocsp
```

Deleting a configuration file

```
sudo rm -rf /etc/opt/cprocsp
```

### 7. Final OS integrity check using dpkg -V

```
sudo dpkg -V
```

where -V is the switch to check all packages on the system. The command checks integrity by comparing information from installed package files and metadata information stored in the dpkg database.

As before, I find the names of packages to reinstall, but in one command “the list of arguments is too long,” so I divided it into a number of steps.

Step 1: Check for errors using dpkg -V

```
sudo dpkg -V  > ~/files_missing.txt
```

The execution time of this command is from 10 minutes to an hour.

View the result of the work:

```
cat ~/files_missing.txt
```

Step 2. Search for corresponding package files:

```
cat ~/files_missing.txt | grep -v '\?\?\?' | sed "s/missing//"  > ~/files_missing2.txt
cat ~/files_missing.txt | grep '\?\?\?' | sed "s/??5??????//"  > ~/files_changed.txt
```

Here:

- in the first file files\_missing2.txt files without a mask are excluded `??5??????`, that is, only missing files.
- in the second list files\_changed.txt files with a mask are included `??5??????`- that is, modified files.

    **Part 1.** defining Package Names **absent** files to reinstall:

```
    while read p; do
        echo "$p" 
        dpkg -S "$p" >> ~/reinstall.txt
    done 
<p><strong>Part 2.</strong> defining Package Names <strong>changed</strong> files to reinstall:</p>
    while read p; do
        echo "$p" 
        dpkg -S "$p" >> ~/reinstall.txt
    done 
<p>Copying package names to ~/reinstall2.txt</p>
    while read p; do
        echo "$p" 
        echo "$p" | cut -d ":" -f 1 >> ~/reinstall2.txt
    done 
<p>View file <code>reinstall2.txt</code> with a <em>list of packages to reinstall</em>:</p>
<code>cat ~/reinstall2.txt</code>
<p>Sorting (unique) and removing commas, into the reinstall3.txt file:</p>
<code>sort -u reinstall2.txt | sed 's/,//g' | sed 's/ /\n/g' | sort -u > reinstall3.txt</code>
<p><strong>Reinstalling packages according to the list from the file:</strong> </p>
    while read p; do
        echo "$p" 
        sudo apt-get install -y --reinstall "$p" 
    done 
<p></p>
<h3>8. Compiling a list of changed configuration files</h3>
<p>Compiling a list of changed configuration files:<br></br>
We discard the "missing" lines.</p>
<code>sudo dpkg -V  | grep -v 'missing' > ~/files_changed.txt</code>
<p>List of files <code>files_changed.txt</code> should be studied. You can additionally select only rows with column "c" (changed)</p>
<code>cat ~/files_changed.txt |  grep " c " | cut -d " " -f 3</code>
<p>We study the list and check each *.conf file from the list. If you just need to reinstall a package, the easiest way is to find the appropriate package and reinstall it.</p>
<p>For example:</p>
<code>dpkg --search /etc/ld.so.conf</code>
<h1>libc-bin: /etc/ld.so.conf</h1>
<code>sudo apt-get install -y --reinstall libc-bin

dpkg --search /etc/sysctl.conf</code>
<h1>procps: /etc/sysctl.conf</h1>
<code>sudo apt-get install -y --reinstall procps</code>
<p>Etc.</p>
<p></p>
<h3>9. Updating package versions</h3>
<p>Solving problems with packages that were not fully installed.</p>
<code>sudo dpkg --configure -a</code>
<p>I updated the versions as usual:</p>
<code>sudo apt update
sudo apt upgrade -y</code>
<p>Troubleshooting unmet dependencies:</p>
<code>sudo apt --fix-broken install
sudo apt dist-upgrade</code>
<p></p>
<h3>10. Snap and Flatpak recovery</h3>
<p>In case the store <a class="external-link no-image" href="https://snapcraft.io" rel="nofollow noopener noreferrer" target="_blank">snap</a> installed, I am not aware of special commands for checking packages. You can reinstall packages:</p>
<code>snap list
sudo snap remove package_name
sudo snap install package_name</code>
<p>Multiple packages - removal:</p>
    for package_name in package_name1, package_name2, package_name3
    do
        sudo snap remove $package_name
    done
<p>Several packages - installation:</p>
    for package_name in package_name1, package_name2, package_name3
    do
        sudo snap install $package_name
    done
<p>Where package_name 1, package_name 2, package_name 3 are the names of the packages to install.</p>
<p>To update package versions in the snap storage, you need to run the command:</p>
<code>sudo snap refresh --ignore-running</code>
<p>Checking application packages installed from the store <a class="external-link no-image" href="https://flatpak,org" rel="nofollow noopener noreferrer" target="_blank">flatpak</a>:</p>
<code>flatpak repair</code>
<p>Restoring flatpak is not a quick operation, it takes about ten minutes.</p>
<p></p>
<h3>11. Reboot</h3>
<p>If the file was edited in step No. 1 of the instructions <code>/etc/network/interfaces</code>, you need to roll back the changes: either delete the lines for starting the network card (auto enp2s0, ...) and the DNS server (dns-nameserver ...), or comment them out:</p>
<code>sudo nano /etc/network/interfaces</code>
<h1>auto enp2s0</h1>
<h1>iface enp2s0 inet dhcp</h1>
<h1>nameserver 8.8.8.8</h1>
<p>Save changes and exit: Ctrl+O, Ctrl+X.</p>
<p>We reboot the operating system:</p>
<code>sudo shutdown -r now</code>
<hr></hr>
<p>Source of information: <a class="external-link no-image" href="https://askubuntu.com/questions/57704/is-there-a-ubuntu-sanity-check" rel="nofollow noopener noreferrer" target="_blank">askubuntu.com</a> </p>
<p><em>Date of last edit: 09/02/2024 - section No. 10 about snap and flatpak was added.</em></p>

                                              <br></br><br></br>
                        <div class="gdlr-related-post-widget">
                         <h3 class="related-post-title">Related publications</h3>
     <div id="related-posts">
                                     <div class="related-post-widget">
                <div class="related-post-widget-thumbnail">
                 <a href="https://ra1ahq.blog/en/ustanovka-draivera-yadra-dlya-wi-fi-adaptera-tp-link-posle-obnovleniya-os-debian">
                                            <img alt="" height="130" loading="lazy" src="https://ra1ahq.blog/images/f/3/a/2/c/f3a2c07ef5b32c0308ab703405a5a5ca87b75283-archer-ac600-728.webp" width="150"></img>
                                                Установка драйвера ядра для Wi-Fi адаптера TP-Link после обновления ОС Debian
                    </a>
                </div>
            </div>
                                             <div class="related-post-widget">
                <div class="related-post-widget-thumbnail">
                 <a href="https://ra1ahq.blog/en/applety-dlya-rabochego-stola-linux-cinnamon-dlya-proslushivaniya-internet-radiostancii">
                                            <img alt="" height="66" loading="lazy" src="https://ra1ahq.blog/images/d/2/5/c/7/d25c7282750b398f71041fb8b90640b692e7e4b8-decibelfmtitle.png" width="150"></img>
                                                Linux Cinnamon Desktop Applets for Listening to Internet Radio Stations
                    </a>
                </div>
            </div>
                                             <div class="related-post-widget">
                <div class="related-post-widget-thumbnail">
                 <a href="https://ra1ahq.blog/en/peredacha-parametra-modulyu-draiveru-linux">
                                            <img alt="No picture" class="light-dark" loading="lazy" src="https://ra1ahq.blog/user/themes/mytheme/images/no-image.png" style="display:inline-block; width: 150px; height: 99px"></img>
                                            Passing a parameter to a Linux module/driver
                    </a>
                </div>
            </div>
                                             <div class="related-post-widget">
                <div class="related-post-widget-thumbnail">
                 <a href="https://ra1ahq.blog/en/ustanovka-draivera-wi-fi-adaptera-tp-link-archer-t600u-nano-v-debian-13-trixie">
                                            <img alt="" height="130" loading="lazy" src="https://ra1ahq.blog/images/5/c/4/e/a/5c4ea9c8c3f0b4dd890116d8fe7cbadfdb9814ba-archer-ac600.webp" width="150"></img>
                                                Installing the TP-Link Archer T600U Nano Wi-Fi adapter driver in Debian 13 "Trixie"
                    </a>
                </div>
            </div>
                                             <div class="related-post-widget">
                <div class="related-post-widget-thumbnail">
                 <a href="https://ra1ahq.blog/en/ustanovka-v-linux-ekvalaizera-zvuka-pulseaudio-equalizer-ladspa">
                                            <img alt="" height="98" loading="lazy" src="https://ra1ahq.blog/images/b/f/f/0/f/bff0f99f5897e0420fac9a6eef7254247f39c29d-pulseaudio-equalizer.png" width="150"></img>
                                                Installing the audio equalizer pulseaudio-equalizer-ladspa on Linux
                    </a>
                </div>
            </div>
            </div>

                         <div class="clear"></div>
                       </div>

```

[ Backward](https://ra1ahq.blog/en/obnovlenie-mozilla-firefox-v-os-ubuntu-i-debian "Previuous page")

[ Forward ](https://ra1ahq.blog/en/kak-ispravit-rabotu-regulyatora-upravlenie-gromkostyu-v-linux "Next page")

## Languages

- [Русский](https://ra1ahq.blog/posts/kak-proverit-celostnost-operacionnoi-sistemy-linux)
- [English](https://ra1ahq.blog/en/kak-proverit-celostnost-operacionnoi-sistemy-linux)
- [Deutsch](https://ra1ahq.blog/de/posts/kak-proverit-celostnost-operacionnoi-sistemy-linux)
- [Français](https://ra1ahq.blog/fr/posts/kak-proverit-celostnost-operacionnoi-sistemy-linux)
- [中文 (简体) (cn)](https://ra1ahq.blog/zh-cn/posts/kak-proverit-celostnost-operacionnoi-sistemy-linux)

## Theme

## RSS feeds

 [ Atom 1.0](https://ra1ahq.blog/en/.atom) [ RSS](https://ra1ahq.blog/en/.rss) 

## Popular tags

 [APRS](https://ra1ahq.blog/en/tag:APRS) [CW](https://ra1ahq.blog/en/tag:CW) [DX](https://ra1ahq.blog/en/tag:DX) [FM](https://ra1ahq.blog/en/tag:FM) [Linux](https://ra1ahq.blog/en/tag:Linux) [VHF](https://ra1ahq.blog/en/tag:VHF) [antennas](https://ra1ahq.blog/en/tag:antennas) [firefox](https://ra1ahq.blog/en/tag:firefox) [morse](https://ra1ahq.blog/en/tag:morse) [soundtrack](https://ra1ahq.blog/en/tag:soundtrack) [video](https://ra1ahq.blog/en/tag:video) [windows](https://ra1ahq.blog/en/tag:windows) [youtube](https://ra1ahq.blog/en/tag:youtube) [КВ](https://ra1ahq.blog/en/tag:%D0%9A%D0%92) [ТВ](https://ra1ahq.blog/en/tag:%D0%A2%D0%92) [УКВ](https://ra1ahq.blog/en/tag:%D0%A3%D0%9A%D0%92) [антенны](https://ra1ahq.blog/en/tag:%D0%B0%D0%BD%D1%82%D0%B5%D0%BD%D0%BD%D1%8B) [безопасность](https://ra1ahq.blog/en/tag:%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C) [длинные волны](https://ra1ahq.blog/en/tag:%D0%B4%D0%BB%D0%B8%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%B2%D0%BE%D0%BB%D0%BD%D1%8B) [путешествия](https://ra1ahq.blog/en/tag:%D0%BF%D1%83%D1%82%D0%B5%D1%88%D0%B5%D1%81%D1%82%D0%B2%D0%B8%D1%8F) [религия](https://ra1ahq.blog/en/tag:%D1%80%D0%B5%D0%BB%D0%B8%D0%B3%D0%B8%D1%8F) [соревнования](https://ra1ahq.blog/en/tag:%D1%81%D0%BE%D1%80%D0%B5%D0%B2%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) [спутники](https://ra1ahq.blog/en/tag:%D1%81%D0%BF%D1%83%D1%82%D0%BD%D0%B8%D0%BA%D0%B8) [средние волны](https://ra1ahq.blog/en/tag:%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D0%B5%20%D0%B2%D0%BE%D0%BB%D0%BD%D1%8B) [схемы](https://ra1ahq.blog/en/tag:%D1%81%D1%85%D0%B5%D0%BC%D1%8B) [тесты](https://ra1ahq.blog/en/tag:%D1%82%D0%B5%D1%81%D1%82%D1%8B) [трансивер](https://ra1ahq.blog/en/tag:%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%B8%D0%B2%D0%B5%D1%80) [управление](https://ra1ahq.blog/en/tag:%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5) [фотографии](https://ra1ahq.blog/en/tag:%D1%84%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%B8) 

## Random post

 [ I'll be lucky!](https://ra1ahq.blog/en/random) 

## Archive of posts

- [ October 2026 ✒ 4 ](https://ra1ahq.blog/en/archives_month:oct_2026)
- [ September 2026 ✒ 9 ](https://ra1ahq.blog/en/archives_month:sep_2026)
- [ August 2026 ✒ 6 ](https://ra1ahq.blog/en/archives_month:aug_2026)
- [ July 2026 ✒ 13 ](https://ra1ahq.blog/en/archives_month:jul_2026)
- [ June 2026 ✒ 8 ](https://ra1ahq.blog/en/archives_month:jun_2026)
- [ May 2026 ✒ 2 ](https://ra1ahq.blog/en/archives_month:may_2026)
- [ April 2026 ✒ 6 ](https://ra1ahq.blog/en/archives_month:apr_2026)
- [ March 2026 ✒ 3 ](https://ra1ahq.blog/en/archives_month:mar_2026)
- [ February 2026 ✒ 7 ](https://ra1ahq.blog/en/archives_month:feb_2026)
- [ January 2026 ✒ 8 ](https://ra1ahq.blog/en/archives_month:jan_2026)
- [ December 2025 ✒ 12 ](https://ra1ahq.blog/en/archives_month:dec_2025)
- [ November 2025 ✒ 9 ](https://ra1ahq.blog/en/archives_month:nov_2025)
- [ October 2025 ✒ 8 ](https://ra1ahq.blog/en/archives_month:oct_2025)
- [ September 2025 ✒ 5 ](https://ra1ahq.blog/en/archives_month:sep_2025)
- [ August 2025 ✒ 8 ](https://ra1ahq.blog/en/archives_month:aug_2025)
- [ July 2025 ✒ 6 ](https://ra1ahq.blog/en/archives_month:jul_2025)
- [ June 2025 ✒ 10 ](https://ra1ahq.blog/en/archives_month:jun_2025)
- [ May 2025 ✒ 4 ](https://ra1ahq.blog/en/archives_month:may_2025)
- [ April 2025 ✒ 4 ](https://ra1ahq.blog/en/archives_month:apr_2025)
- [ March 2025 ✒ 4 ](https://ra1ahq.blog/en/archives_month:mar_2025)
- [ February 2025 ✒ 11 ](https://ra1ahq.blog/en/archives_month:feb_2025)
- [ December 2024 ✒ 8 ](https://ra1ahq.blog/en/archives_month:dec_2024)
- [ November 2024 ✒ 2 ](https://ra1ahq.blog/en/archives_month:nov_2024)
- [ October 2024 ✒ 8 ](https://ra1ahq.blog/en/archives_month:oct_2024)
- [ September 2024 ✒ 3 ](https://ra1ahq.blog/en/archives_month:sep_2024)
- [ August 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:aug_2024)
- [ July 2024 ✒ 9 ](https://ra1ahq.blog/en/archives_month:jul_2024)
- [ June 2024 ✒ 6 ](https://ra1ahq.blog/en/archives_month:jun_2024)
- [ May 2024 ✒ 7 ](https://ra1ahq.blog/en/archives_month:may_2024)
- [ April 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:apr_2024)
- [ March 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:mar_2024)
- [ February 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:feb_2024)
- [ January 2024 ✒ 6 ](https://ra1ahq.blog/en/archives_month:jan_2024)
- [ December 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:dec_2023)
- [ November 2023 ✒ 4 ](https://ra1ahq.blog/en/archives_month:nov_2023)
- [ October 2023 ✒ 8 ](https://ra1ahq.blog/en/archives_month:oct_2023)
- [ September 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:sep_2023)
- [ August 2023 ✒ 4 ](https://ra1ahq.blog/en/archives_month:aug_2023)
- [ July 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jul_2023)
- [ June 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jun_2023)
- [ May 2023 ✒ 5 ](https://ra1ahq.blog/en/archives_month:may_2023)
- [ April 2023 ✒ 6 ](https://ra1ahq.blog/en/archives_month:apr_2023)
- [ March 2023 ✒ 5 ](https://ra1ahq.blog/en/archives_month:mar_2023)
- [ February 2023 ✒ 2 ](https://ra1ahq.blog/en/archives_month:feb_2023)
- [ January 2023 ✒ 5 ](https://ra1ahq.blog/en/archives_month:jan_2023)
- [ December 2022 ✒ 7 ](https://ra1ahq.blog/en/archives_month:dec_2022)
- [ November 2022 ✒ 8 ](https://ra1ahq.blog/en/archives_month:nov_2022)
- [ October 2022 ✒ 6 ](https://ra1ahq.blog/en/archives_month:oct_2022)
- [ September 2022 ✒ 9 ](https://ra1ahq.blog/en/archives_month:sep_2022)
- [ August 2022 ✒ 8 ](https://ra1ahq.blog/en/archives_month:aug_2022)
- [ July 2022 ✒ 4 ](https://ra1ahq.blog/en/archives_month:jul_2022)
- [ June 2022 ✒ 9 ](https://ra1ahq.blog/en/archives_month:jun_2022)
- [ May 2022 ✒ 7 ](https://ra1ahq.blog/en/archives_month:may_2022)
- [ April 2022 ✒ 3 ](https://ra1ahq.blog/en/archives_month:apr_2022)
- [ March 2022 ✒ 4 ](https://ra1ahq.blog/en/archives_month:mar_2022)
- [ February 2022 ✒ 6 ](https://ra1ahq.blog/en/archives_month:feb_2022)
- [ January 2022 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jan_2022)
- [ December 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:dec_2021)
- [ November 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:nov_2021)
- [ October 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:oct_2021)
- [ September 2021 ✒ 10 ](https://ra1ahq.blog/en/archives_month:sep_2021)
- [ August 2021 ✒ 6 ](https://ra1ahq.blog/en/archives_month:aug_2021)
- [ July 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jul_2021)
- [ June 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jun_2021)
- [ May 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:may_2021)
- [ April 2021 ✒ 4 ](https://ra1ahq.blog/en/archives_month:apr_2021)
- [ March 2021 ✒ 4 ](https://ra1ahq.blog/en/archives_month:mar_2021)
- [ February 2021 ✒ 3 ](https://ra1ahq.blog/en/archives_month:feb_2021)
- [ January 2021 ✒ 4 ](https://ra1ahq.blog/en/archives_month:jan_2021)
- [ December 2020 ✒ 8 ](https://ra1ahq.blog/en/archives_month:dec_2020)
- [ November 2020 ✒ 2 ](https://ra1ahq.blog/en/archives_month:nov_2020)
- [ October 2020 ✒ 3 ](https://ra1ahq.blog/en/archives_month:oct_2020)
- [ September 2020 ✒ 3 ](https://ra1ahq.blog/en/archives_month:sep_2020)
- [ August 2020 ✒ 5 ](https://ra1ahq.blog/en/archives_month:aug_2020)
- [ July 2020 ✒ 5 ](https://ra1ahq.blog/en/archives_month:jul_2020)
- [ June 2020 ✒ 8 ](https://ra1ahq.blog/en/archives_month:jun_2020)
- [ May 2020 ✒ 10 ](https://ra1ahq.blog/en/archives_month:may_2020)
- [ April 2020 ✒ 4 ](https://ra1ahq.blog/en/archives_month:apr_2020)
- [ March 2020 ✒ 2 ](https://ra1ahq.blog/en/archives_month:mar_2020)
- [ January 2020 ✒ 1 ](https://ra1ahq.blog/en/archives_month:jan_2020)
- [ December 2019 ✒ 2 ](https://ra1ahq.blog/en/archives_month:dec_2019)

## Search

## Weather forecast

[На 14 дней](https://world-weather.ru/pogoda/russia/saint_petersburg/14days/)
[world-weather.ru](https://world-weather.ru/)

---

## Navigation

- Parent: [RA1AHQ](https://ra1ahq.blog/en/index.md)
- Previous: [How to fix the operation of the volume control regulator in Linux](https://ra1ahq.blog/en/kak-ispravit-rabotu-regulyatora-upravlenie-gromkostyu-v-linux.md)
- Next: [Updating Mozilla Firefox on Ubuntu and Debian OS](https://ra1ahq.blog/en/obnovlenie-mozilla-firefox-v-os-ubuntu-i-debian.md)
