Rocky Linux 9 設定套件來源 2022-10-20 william 技術 安裝完Rocky Linux 9, 接著要安裝EPEL(Extra Packages for Enterprise Linux)來源,以及CRB(Code Ready Builder) dnf -y install epel-release dnf -y config-manager --enable crb 這樣安裝powertools就方便多了, 以前我在CentOS 8要安裝 aspell 作法如下: dnf --enablerepo=powertools install aspell 現在不用了, 直接輸入: dnf install aspell 分享此文: 按一下以分享至 Facebook(在新視窗中開啟) Facebook Leave a comment RockyLinux
RockyLinux 9 簡易安裝 mariadb 2022-10-20 william 技術 好久沒安裝mysql了, 我之前都是docker 無腦安裝, 並不需要了解太多, 但是因為我先前安裝的 piwigo docker版本升級不利, 想說手動安裝piwigo看看, 當然第一步就是安裝mariadb囉. 這次RL9預設的mariadb是10.5, 安裝相當簡單 dnf install mariadb-server 接下來就是改密碼,預設console直接可以使用root登入 mysql -p -uroot 跟之前不一樣,我還停留mysql舊時代改密碼方式 update user set password=password(‘you password’) where user=’root’居然失敗了, 爬了文, 反正就是跟上主流,改用oracle類似的變更方式了 alter user root@localhost identified by 'your password'; flush privileges; 很多相關設定可參考原廠文件 分享此文: 按一下以分享至 Facebook(在新視窗中開啟) Facebook Leave a comment centos, database, docker, linux, mariadb, mysql, RockyLinux
outlook免費nextcloud外掛 2022-10-20 william 技術 反正就是檔案很大, 放上nextcloud,並且做成連結, 然後將信寄出去 https://download.nextcloud.com/outlook/ 分享此文: 按一下以分享至 Facebook(在新視窗中開啟) Facebook Leave a comment mail, nextcloud, outlook
outlook 2010以後檔案上限50GB(ost, pst) 2022-10-18 william 技術 IT的噩夢之一, 同事堅持不刪除郵件, 也不願意封存, 過了一段時間信件量超過50GB, 甚至達到200GB以上容量, 這時候要將outlook封存已經不可能了, 因為outlook會爆掉. 後來我發現有個做法, 先刪除爆掉的帳號, 再重建, 並且設定imap只離線保留1年的信件, 待outlook同步完畢, 我們另開一個新的pst檔案, 將已同步的信件複製過去, 等同仁確認複製完畢,直接刪除原本信件, 然後依序慢慢拉大離線保留的月份, 這期間pst若快爆掉了, 需要關掉outlook ,將快爆的pst改名, 而原本的pst檔可用乾淨的pst取代之. 如此循環, 即可將郵件全部移至pst, 然後…就可以理直氣壯, 跟同事說要強制封存, 並且每年要來找我們, 一起確認封存的檔案也沒有爆掉(50GB) 分享此文: 按一下以分享至 Facebook(在新視窗中開啟) Facebook Leave a comment mail, microsoft, outlook
微軟KB5018410更新後,outlook無法透過postfix server寄信 2022-10-18 william 技術 前幾天有同仁反映無法寄信, 錯誤訊息: none of the authentication methods supported by this client are supported by your server. 經過測試, 郵件伺服器使用我自製的 container docker-postfix-ad 2.4 , 這容器基本os為centos 7.9, postfix版本為 2.10.x , 會讓outlook出現沒有適合的加密通訊協定的錯誤. 爬完文發現postfix的master.cf(submission , smtpd) 可加上 -o tls_ssl_options=NO_TICKET 解決問題, 但偏偏postfix 2.11才有此功能, 更悲催的centos 6有2.11.x版本, centos 7只有2.10.x. 現主時,我只好將自製的郵件伺服器, os改成RockyLinux 8.6, postfix 為3.x版本, 好險3.x 與 2.x 差異性不多, 基本上舊main.cf檔案只要加上以下兩行,就能用了. #backwards-compatible default setting append_dot_mydomain = yes compatibility_level = 2 ps. postfix 3.x的 master.cf也不用特別加上 -o tls_ssl_options=NO_TICKET 相關的更新Windows 11 KB5018418 / Windows Server 2019 KB5018419 2022/10/19—若無法寄信,請再安裝這兩天的 win10 KB5020435 , win11 KB5020387 ,就可以解決了 分享此文: 按一下以分享至 Facebook(在新視窗中開啟) Facebook Leave a comment centos, mail, microsoft, postfix, RockyLinux, rspamd
android Git文字筆記APP更新版本 2022-10-06 william android 3年前我實作一個Git文字筆記app, 使用jgit套件, 可將github clone到android手機上, 然後進行編輯, 編輯完畢,直接版控到github上面, 最近play store要求target api在2022年11月前, 至少要設定31 , 於是我就編輯了一下, 實在有夠麻煩, 一大堆套件要升級, android studio也是大改版要求舊的專案也要跟著升級. 升級升級, 想說之前jgit只使用4.5.7版本, 趁這機會,改用jgit 6.3.x版, 後來發現6.3.x 使用outputstream類別中的一個函式”transferTo”, 造成android app 找不到該method,程式跳掉. 最後我發現 android 13才支援”transferTo” 另外我開發的這支app, 當初硬改成可以接受未正式簽章的SSL網站, 現在變成資安問題,上架失敗, 原因是X509相關類別,被我繼承改成一律安全 , 只好再改成原本的檢查方式, 也就是說以後這支app要使用遠端git網站, 必須是正式簽章HTTPS, 否則是不能使用的. 為何我的app要使用jgit 6.3.x , 因為jgit終於支援shallow(depth)功能, 可以讓我clone的時候快一點, 不然有些commit數量太多, 要clone很久,很麻煩, 而app本身只想用來做文字筆記, 不用clone太多commit版本下來,不然使用者會嫌棄的. 公司有pixel手機, 趕緊升級到android 13 分享此文: 按一下以分享至 Facebook(在新視窗中開啟) Facebook Leave a comment android, git, Github, java, jgit
Github 程式存取必須使用PAT(Personal Access Token) 2022-10-06 william 技術 之前寫過 用戶端github commit需要改用token密碼 才可以使用, (或是web browser認證), 也就是說, 使用程式例如 JGIT套件, 帳號密碼,也需要使用token密碼, (ps. 我有時候久了就會忘記,真是糟糕) Setting->Developer setting 點選Personal access tokens -> 點選 Generate new token , 產生新的token密碼 輸入相關資料, 過期時間(可選永不過期), 與該token權限 將token密碼複製,就可以使用了 分享此文: 按一下以分享至 Facebook(在新視窗中開啟) Facebook Leave a comment git, Github, java, jgit
android 檢查play store是否安裝 2022-10-05 william android java public static boolean isPlayStoreInstalled(Context context){ try { context.getPackageManager() .getPackageInfo(GooglePlayServicesUtil.GOOGLE_PLAY_STORE_PACKAGE, 0); return true; } catch (PackageManager.NameNotFoundException e) { return false; } } kotlin fun isPlayStoreInstalled(context: Context): Boolean { return try { context.packageManager .getPackageInfo(GooglePlayServicesUtil.GOOGLE_PLAY_STORE_PACKAGE, 0) true } catch (e: PackageManager.NameNotFoundException) { false } } build.gradle implementation 'com.google.android.gms:play-services-base:18.0.1' 分享此文: 按一下以分享至 Facebook(在新視窗中開啟) Facebook Leave a comment android, java, kotlin
android app關於新版本更新的想法 2022-10-05 william android android app 新版本更新,除了google play store之外, 有些不含play store的, 該怎麼做? 簡單的方式就是使用自動更新套件, 搭配自己手動維護版本訊息, app就能自行更新, 但是該套件需要”安裝權限”, 有很大機率會被拒絕, 當然現在也不能上架play store , 除非說明原因. app也可以自行檢查有新版本(自己手動維護版本訊息), 若有,也可以導到play store或是自己的網頁下載apk程式自行安裝. val appPackageName = getPackageName() val intent = Intent(Intent.ACTION_VIEW).apply { data = Uri.parse("https://play.google.com/store/apps/details?id=$appPackageName") setPackage("com.android.vending") } startActivity(intent) 另外若app可架play store成功, 可以額外下載play store簽名的apk, 使用該apk, 就可以避開簽名者不明的警告訊息呢. 分享此文: 按一下以分享至 Facebook(在新視窗中開啟) Facebook Leave a comment android, kotlin
android app字型不隨系統字型大小起舞 2022-10-05 william android 重點有二 在activity set content之前寫死字型大小字型大小: resource的fontscale數值 val resources: Resources = myactivity.getResources() var fontScale:Float = 1.0f if (resources != null && resources.getConfiguration().fontScale !== fontScale) { val configuration: Configuration = resources.getConfiguration() configuration.fontScale = fontScale resources.updateConfiguration(configuration, resources.getDisplayMetrics()) } // 在set content之前 setContent { } 分享此文: 按一下以分享至 Facebook(在新視窗中開啟) Facebook Leave a comment android, kotlin