2020年12月31日 星期四

ubuntu server備忘

  1. cat /etc/lsb-release 查詢ubuntu版本;uname -r查詢內核版本
  2. timedatectl set-timezone Asia/Taipei 更改時區
  3. 更改主機名稱
    1. sudo hostnamectl set-hostname newNameHere
    2. sudo vim /etc/hosts
    3. sudo reboot
  4. apt-get install net-tools
  5. Debian/Ubuntu 新增開機自動執行程式
    1. runlevel 定義:
      • 0:關機 (Halt)
      • 1:單一使用者模式 (single user mode)
      • 2-5: 多使用者模式 (multi user mode)
      • 6: 系統重啟 (reboot)
    2. service --status-all 開機時預設啟動哪些service (+啟用 -未啟用)
      • systemctl enable service 開機時預設啟動該服務
      • systemctl disable service 開機時預設關閉該服務
      • systemctl start service 開啟服務
      • systemctl stop service 關閉服務
      • systemctl restart service 重新開啟服務
      • systemctl status service 服務狀況
  6. lsof 可以列出系統上每一個行程所開啟的檔案列表
    • -a 列出打開文件存在的行程
    • -c<command> 列出指定command所打開的文件
      • lsof -c vim
    • -g 列出GID行程詳情
    • -d<文件號> 列出占用該文件號的行程
    • +d<目錄> 列出目錄下被打開的文件
    • +D<目錄> 遞歸列出目錄下被打開的文件
    • -n<目錄> 列出使用NFS的文件
    • -i<條件> 列出符合條件的行程。(4、6、協議、:port、 @ip )
      • lsof -i :53
      • lsof -i tcp
      • lsof -i :1-1024
    • -p<行程號> 列出指定行程號所打開的文件
    • -u 列出uid帳號行程詳情
      • lsof -u bj,test,cat 列出多人之行程
  7. apt-get install traceroute
  8. ubuntu20.04的DNS由systemd-resolved管理,伺服器啟動即開啟53port,可更方式
    • vim /etc/systemd/resolved.conf
      將DNSStubListener=yes改為no(#拿掉)
    • mv /etc/resolv.conf /etc/resolv.conf.bak(將舊resolv.con備份)
    • ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
  9. 透過 netplan 設定網路卡 IP
    • /etc/network/interfaces裡面的設定(空的)已轉至/etc/netplan/00-installer-config.yaml
      # This is the network config written by 'subiquity'
      network:
        ethernets:
          enp0s3:
            addresses:
            - 192.168.1.5/24
            gateway4: 192.168.1.1
            nameservers:
              addresses:
              - 8.8.8.8
              search:
              - wles.chc.edu.tw
        version: 2
    • 改完設定後執行:netplan try測試,無誤後執行:netplan apply
  10. ip link show 顯示目前網路執行狀況
    • ip link set 網卡 up / down 啟用網卡或停用網卡
  11. samba成為PDC(參閱samba使用文件)(samba調校)
    1. smbstatus 指令查詢資源連線狀況
    2. 掛載網路硬碟
      smbclient -L ip //IP -U username 列出分享資料夾
      smbmount //IP/資料夾 /掛載點 -o username=帳號 掛載網路硬碟
    3. vim /etc/samba/smb.conf
      [global]
      security = USER
      domain master = Yes
      preferred master = Yes
      os level = 65
      wins support = Yes (搭配DHCP派送wins server為此伺服器)
      server min protocol = NT1
      client min protocol = NT1
      #map to guest = bad user (mark掉,強迫帳號密碼驗證)
      #usershare allow guests = yes (mark掉或no,分享檔案guest不可使用)
      - - 以下可啟用samba符號連結(捷徑)功能 --
      follow symlinks = yes
      unix extensions = no
      wide links = yes
      [homes]
      comment = Home Directories
      read only = No
      create mask = 0664
      directory mask = 0755
      valid users = %S
      browseable = No
  12. chmod g+s 資料夾(參閱
  13. vim /etc/default/useradd
    將SHELL=/bin/sh 改為 /usr/sbin/nologin
  14. 掛載usb硬碟
    • fdisk -l
    • cd /mnt
    • mkdir usb
    • mount -v -t auto -o iocharset=utf8 /dev/sdb1 /mnt/usb
        • -v 顯示資訊
          • -t (auto讓系統自動分辯檔案系統,ext4,vfat,msdos)
            • -o(iocharset=    設定字元編碼,如 big5,utf8)
        • useradd指令只增加帳號不會自動新增home目錄(建議使用useradd -m 帳號)
        • 批次新增使用者(無密碼,csv檔第3欄為帳號、第4欄為密碼,| sh執行)
          awk -F, '{print "useradd -m " $3}' users.csv | sh
        • systemctl status cloud-init-local.service 偵測開機後cloud-init執行情形為active (exited),systemctl用法參見
          • systemctl stop cloud-init-local.service可停止服務,開機後還後再執行
          • touch /etc/cloud/cloud-init.disabled(在/etc/cloud/下增加cloud-init.disabled指令開機不再執行)

        samba4在全局部分的 smb.conf 中添加了以下內容:

        # Socket buffers should be huge:
          socket options = IPTOS_LOWDELAY TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536
        # Use sendfile for reading files efficiently:
          use sendfile = yes
        # Cache data before flushing to disk:
          write cache size = 2097152
          min receivefile size = 16384
          getwd cache = true

        2020年10月27日 星期二

        1091028資訊研習

        1.  彰化Gsuite的應用
          1. 登入
          2. 進入線上教室(驗證您的身份-確定
          3. 選擇「萬來教師同樂會」線上教室(如果沒有看到此教室可自行加入教室代號 22iq322
            • 檢视成員
            • 嘗試出作業
            • 評分完後發還給同學(同學才看得到成績)
            • 作業全部發還後匯出總成績
          4. 進入線上教室後再點擊Meet連結(在課程設定中開啟讓學生看見
            • 按「立即加入」
            • 請事前準備麥克風(必備)、網路攝影機(選配)
            • 開啟電子書(如果學生在家上課,教師利用電子書教學)
            • 在Meet右下角,點擊「立即分享螢幕畫面」(可選擇單視窗--電子書)
            • 學生有問題,可點選Meet上方「即時通訊」圖示,將問題,打字出來。
            • 點擊下方話筒圖示,即可停止通話。
          5. 萬來教師彰化Gsuite帳號一覽表(請先登入彰化Gsuite)
            • 開啟試算表(例如填寫第二次月考成績優良學生名單)
            • 開啟「共用」,設定可編輯的使用者(例如1~6年級導師)
        2. 智慧教室問卷填報(三1、四~六年級導師)
        3. 上傳一件教案至「教育大市集」平台,以各校既有教案為藍本,修改為教學過程中能運用智慧教室設備即可

        2020年10月21日 星期三

        偵測cpu的方式

         linux系統

        1. 實體cpu個數
          • grep 'physical id' /proc/cpuinfo | sort -u|wc -l
        2. 核心數量
          • grep 'core id' /proc/cpuinfo | sort -u | wc -l
        3. 執行緒數
          • grep 'processor' /proc/cpuinfo | sort -u | wc -l
        註:sort -u 排序只顯示單一紀錄, wc -l 計算文件行數

        windows系統
        可在 工作管理員 / 效能 / 虛擬處理器數量(執行緒數)

        2020年8月4日 星期二

        wget使用方法

        啟動:
          -V,  --version           顯示 Wget 版本並離開
          -h,  --help              印出這段說明文字
          -b,  --background        啟動後進入背景作業
          -e,  --execute=指令      執行 ‘.wgetrc’ 形式的指令

        紀錄訊息及輸入檔案:
          -o,  --output-file=檔案    將紀錄訊息寫入<檔案>中
          -a,  --append-output=檔案  將紀錄訊息加入<檔案>末端
          -d,  --debug               印出偵錯訊息
          -q,  --quiet               安靜模式 (不輸出訊息)
          -v,  --verbose             詳細輸出模式 (預設使用這個模式)
          -nv, --non-verbose         關閉詳細輸出模式,但不啟用安靜模式
          -i,  --input-file=FILE     download URLs found in local or external FILE.
          -F,  --force-html          以 HTML 方式處理輸入檔
          -B,  --base=URL            resolves HTML input-file links (-i -F)
                                     relative to URL.

        下載:
          -t,  --tries=次數              設定重試次數 (0 表示無限)
               --retry-connrefused       即使連線被拒仍然會不斷嘗試
          -O   --output-document=檔案    將資料寫入指定檔案中
          -nc, --no-clobber              不覆寫已經存在的檔案
          -c,  --continue                繼續下載已下載了一部份的檔案
               --progress=方式           選擇下載進度的表示方式
          -N,  --timestamping           除非遠端檔案比較新,否則不下載遠端檔案
          -S,  --server-response         顯示伺服器回應訊息
               --spider                  不下載任何資料
          -T,  --timeout=秒數            指定所有時限為同一數值
               --dns-timeout=秒數        指定 DNS 查找主機的時限
               --connect-timeout=秒數    指定連線時限
               --read-timeout=秒數       指定讀取資料的時限
          -w,  --wait=秒數               每次下載檔案之前等待指定秒數
               --waitretry=秒數          每次重覆嘗試前稍等一段時間 (由 1 秒至指
                                         定秒數不等)
               --random-wait             每次下載之前隨機地指定等待的時間
               --no-proxy                禁止使用代理伺服器
          -Q,  --quota=大小              設定下載資料的限額大小
               --bind-address=位址       使用本機的指定位址 (主機名稱或 IP) 進行連線
               --limit-rate=速率         限制下載速率
               --no-dns-cache            不記憶 DNS 查找主機的資料
               --restrict-file-names=OS  只使用作業系統能夠接受的字元作為檔案字元
               --ignore-case             ignore case when matching files/directories.
          -4,  --inet4-only              只會連接 IPv4 地址
          -6,  --inet6-only              只會連接 IPv6 地址
               --prefer-family=FAMILY    優先採用指定的位址格式,可以是 IPv6、IPv4
                                         或者 none
               --user=用戶               指定 ftp 和 http 用戶名稱
               --password=PASS           指定 ftp 和 http 密碼
               --ask-password            prompt for passwords.
               --no-iri                  turn off IRI support.
               --local-encoding=ENC      use ENC as the local encoding for IRIs.
               --remote-encoding=ENC     use ENC as the default remote encoding.
        目錄:
          -nd  --no-directories           不建立目錄
          -x,  --force-directories        強制建立目錄
          -nH, --no-host-directories      不建立含有遠端主機名稱的目錄
               --protocol-directories     在目錄中加上通訊協定名稱
          -P,  --directory-prefix=名稱    儲存檔案前先建立指定名稱的目錄
               --cut-dirs=數目            忽略遠端目錄中指定<數目>的目錄層
        HTTP 選項:
               --http-user=用戶        指定 HTTP 用戶名稱
               --http-passwd=密碼      指定 HTTP 密碼
               --no-cache              不使用伺服器中的快取記憶資料
               --default-page=NAME     Change the default page name (normally
                                       this is `index.html'.).
          -E,  --adjust-extension      save HTML/CSS documents with proper extensions.
               --ignore-length         忽略 ‘Content-Length’ 標頭欄位
               --header=字串           在連線資料標頭中加入指定字串
               --max-redirect          maximum redirections allowed per page.
               --proxy-user=用戶       設定代理伺服器用戶名稱
               --proxy-password=密碼   設定代理伺服器密碼
               --referer=URL           在 HTTP 請求中包括 ‘Referer: URL’ 標頭
               --save-headers          將 HTTP 連線資料標頭存檔
          -U,  --user-agent=AGENT      宣稱為 AGENT 而不是 Wget/VERSION
               --no-http-keep-alive    不使用 HTTP keep-alive (持久性連線)
               --no-cookies            不使用 cookie
               --load-cookies=檔案     程式啟動時由指定檔案載入 cookie
               --save-cookies=檔案     程式結束後將 cookie 儲存至指定檔案
               --keep-session-cookies  會載入和儲存暫時性的 cookie
               --post-data=字串        使用 POST 方式送出字串
               --post-file=檔案        使用 POST 方式送出檔案內容
               --content-disposition   honor the Content-Disposition header when
                                       choosing local file names (EXPERIMENTAL).
               --auth-no-challenge     send Basic HTTP authentication information
                                       without first waiting for the server's
                                       challenge.

        HTTPS (SSL/TLS) 選項:
               --secure-protocol=PR     選擇安全通訊協定,可以使用 auto, SSLv2,
                                        SSLv3 或 TLSv1
               --no-check-certificate   不檢驗伺服器的憑證
               --certificate=檔案       指定用戶端的憑證檔案名稱
               --certificate-type=類型  用戶端憑證的類型,可以是 PEM 或 DER
               --private-key=檔案       指定私鑰檔案
               --private-key-type=類型  私鑰的類型,可以是 PEM 或 DER
               --ca-certificate=檔案    載有憑證管理中心 (CA) 簽章的檔案
               --ca-directory=目錄      載有憑證管理中心 (CA) 簽章的目錄
               --random-file=檔案       作為 SSL 隨機數產生程序 (PRNG) 的來源數據檔案
               --egd-file=檔案          產生隨機數據的 EGD socket 檔案名稱

        FTP 選項:
               --ftp-user=用戶         指定 FTP 用戶名稱
               --ftp-password=密碼     設定 FTP 密碼
               --no-remove-listing     不刪除 ‘.listing’ 檔案
               --no-glob               不展開有萬用字元的 FTP 檔名
               --no-passive-ftp        不使用「被動」傳輸模式
               --retr-symlinks         在遞迴模式中,下載鏈結指示的目標檔案
                                       (不包括目錄)

        遞迴下載:
          -r,  --recursive          遞迴下載
          -l,  --level=數字         最大搜尋深度 (inf 或 0 表示無限)
               --delete-after       刪除下載後的檔案
          -k,  --convert-links      make links in downloaded HTML or CSS point to
                                    local files.
          -K,  --backup-converted   將檔案 X 轉換前先備份為 X.orig
          -m,  --mirror             相等於 -N -r -l inf --no-remove-listing 選項
          -p,  --page-requisites    下載所有顯示網頁所需的檔案,例如圖片等
               --strict-comments    用嚴格方式 (SGML) 處理 HTML 注釋。

        遞迴下載時有關接受/拒絕的選項:
          -A,  --accept=清單               接受的檔案樣式,以逗號分隔
          -R,  --reject=清單               排除的檔案樣式,以逗號分隔
          -D,  --domains=清單              接受的網域,以逗號分隔
               --exclude-domains=清單      排除的網域,以逗號分隔
               --follow-ftp                跟隨 HTML 文件中的 FTP 鏈結
               --follow-tags=清單          會跟隨的 HTML 標籤,以逗號分隔
          -G,  --ignore-tags=清單          會忽略的 HTML 標籤,以逗號分隔
          -H,  --span-hosts                遞迴模式中可進入其它主機
          -L,  --relative                  只跟隨相對鏈結
          -I,  --include-directories=清單  準備下載的目錄
          -X,  --exclude-directories=清單  準備排除的目錄
          -np, --no-parent                 不進入上層的目錄

        2020年3月23日 星期一

        libreoffice資料處理

        一、重覆資料單一化(只能呈現單一欄位)
        1. 使用base資料庫來處理,例如:
          1. select DISTINCT 欄位 from 資料表
          2. select 欄位 from 資料表 group by 欄位(資料單一化的欄位)
        2. 只有使用cale試算表,土法煉鋼:以家長名單為例
          1. 監護人欄位排序
          2. 監護人欄位儲存格與上一筆儲存格做比較,例如:IF(D2=D1,0,1),相同者為0;不同者為1
          3. 將比較結果複製、選擇性貼上為數值(值)
          4. 將比較結果排序,將0的資料列刪除
          5. 班級座號排序
         二、base資料庫(參見教學資料)
        1. 差集運算
          SELECT * FROM 母群體資料表(單一) WHERE 關鍵欄位 NOT IN ( SELECT 關鍵欄位 FROM 子群體資料表 )
        2. 聯集運算
          SELECT 欄位1,欄位2 FROM 資料表1 UNION SELECT 欄位1,欄位2 FROM 資料表2
        3. 交集運算
          SELECT 欄位1,欄位2 FROM 資料表1 INTERSECT SELECT 欄位1,欄位2 FROM 資料表2
        4. 左外部關聯
          SELECT table_column1, table_column2...
          FROM table_name1
          LEFT JOIN table_name2
          ON table_name1.column_name=table_name2.column_name;