יום שלישי, מרץ 03, 2026

איך להפעיל מצב debug ב מנהל המודם ברמת ה service

בעקבות באג שהיה ב ModemManager בגרסה היציבה, הדרך הרגילה שאתם תראו במדריכים היא להפסיק את התהליך ולהפעיל עם דגל debug :
/usr/sbin/ModemManager --debug

או אפילו להוסיף את תת הדגל 
--log-level=DEBUG
 
אבל במקרה שלי אני רציתי לעשות זאת לטווח ארוך ולא רק להפעלה חד פעמית. אבל אם רוצים לעשות זאת ברמת ה service  , אבל במקרה שלי זה לא עבד בצורה הפשוטה של עריכת קובץ ה service.
 
בהתחלה הוספתי את הדגל בתוך קובץ ה service וניסיתי , אבל זה לא עבד.
 
מה שניסיתי היה :
$ cat /usr/lib/systemd/system/ModemManager.service
[Unit]
Description=Modem Manager
After=polkit.service
Requires=polkit.service
ConditionVirtualization=!container

[Service]
Type=dbus
BusName=org.freedesktop.ModemManager1
ExecStart=/usr/sbin/ModemManager --debug
StandardError=null
Restart=on-abort
CapabilityBoundingSet=CAP_SYS_ADMIN CAP_NET_ADMIN
ProtectSystem=true
ProtectHome=true
PrivateTmp=true
RestrictAddressFamilies=AF_NETLINK AF_UNIX AF_QIPCRTR
NoNewPrivileges=true
User=root

[Install]
WantedBy=multi-user.target
Alias=dbus-org.freedesktop.ModemManager1.service

עכשיו אנשי ה systemd לא לכאוס עלי! אני יודע זה לא בסדר , יודע , צריך להשתמש ב override. לקריאה נוספת ממליץ לקרוא את המדירך של systemd.
 
לכן הדרך היחידה שעבדה לי  היא לבצע override , כלומר לבצע , שימו לב שיש פה משהוא מאוד מסוכן , וזה מידע פרטי שבדרך כלל אסור להדביק באתרים כי זה מכיל מידע מאוד פרטי יש להזהר מה log-pesonal-info מאוד: 
 
$ cat /etc/systemd/system/ModemManager.service.d/override.conf 
[Service]
ExecStart=
ExecStart=/usr/sbin/ModemManager --debug --log-level=DEBUG --log-personal-info --test-quick-suspend-resume
 
 אנחנו צריכים להפעיל ExecStart פעמים , מכיוון שאנחנו צריכים להעלים את הפקודה הקודמת. 
 
הדרך לעשות את זה היא: 
  sudo systemctl edit ModemManager
  
ואם רוצים לבטל את זה משתמשים פשוט ב revert.

אין תגובות: