顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


文章 - twu2

頁: [1] 2 3 ... 177
2
Linux 討論版 / Re: 系統時間"週期修改"
« 於: 2021-01-13 12:20 »
不能解釋用週四做切割, 因為週三跟週四一定是同一週.
那個定義只是為了確保說某週屬於某年度時, 該週裡面屬於該年度的天數會佔多數 (至少四天).

3
Linux 討論版 / Re: 系統時間"週期修改"
« 於: 2021-01-12 12:33 »
是你的認定有問題啊.
%V 是 ISO 定義的第幾週 (第一個星期四出現的那一週是當年度的第一週), 所以 2021/1/8 是第一週沒錯.

如果你的需求跟 ISO 的定義不同, 就只能自己計算了.

4
Linux 討論版 / Re: find 搭配 -exec 疑問
« 於: 2021-01-05 16:11 »
strace 跑一下就看的到相關的 i/o 動作.

應該是 find 會先處理找到的東西, 然後再往下一層找.
因為你的動作是 rm -rf, 所以找到後, 被整個被刪除了, 這時要再打開那個目錄找下一層, 就會有那個錯誤.

5
let's encrypt 現在已支援 * 的網址, 所以只要申請一個一起用就可以 (當然內外部都要掛在某個網域之下).

DNS 是自己管的嗎? 如果不是自己管, 可以利用 script 就變動 DNS 的內容嗎?
如果可以的話, 改用 DNS 的方式驗證就可以更新 let's encrypt 的憑證. 拿到憑證就可以給所有的機器一起用了.

在 dehydrated (letsencrypt.sh) 是使用 HOOK 去指定更新 dns 的 script, 裡面用 nsupdate (如果是用 bind) 在該 domain 加上一筆 _acme-challenge 的 TXT 給 let's encrypt 驗證就可以 (在這個 script 要確定所有的 NS 都更新再返回).

6
& => 取得變數的記憶體位址
(uint8_t *) => 跟 compiler  說這個記憶體位址是一個陣列, 每個元素是一個 uint8_t
  • => 第一個元素.


整個做的事就是透過 f.read() 讀進四個 uint8_t 大小的資料, 塞到 uint32_t 的變數裡頭.

7
如果都沒做 NAT (只有最後出去 internet 時會做的話), 應該是 routing rule 設一設就可以.
基本上就是依據來源 IP 走不同的 table, 到各地的 IP 就送到各地的 server 去轉, default gateway 設到你想出 internet 那個點去.

如果有 NAT 的話, 感覺似乎會做不到.
或換個方法....
1. 每個點用自己的 VPN, 都連到各自的點去.
2. 透過 proxy 連線?

8
為什麼公司外面的人要先透過 internet 連 VPN 進公司再對外存取 internet? 根本不要透過 VPN 不是比較好?

9
Linux 討論版 / Re: postfix + dovecot + radius 疑問
« 於: 2020-06-06 15:46 »
dovecot 支援 pam.
pam 支援 radius (不確定你用的發行版有沒有, 沒有就自己裝吧)
https://github.com/FreeRADIUS/pam_radius

兩個弄在一起就應該是你要的.

10
前端怎麼顯示跟後端有什麼關係? 一般都是前面用 js 處理, 要放那邊是 js 的事.
還是你的程式是每次輸入後顯示是整頁都重新載入? 如果是這樣, 要產生什麼資料送到前端, 跟 array 也沒什麼關係.
順序不對就寫程式自己排序再送出啊...

11
Linux 討論版 / Re: Can not install Linux1804 in HDD
« 於: 2020-04-27 09:33 »
不能用 windows 裡頭看到的磁碟機代碼來看.
EFI 開機後會找預設 (或指定) 的 .efi (通常是 EFI/boot/bootx64.efi) 來開機, 這個檔案通常是 boot loader (或 boot manager).

如果你的 boot loader 是 windows 的 boot manager, 你就必須手動把 linux 的開機 entry 加進去.
如果你的 boot loader 是 linux 的 grub2, 那你就要把 windows 的 boot manager 加到 grub2 裡頭.

不能進 linux 有可能是找錯 boot loader, 或 boot loader 載不到 kernel, 或 kernel 找不到 root device, 這幾種都有可能.

12
Linux 討論版 / Re: linux的shell脚本
« 於: 2020-04-23 11:25 »
貼個 script, 沒說你怎麼跑的, 問你怎麼執行的也沒回答.... 是要用猜的嗎?

如果你是要算 a * b 的值, 那, 一開始就寫錯成 a * 0 了, 任何數 * 0 結果就只會是 0. (前面 Jerry Liu 不是給答案了嗎?)

如果不是要算 a * b, 那就說清楚你要的是什麼, 傳入的值是什麼, 執行的結果是什麼, 結果不正確, 那... 你認為的正確結果又是什麼吧.

代碼: [選擇]
root@php-test:~# cat x.sh
#!/bin/bash

a=$1
b=$2
echo "a = $a"
echo "b = $b"
echo -n '$((a*0)) = '
echo $((a*0))
echo -n '$((a*b)) = '
echo $((a*b))
root@php-test:~# ./x.sh
a =
b =
$((a*0)) = 0
$((a*b)) = 0
root@php-test:~# ./x.sh 2 5
a = 2
b = 5
$((a*0)) = 0
$((a*b)) = 10
root@php-test:~# ./x.sh 3 6
a = 3
b = 6
$((a*0)) = 0
$((a*b)) = 18
root@php-test:~#

