[LINUX] samba ‘panic action’ script, /usr/share/samba/panic-action的信件一直出現怎解

算是個經驗紀錄。
前陣子開始把RPi3B改成了NAS,外掛硬碟來當備份和影音用途。
可是,後來發現會一直收到警告信件,類似這樣:samba ‘panic action’ script, /usr/share/samba/panic-action。
找不到原因之下,今天才留意到,只要手機連SAMBA過去,每開一個檔案就會寄一份警告信件~XD
後來看/var/log/samba/log.這個紀錄檔案,也有看到錯誤訊息,只是跟信件警報訊息一樣,GOOGLE找不到個所以然。
然後就這樣陰錯陽差,發現應該是我追加的參數問題造成的。
如果各位有遇到,也許可以留意是不是這個參數啟用造成的:
/etc/samba/smb.conf
server multi channel support = yes
aio read size = 1
aio write size = 1
當初想說,我的RPi有多網卡(RJ45 + WIFI + USB WIFI),應該可以嘗試用看看所謂突破頻寬的多通道性能。
哪知道弄巧成拙,是警報的來源主因。
所以,編輯把這三行#註解掉不使用後,sudo /etc/init.d/smbd restart重新啟動服務。
接著再來重複原來的讀取檔案動作,來觸發之前發現的警報。
不但解決了一直寄錯誤信件訊息以外。
最終還發現網路芳齡連線本機網路開檔案的速度,整個變正常超快的無延遲了。

分類: 電腦相關 | 發佈留言

[LINUX] 大量出現dpkg: warning: files list file for package ‘xxx’ missing; assuming package has no files currently installed的可能解法

如果說某天不知道什麼原因刪除或衝突,造成安裝apt套件更新時,跳出類似這樣的訊息:
dpkg: warning: files list file for package ‘xxx’ missing; assuming package has no files currently installed
NOTE: xxx為某個package名稱

一般解法是apt reinstall xxx來重新安裝和更新。
可是,如果像我不知道動到系統什麼,忽然大量的數十筆(近百筆)列出這樣的錯誤訊息。
一步一步複製貼上來重新安裝,實在是太沒效率了。
所以,可以寫一個簡單的FOR迴圈,來把找到的異常套件檔案,重新再一次灌回來。
首先,要先撈出這堆異常的套件有哪些,先存在一個文字檔裡面。
我的方法是這樣:
sudo apt install xxx | grep "assuming package has no files currently installed" >> warm.txt
或者
dpkg -S dummy query 2 >> warm.txt

撈好以後,可以用VIM或其他方便使用的文字編輯軟體。
人工的刪除不要的資訊文字,只留下每一行找到的xxx套件名稱。
檔案存成warm-edited.txt。
如下類似顯示清單:
python3-setuptools
libcaca0:arm64
libpam-modules:arm64
libxpm4:arm64
libgles2-mesa:arm64
...等

最後,下個以下的FOR迴圈一行指令(sudo或是sudo su在管理者權限下),來重新安裝。
i=0; for package in $(cat ./warm-edited.txt); do i=$(($i+1)}; echo "NUMBER $i ... sudo apt reinstall -y $package ... "; sudo apt reinstall -y $package; done;
過程中就等他逐步掃描改好只剩套件名稱的warm-edited.txt檔案,一路自動重新安裝了。
不過,途中可能會遇到關鍵設定檔案,系統會問是否保留或換成最新的版本。
這個會停在那個畫面等處理按ENTER,所以可能要用遠端桌面來跑terminal,避免意外ssh途中斷訊又重來喔。

