Где хранится список точек доступа?

Где nmcli и iwlist хранят в кеш-списке точки доступа: в общем файле или в энергозависимой памяти?

Быстро глядя на исходный код nmcli ( $ apt-get source network-manager ), кажется, что структура, содержащая информацию AP ( src/devices/wifi/nm-wifi-ap.c ), хранится в энергозависимой памяти (я не уверен если структура разделена или статически распределена, но я бы пошел на первое).

Структура это одна (на самом деле их две):

 typedef struct { char *supplicant_path; /* D-Bus object path of this AP from wpa_supplicant */ /* Scanned or cached values */ GByteArray * ssid; char * address; NM80211Mode mode; guint8 strength; guint32 freq; /* Frequency in MHz; ie 2412 (== 2.412 GHz) */ guint32 max_bitrate; /* Maximum bitrate of the AP in Kbit/s (ie 54000 Kb/s == 54Mbit/s) */ NM80211ApFlags flags; /* General flags */ NM80211ApSecurityFlags wpa_flags; /* WPA-related flags */ NM80211ApSecurityFlags rsn_flags; /* RSN (WPA2) -related flags */ /* Non-scanned attributes */ bool fake:1; /* Whether or not the AP is from a scan */ bool hotspot:1; /* Whether the AP is a local device's hotspot network */ gint32 last_seen; /* Timestamp when the AP was seen lastly (obtained via nm_utils_get_monotonic_timestamp_s()) */ } NMWifiAPPrivate; struct _NMWifiAP { NMExportedObject parent; NMWifiAPPrivate _priv; }; 

Я не копал код глубоко, поэтому я могу ошибаться, но я полагаю, что эта структура выделяется и выполняется, когда мы вызываем nmcli device wifi list а затем уничтожаем, когда команда завершается. Возможно, есть более сложные функции, которые подразумевают «сохранение состояния» в каком-то файле или дампе памяти, но я не могу сказать прямо сейчас.

Я не могу сказать для iwlist (на самом деле не смотрел код).

Я бы разместил это как комментарий, поскольку на самом деле это не ответ, но он явно слишком длинный.

ОБНОВИТЬ

Рассматривая страницу nmcli github , она заявляет:

Демон NetworkManager работает как привилегированный сервис (поскольку он должен иметь доступ и управлять оборудованием), но обеспечивает интерфейс D-Bus на системной шине, чтобы обеспечить мелкомасштабный контроль сети. NetworkManager не сохраняет подключения или настройки, это только механизм, с помощью которого эти соединения выбираются и активируются.

Чтобы сохранить предварительно определенные сетевые подключения, две отдельные службы, «служба системных настроек» и «служба пользовательских настроек» хранят информацию о подключении и предоставляют их NetworkManager, а также через D-Bus. Каждая служба настроек может определять, как и где она постоянно хранит информацию о соединении; например, апплет GNOME сохраняет свою конфигурацию в GConf, а служба системных настроек сохраняет конфигурацию в дистрибутивных форматах или в дистрибутивном формате в зависимости от предпочтений пользователя / администратора.