13
在 Debian 中

useradd => 真的去執行新增動作的指令, 但是需要一堆參數 (沒指定的不會做)
adduser => 一個 perl script, 最後去執行 useradd 指令 (沒給的參數會有預設值)

vi /usr/sbin/adduser
自己看一下內容吧, 指 useradd 這個字, 就可以看到最後就是去執行這個指令.

14
少什麼就裝什麼吧.

比較簡單的做法, 是找到舊的 apt sources 的 URL, 設上後, 直接 apt-get build-dep php 就會把所有需要的東西都抓下來.
然後 apt-get source php 就會把當時那個版本的 php source 抓下來, 再去改參數編譯就可以 (不改也可以, 確定 openssl 的函式庫就新的就可).

只不過.... 你寫出的版本太久了, 不確定還找不找的到有那些檔案的伺服器.

15
應該是原本的 php 是直接把 openssl 編在裡頭, 不是當模組.
硬要做的話, 就自己整個 php 都重新編譯一次吧.

16
Linux 討論版 / Re: 關於dns反解問題
« 於: 2019-06-27 12:13 »
猜測是只要含有 public ip 網段的 zone, 就不允許混入 private ip 網段吧.

17
Linux 討論版 / Re: 關於dns反解問題
« 於: 2019-06-27 09:03 »
我是拿 db.127 改成 db.192 來試, 那個 1.0.0 在改成 1.0.168 時就無法正常查詢. 同一個檔案, 只要 168 改成別的數字就正常.

所以, 如果用 192 來看, 似乎是對 192.168 有特別處理?
192.168 的只能用 zone "168.192.in-addr.arpa" 來載入才不會有問題.

所以... 可能所有的 private ip 的網段在 bind 上頭都有特別處理吧.


18
通常是檔案系統有問題, umount 做一次 fsck 看看有沒有什麼錯誤吧.

19
Linux 討論版 / Re: CENTOS samba : win XP無法登入
« 於: 2019-04-19 13:48 »
代碼: [選擇]
lanman auth = yes
ntlm auth = yes
加上這兩個試看看.

20
Linux 討論版 / Re: nfs問題
« 於: 2019-04-19 11:12 »
把 B 的 ip forward 打開. 把 A, B, C 的 routing table 設一設.
讓 C 可以連到 A, 然後直接 mount A 上面的就可以.

21
Linux 討論版 / Re: cent 6.10 链路聚合问题
« 於: 2019-04-12 13:01 »
LACP 是 mode 4.

22
一般如果依照比較正規的作法, 會讀取 TMP 或 TEMP 的環境變數 (通常是設成 /tmp 沒錯) 來決定把暫存的檔案存放路徑.
但... 沒人保證你執行的程式怎麼寫的, 有的或許會寫死成 /tmp 而不管 TEMP/TMP 的設定. 有的也可能會找自己 home 目錄下的某個路徑.


23
自己換 glibc 很麻煩的... 如果你用的版本本身沒有那個 glibc 版本... 升級整個系統會比較不會出問題.

如果只是升級 mysql... 不應該去動 glibc, 而是抓 mysql 的 source 回來編譯, 而不是抓 rpm 回來再去升級 glibc.

24
所以说没有办法在手机上编译吗
如果不嫌慢, 且手機的空間也夠, 當然沒什麼不可以.
只不過可能更麻煩, 要去找別人弄好的 gcc 跟 toolchain, 或者自己 cross compile 一套出來用.

如果不要用 cross compile, 可以在 linux 裡頭弄一個 chroot arm (Debian 有完整的 arm 平台) 的環境, 在裡頭弄好再傳到手機也可以.

25
直接在手機 compile?

一般都是透過 cross compile 在 x86/x64 的 linux 上面處理.
各大 3rd party android rom 的 github 裡或都有 prebuild 的工具.

26
雖然結果沒錯, 不過好像 touch 錯檔名, 會被誤認第一個能執行是因為沒有檔案...

這個要看  expand_aliases 是不是打開. 如果要在 script 裡頭用, 先執行 shopt -s expand_aliases 之後, alias 就可以用了.
而且如果是外部的 alias, 還要 source 載入一次才能用.

27
開機時的 dmesg 看的到那個 device 的 driver 被載入了嗎?
某些 linux (如 debian), 非 free 的 firmware 是放在另一個檔案, 要另外裝才能用.

28
https://wiki.archlinux.org/index.php/Procmail
你要的需求對 procmail 並不難處理. (maildrop 是類似的另一套軟體)

29
在 procmail 或 maildrop 處理呢?

30
1. 一般程式語言, 變數名放到字串內, 就是那個字串, 並不會是變數, 所以你的第一個方法, 那就只是字串.
and A.TAG like GsheetName" 改成  and A.TAG like '" + GsheetName + "'" 應該就可以.
2. 第二個函式裡頭應該會對 % 處理 (類似 C 裡頭的 printf), 所以字串的 %Hotfix% 會把 %H 拿來處理, 但又沒定義 %H 是什麼. 通常這種 % 字元, 要改成 \% 或 %% 跳脫才會被當成 % 字元 (我不確定 python 裡頭的這個會用那個方式)

頁: [1] 2 3 ... 177