其他參考:

  • https://caloskao.org/ubuntu-dpkg-warning-files-list-file-for-package-missing-assuming-package-has-no-files-currently-installed/
  • https://gist.github.com/jeffersfp/33037aa05b042f35277a6c057930c81b
  • https://askubuntu.com/questions/949760/dpkg-warning-files-list-file-for-package-missing
  • 分類: 電腦相關 | 發佈留言

    UBUNTU系統,/etc/resolv.conf無法保持定義自訂的DNS伺服器解法

    如果在UBUNTU的Linux環境,網路上游是用DHCP自己抓發配的DNS。
    重開機/etc/resolv.conf的資料,若上游主機的設定檔有所錯誤,會造成主機開啟相關DNS正解反解的問題,而誤會找不到原因。
    如果想要保持固定的DNS主機,除了修改成固定IP以外,以下的方式也會是另外一種解法。

    安裝resolvconf套件。
    sudo apt install resolvconf

    編輯需要的自訂DNS伺服器。例如:
    nameserver 8.8.8.8
    nameserver 168.95.1.1
    sudo nano /etc/resolvconf/resolv.conf.d/head

    接著,指令更新resolve的檔案。
    sudo resolvconf --enable-updates
    sudo resolvconf -u

    這時候如果看/etc/resolv.conf,應該會發現都被新增上去,本來只能ping IP也變成正常能解析網址了。
    cat /etc/resolv.conf

    # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
    # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
    # 127.0.0.53 is the systemd-resolved stub resolver.
    # run "systemd-resolve --status" to see details about the actual nameservers.
    nameserver 8.8.8.8
    nameserver 168.95.192.1

    之後,重開機在看看有無異常。

    來源參考資料:
    https://askubuntu.com/questions/1383165/nameserver-goes-missing-from-etc-resolv-conf
    https://installati.one/ubuntu/21.04/resolvconf/
    其他參考資料:
    http://www.codebaoku.com/it-linux/it-linux-119362.html

    分類: 電腦相關 | 發佈留言

    [LINUX]如何像TeamViewer、AnyDesk或RealVNC來遠端連線到主操作螢幕畫面

    LINUX系統的XWIN介面,不像M$ WINDOWS的使用方式,他是可以虛擬桌面的開好幾個。
    但是如果有特殊需求,一定要像WINDOWS,要連線到看螢幕顯示的資訊,有什麼方案呢。

    如果要手機或設備能管理,又要能突破防火牆,可以選用TeamViewerAnyDeskRealVNC,這種專門的開發團隊,不過軟體可能會是有費用或功能限制。
    如果只是要突破防火牆的遠端桌面需求,但不需要連線到一樣螢幕看到的畫面,則可以使用Google remotedesktop.google.com的套件來管理。
    以上談到的四套軟體,相關的安裝有機會再來分享介紹。

    如果要用UBUNTU或DEBIAN系統既有的開源軟體,如TightVNC套件,其實他還有延伸的套件能利用,叫做x0vncserver。
    如果原來的TightVNC已經安裝好可以使用,則就直接使用追加安裝套件亦可。
    sudo apt -y install tigervnc-scraping-server tigervnc-viewer
    PS. 第二個是我要在遠端本機虛擬桌面要測試連線的軟體,可裝可不安裝。

    當tigervnc-scraping-server套件安裝好以後,服務的啟動指令很簡單:
    x0vncserver -display :0 -passwordfile ~/.vnc/passwd
    以上指令,用自己的帳號亦可,不一定要root最大權限。
    程式啟動後,再用vncviewer client軟體開啟本機網址localhost:5900,應該會跳出要輸入VNC登入的使用密碼,完成後應該就能看到螢幕一模一樣的畫面了。

    參考文章:

  • 1. https://slv922.pixnet.net/blog/post/34147807
  • 2. https://deskinsight.net/zh-hant/%E5%A6%82%E4%BD%95%E5%9C%A8-ubuntu-20-04-%E4%B8%8A%E5%AE%89%E8%A3%9D%E5%92%8C%E9%85%8D%E7%BD%AE-vnc-%E6%9C%8D%E5%8B%99%E5%99%A8
  • 3. https://blog.myxnova.com/archives/892
  • 分類: 電腦相關 | 發佈留言

    Rasbian 64bit OS裝ANYDESK遇到libbcm_host.so找不到之可能解法

    這幾天再嘗試一些軟體應用,發現Raspberry Pi3裝64bit的Rasbian OS狀態下。
    到官網抓ANYDESK遠端軟體,按照步驟會預到libbcm_host.so: cannot open shared object file: No such file or directory這個問題,一直不能正常啟動服務。
    (參考安裝說明和流程: https://learningsky.io/install-anydesk-on-raspberry-pi-os/)
    猜測原因是ANYDESK還是用32bit arm的系統去開發軟體,找了好陣子解法和嘗試,終於看到有人成功的消息。
    參考連結:
    https://www.reddit.com/r/AnyDesk/comments/l9ir03/anydesk_error_while_loading_shared_libraries/

    嘗試安裝一些相關的套件。
    sudo dpkg --add-architecture armhf
    sudo apt install libpolkit-gobject-1-0:armhf libraspberrypi0:armhf libraspberrypi-dev:armhf libraspberrypi-bin:armhf libgles-dev:armhf libegl-dev:armhf
    sudo ln -s /usr/lib/arm-linux-gnueabihf/libGLESv2.so /usr/lib/libbrcmGLESv2.so
    sudo ln -s /usr/lib/arm-linux-gnueabihf/libEGL.so /usr/lib/libbrcmEGL.so

    這樣的操作步驟後,執行systemctl restart anydesk.service,應該就不會再跳libbcm_host.so這個檔案找不到而無法執行了。

    不過目前這邊待解決的問是,現在又跳了幾個關於XWIN管理套件的問題。後續再來更新。
    ~ $ systemctl status anydesk.service
    ● anydesk.service – AnyDesk
    Loaded: loaded (/etc/systemd/system/anydesk.service; enabled; vendor preset: enabled)
    Active: active (running) since Tue 2022-09-13 14:13:16 CST; 8s ago
    Main PID: 11685 (anydesk)
    Tasks: 13 (limit: 794)
    CPU: 1.290s
    CGroup: /system.slice/anydesk.service
    ├─11685 /usr/bin/anydesk –service
    └─11688 /usr/bin/anydesk –tray

    Sep 13 14:13:17 raspberrypi anydesk[11688]: Unable to locate theme engine in module_path: “pixmap”,

    Sep 13 14:13:17 raspberrypi anydesk[11688]: Unable to locate theme engine in module_path: “adwaita”,

    Sep 13 16:23:14 raspberrypi anydesk[2933]: Unable to locate theme engine in module_path: “pixflat”,

    ***** 2022.09.13更新:
    pixmap要指定裝gtk2-engines-pixbuf:armhf的版本。指令:
    sudo apt-get install gtk2-engines-pixbuf:armhf
    PS. libexif12:armhf,沒看到有功用。

    其他:terminal指令畫面下的使用方式
    Command Description
    anydesk 請查看 客戶端命令參數.
    echo | anydesk –set-password 設置無人值守訪問的指定密碼。 (需要以root身份使用)。
    echo | anydesk –register-license 註冊指定的許可證密鑰。
    客戶端命令參數
    Parameter Description
    –get-alias 展示 AnyDesk-Alias.
    –get-id 展示 AnyDesk-ID.
    –get-status 展示 客戶端的在線狀態。
    –version 展示 當前的 AnyDesk 客戶端版本。
    –settings 打開默認設置頁面。
    –admin-settings 打開指定的全局設置頁面。 (需要以root身份使用)。
    –admin-settings:
    Viable parameters:
    capture, security, connection, recording. 在特定頁面上打開管理設置。 (需要以root身份使用)
    來源出處 https://support.anydesk.com/zh-tw/knowledge/command-line-interface-for-linux

    分類: 電腦相關 | 發佈留言

    如何在WIN10的CMD環境,也能用類似LINUX的sudo最大權限指令

    在Win10用CMD文字指令中,藥用管理者Admin帳號的權限,一般的操作方式是要滑鼠右鍵,指令最大權限才能觸發專用的CMD狀態。
    那有沒有更好的使用方式,甚至能像LINUX的sudo類似指令來觸發就好呢?
    看起來有類似想法和需求的人似乎還真的有不少,所以有個為此特別開發的創作者能在GitHub找到這個套件,軟體名稱叫做gsudo
    套件連結:
    https://github.com/gerardog/gsudo

    到網頁有RELEASE的最新版本,這邊是選.MSI的檔案來下載安裝。
    https://github.com/gerardog/gsudo/releases

    安裝好以後,在Win10系統中預設執行檔是放在C:\Program Files (x86)\gsudo\gsudo.exe。
    它也會把環境變數的設定,新增這個程式的資料夾位置進去。
    所以,要呼叫變成最大權限時,可以直接執行gsudo,就能觸發一個紅色的#狀態,提醒已經變成最大權限的管理者狀態。

    至於其他如何下參數使用可以參考作者在USAGE整理的相關參數值:
    https://github.com/gerardog/gsudo#usage

    作者的實際應用範例截圖:
    https://github.com/gerardog/gsudo

    分類: 電腦相關 | 發佈留言

    LINUX的AMDGPU相關應用需求,風扇溫度調整小工具

    如之前張貼的文章 AMD顯卡,新版Kernel 5.11衝突無法安裝原廠驅動程式,降版本解法(UBUNTU Linux) 內容有介紹到用文字指令控制的ohgodatool程式,來達到修改AMDGPU驅動顯卡的核心/記憶體時脈、電壓。
    但是風扇的控制方式,不知道是自己電腦的KERNEL不支援還是軟體BUG,反正指令無效。
    要另外新增開機的GRUB參數值來啟用支援,以指令的方式找出顯卡位置和執行修改風扇速度的語法。
    sudo su
    echo 1 > /sys/class/drm/card0/device/hwmon/hwmon0/pwm1_enable
    echo 210 > /sys/class/drm/card0/device/hwmon/hwmon0/hwmon0/pwm1
    exit

    使用上不是那麼直覺和便利。

    所以就找到這個作者GIT的開發網址:
    https://github.com/wepiha/qt-amdgpu-fan-ctl

    他是利用Python3開發GTK的GUI控制介面,來監控當下顯卡的工作狀態。
    初步使用起來和看數據來說,個人覺得算能用。

    安裝的方式也不困難複雜,就用python3去執行他的.PY程式檔而已,XD。
    所以我乾脆寫一個run.sh直接觸發”sudo python3 ./qt-amdgpu-fan-ctl.py”指令。
    git clone https://github.com/wepiha/qt-amdgpu-fan-ctl.git
    cd qt-amdgpu-fan-ctl
    echo 'sudo python3 ./qt-amdgpu-fan-ctl.py' | tee run.sh
    chmod 755 ./run.sh
    ./run.sh

    如果執行的過程中,有可能會遇到自己系統python的模組不完整而跳錯誤訊息。
    看一下自己缺什麼模組,下指令更新亦可。
    像我有遇到兩個模組套件要另外安裝更新,所以指令如下:
    sudo pip install pyqtgraph
    sudo pip install PyQt5

    剩下的使用部分,若有其他新的發現,後續文章再更新追加了。

    分類: 電腦相關 | 發佈留言

    汽車冷氣系統,噴錢找店家維修了,嘉義光順電機

    之前DIY的部分,[DIY] ST170 冷煤R134a第三次有紀錄的補灌
    雖然都能復原,但是看起來漏點無解,補灌後能撐一個月都算厲害了。
    為了止損和愛護地球(?),八月底那次整路高速公路沒冷氣後,認真回老家認識的良心名店去維修。
    光順汽車電機
    600嘉義市西區建國路54號
    052340569
    https://goo.gl/maps/3DJRoRtGgMPDH9937

    好不容易給忙碌的老闆插單檢查,確定冷煤有漏,漏點在前方的冷凝器鋁排後方某處。
    位置不像是被石頭打破或者因為之前水箱風扇脫落敲擊到的位置,所以如老闆說的,應該是銹蝕破損。

    初步的判修是沒有其他的異常洩漏或壓縮機損壞的情形,讓我安心不會拆到最難卸除的車室內空間的蒸發器。
    由於以前曾給這個老闆處理過前一台K6,檢查、處理的流程細膩度有目共睹,所以這次就還是特別拜託老闆,就算預約時間也要給他處理維修。

    基於信任的關係,車子開過去就留車不留人,跑去其他地方耗時間,等通知修好。
    修復過程:
    1.更換新同等級尺寸的冷凝器管排
    2.更換乾燥劑過濾罐
    3.過程中,還特別清洗引擎水箱散熱排
    4.清洗蒸發器前的毛細蒸發管
    5.清洗冷氣系統總管路
    6.更換壓縮機冷凍油
    7.抽真空除系統水氣
    8.真空蓄壓十分鐘探漏無異常
    9.重灌R134a原廠780g量,探漏無異常
    這類繁瑣修復流程後,老闆很欣慰的說壓縮機沒壞,蒸發器也沒漏,應該是沒問題了。
    而且我過去看狀況的時候剛好修復完成,正在驗證冷氣的冷凍能力。
    當下數據,出風口溫度恢復成0.5度c輸出,和之前未處理前的補灌方式,出風口溫度只有2.0度c的明顯改善差異。

    後來回家的移動間,最大的有感是引擎動力輸出,因為冷氣阻力修復後便正常。
    明顯感覺油門反應變輕快,起步加速都很有感的有力道(?)。
    而且因為冷氣製冷能力正常以後,低風速和控制溫度都讓體感溫度覺得也很夠冷。
    也可以舒服的設定和暖氣混合,溫度幾乎穩態不用一直頻繁調整切換需要的溫度和冷度。
    應該這臺車可以撐到報廢了,還不用修冷氣吧,希望!!

    PS 1.
    至於店家推薦的部分,這篇文章發表,其實已經是網路名店之一。
    個人覺得老闆是良心店家,維修價格不是最便宜,但是對得起良心和技術。
    若是有人看到這篇文章心得文之後也想去檢查和維修,務必要先跟老闆預約好,避免撲了個空又誤會喔。
    PS 2.
    聽說老闆預計明年要搬新的地點做服務,可能到時候要留意店址有無更動。
    PS 3.
    冷煤補漏劑,老闆說真的不實用,他建議可以的話還是要完整的維修。
    而我個人的體驗補漏劑的部分,可能橡膠型的小漏含可以減緩漏,金屬型的還是只能盡快處理維修。
    雖然DIY補灌能省服務費用,但是一直連續耗損的灌,可能都會變成一筆同等價值的完整維修費用,還是繼續漏。

    分類: 汽車相關 | 發佈留言

    Linux開機GRUB管理之對於GRUB_CMDLINE_LINUX_DEFAULT自訂參數

    關於開機GRUB的管理開機,有一些自定義的開機參數,可以修改LINUX開機條件或者配合設備硬體去調整需求。
    研究了一下別人的歷史經驗,和OS套件。看到一個掛的很多,似乎相對完整的內容。
    至於參數定義的設定說明,都是逐步從GOOGLE來的。
    應該還有其它可以利用的參數,以後有遇到案例再來更新維護。

    GRUB_CMDLINE_LINUX_DEFAULT="text consoleblank=0 intel_pstate=disable net.ifnames=0 ipv6.disable=1 pci=noaer iommu=soft usbcore.autosuspend=-1 radeon.si_support=0 radeon.cik_support=0 amdgpu.vm_fragment_size=9 amdgpu.si_support=1 amdgpu.cik_support=1 amdgpu.ppfeaturemask=0xffff7fff amdgpu.runpm=0 amdgpu.gpu_recovery=0 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off mitigations=off e1000e.EEE=0 fsck.mode=force fsck.repair=yes acpi_osi=linux i915.modeset=1"

    相關說明,整理如下。
    #個人追加 “acpi_osi=linux i915.modeset=1”

    #consoleblank=0 關閉LCD自動黑屏省電模式
    #intel_pstate=disable 關閉CPU性能省電自動模式
    #net.ifnames=0 防止開機網路卡被更名設定 ex.eth0, eth1 被更名為 ens1, ens2
    #ipv6.disable=1 不使用IPV6模式
    #pci=noaer 、pci=nomsi 防止PCIE BUS ERROR,禁用進階錯誤報告,禁用MSI中斷功能
    #iommu=soft 使KERNEL能以軟體方式讀取超過4GB的內存計算
    #usbcore.autosuspend=-1 防止USB裝置省電斷線

    #radeon.si_support=0、amdgpu.si_support=1 AMD顯卡GCN支援模式為Southern Islands (SI)
    #radeon.cik_support=0、amdgpu.cik_support=1 AMD顯卡GCN支援模式為Sea Islands (CIK)
    #amdgpu.vm_fragment_size=9 防止AMD顯卡在amdgpu pro驅動下為黑屏
    #amdgpu.ppfeaturemask=0xffff7fff 啟動支援amdgpu-utils套件,支援電壓調整、核心頻率、記憶體頻率。如:AMD顯卡驅動程式HOWTO undervolt the AMD
    #amdgpu.runpm=0 禁用amdgpu電源管理防止意外當機
    #amdgpu.gpu_recovery=0 禁用amdgpu顯卡崩潰復原功能

    #noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off mitigations=off 關閉INTEL CPU(10-19年製)預設漏洞防護功能以增加性能

    #e1000e.EEE=0 防止INTEL的e1000e網卡晶片進入睡眠省電模式而斷線

    #fsck.mode=force fsck.repair=yes 強制每次重開機都要做fsck檢查和修復磁區

    ## 個人追加部分
    #acpi_osi=linux 告訴主機板BIOS的acpi控制模式在現在運行的系統是Linux環境
    #i915.modeset=1 強制啟用INTEL i915內顯功能驅動

    修改指令:
    sudo nano /etc/default/grub
    sudo update-grub
    sudo reboot

    重開機看修改後的效果有無達到需求,或者必須再手動還原。
    若不小心搞掛了,可以嘗試用開機選單按e修改恢復原來正常的開機參數模式。
    或者,要用先前介紹的:用Boot-Repair-Disk拯救硬碟意外遺失的開機磁區MBR/GPT,來嘗試修復和復原。

    分類: 0.生活瑣事, 電腦相關 | 發佈留言

    [UNIX系統通用] 開源系統安全稽核工具:Lynis

    用LINUX作業系統,尤其是當伺服主機有對外服務的,總是會擔心是不是有什麼漏洞或問題,但是又不知道怎麼查、怎麼找。
    所以,GitHub有個人才,提供一個開源的工具軟體,協助使用者查看自己系統的相關設定和服務是否有異常。
    開源系統安全稽核工具:Lynis
    指令:
    cd ~/
    git clone https://github.com/CISOfy/lynis
    cd lynis
    chmod +x ./lynis
    ./lynis audit system

    (若單執行./lynis,會顯示說明各參數怎麼使用)

    執行後,就等它跑一下運算和檢查,最終會給一個落落長的報告結果,以及評論自己主機系統的分數。
    分數高低不是重點,主要是要看自己的系統和軟體,有什麼已知問題和重點漏洞BUG要處理。
    由於產出的LOG報告檔內容一堆,沒有另外安裝他的額外工具、或是篩選關鍵字的輔助軟體,在判讀部分會很困難。
    所以,我們簡單的方式是使用grep指令來找需要參考的重點項目。
    如下方式:
    cat /home/$USERNAME/lynis.log | grep Warning
    cat /home/$USERNAME/lynis.log | grep Suggestion

    這兩行指令目的是找Warning,立即處理型;
    以及找Suggestion,建議追加型。
    對於建議追加的部分,可能斟酌使用和安裝,因為有些不一定適用自己的網站或主機。
    像我改了一個modsecurity模組後,用WORDPRESS一直誤封撰寫文章電腦的IP位置,被Fail2Ban列入黑名單,還要一直解鎖和調整參數。

    另外,如果Lynis已經有安裝過。
    可以定期檢查是否有官方網站的維護更新,也能直接下指令更新軟體版本。
    如下方式:
    ./lynis update info
    ./lynis update release

    分類: 電腦相關 | 發佈留言