方法一:
https://www.cpan.org/ 搜尋要安裝的 module

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

showmount: command not found

root@debian:~# apt-cache search showmount
nfs-common - NFS support files common to client and server

root@debian:~# apt install nfs-common

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

編輯設定 > 虛擬硬體 > CPU > 硬體虛擬化 > 勾選向客體作業系統公開硬體協助虛擬化

image

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

兩個方法
1. 編輯設定 > 虛擬機選項 > 開機延遲 > 填入秒數 > 在開機畫面時按 F2 進入 BIOS
2. 編輯設定 > 虛擬機選項 > 強制執行BIOS設定 > 勾選在虛擬機器下次開機時,強制進入 BIOS 設定畫面 (只會生效一次)

image

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

阻擋暴力破解除了防火牆、OTP、MFA 外,還可以安裝 fail2ban 來阻止暴力破解
安裝方式 
apt install fail2ban

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

類似 apache 等 web server 的 rewrite rule 功能

    command:
      - "........"
      - "........"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.web.http.redirections.entryPoint.to=websecure" ## force redirect to https
      - "--entrypoints.web.http.redirections.entryPoint.scheme=https"
      - "--entrypoints.web.http.redirections.entrypoint.permanent=true"
      - "--entrypoints.websecure.address=:443"
測試
root@lab:/home/lab# curl -I http://lab.pass.tw/testurl
HTTP/1.1 308 Permanent Redirect
Location: https://lab.pass.tw/testurl
Date: Mon, 19 Dec 2022 08:28:03 GMT
Content-Length: 18
Content-Type: text/plain; charset=utf-8
 

helloworld 發表在 痞客邦 留言(0) 人氣()

以前在 troubleshooting 或是 debug crontab 的時候,習慣會去看一下 /var/mail 下面的郵件
正常的輸出及錯誤訊息都會記錄在郵件裡面
但現在的Linux 預設都沒有安裝MTA
所以如果不想額外安裝或是沒有權限可以安裝的話
可以直接輸出在自訂的log 內


* * * * * /scripts/backup.sh >> /var/log/backup.log 2>&1
 

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

登入ssh, 檢查調整前硬碟狀況
root@example:~# lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda      8:0    0  80G  0 disk
└─sda1   8:1    0  80G  0 part /

確定 filesystem 是否為 ext4
root@example:~# df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  1.8G     0  1.8G   0% /dev
tmpfs          tmpfs     371M   76M  295M  21% /run
/dev/sda1      ext4       79G   71G  4.6G  94% /
tmpfs          tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup

登入 gcp console,選擇要加大空間的硬碟 > 編輯 > 直接指定想要的硬碟大小,只能加大,不能縮小
假設原來是80G,想增加至 100G,直接填100G 即可,最大可擴充到64T
image

在gcp 介面調整硬碟大小後,sda 已經變100G
root@example:~# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk
└─sda1   8:1    0   80G  0 part /

root@example:~# parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) resizepart
Partition number? 1
Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?
Yes/No? Yes
End?  [85.9GB]? 100%
(parted) quit
Information: You may need to update /etc/fstab.

root@example:~# partprobe /dev/sda

root@example:~# resize2fs /dev/sda1
resize2fs 1.43.4 (31-Jan-2017)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 10, new_desc_blocks = 13
The filesystem on /dev/sda1 is now 26213888 (4k) blocks long.

檢查sda1 的空間是否已經可以使用
root@example:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.8G     0  1.8G   0% /dev
tmpfs           371M   76M  295M  21% /run
/dev/sda1        99G   71G   24G  76% /
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup

root@example:~# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk
└─sda1   8:1    0  100G  0 part /

參考資料
https://cloud.google.com/compute/docs/disks/resize-persistent-disk

helloworld 發表在 痞客邦 留言(0) 人氣()

adminer 預設 port 為 8080,雖然不是正規的 80,433 
但也很容易跟其他port 衝到

修改方法1,將container 的8080/tcp 對應到 host的 8088/tcp
    ports:
      - 8088/8080

修改方法2
直接修改 container 的 listen port
    ports:
      - 8088:8088
    command:
      - 'php'
      - '-S'
      - '[::]:8088'
      - '-t'
      - '/var/www/html'

進到 container 中檢查
# docker exec -it adminer_test sh
/var/www/html $ netstat -na
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.11:40403        0.0.0.0:*               LISTEN
tcp        0      0 :::8081                 :::*                    LISTEN
udp        0      0 127.0.0.11:43328        0.0.0.0:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
 

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

# yum install -y yum-utils
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

測試
# docker --version
Docker version 20.10.21, build baeda1f

安裝 docker-compose
# curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose

測試
# docker-compose --version
docker-compose version 1.27.4, build 40524192
 

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

vim 的 visual mode 對有些人可能比較方便
但我就是用不習慣XD
要怎麼關閉呢

vi ~/.viminfo (如果沒有的話,請自行建立)
新增一行 set mouse-=a

或是直接下指令新增
echo "set mouse-=a" >> ~/.vimrc
source ~/.vimrc
 

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

因為習慣的關係,常會用到insert key 
但是剛拿到華碩的notebook 時,一時不知道該如何是好,insert 鍵到底在哪邊
原來是跟 del 同一個鍵,字超級小
要怎麼按 insert 鍵 : Fn + Shift + Delete
抱怨....好難用...設計華碩鍵盤的人在想什麼

IMG_1721

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

搜尋image
# docker search httpd

下載 image
# docker pull httpd

列出host 的images
#docker images
# docker images httpd

在host 建立web的documentroot ,並放一個測試檔案
# mkdir /home/www
# echo "helloworld" > /home/www/index.html

啟動docker,並且把 CONTAINER 的80 port 對應到host 的8000 port
把host 的 /home/www/ mount 在 CONTAINER 的 /usr/local/apache2/htdocs/ 下
# docker run -itd --name labweb -p 8000:80 -v /home/www/:/usr/local/apache2/htdocs/ httpd

進入 CONTAINER 的shell 
# docker exec -it labweb bash

打開瀏覽器測試
http://host-ip:8000/
 

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

1. 下載mysql image
# docker pull mysql:8

2. 查看目前的images 有哪些
# docker images

3. 啟動 mysql,把容器的3306 port 對應到本機的 3306 port ,初始化密碼為 Lab3306
# docker run --name labdb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Lab3306 -d mysql:8

4. 查看容器執行狀態
# docker ps -a 

5. 進入mysql 的容器中
# docker exec -it labdb bash

6. 跳出容器,但不關閉容器
ctrl-p + q

7. docker start 再次回到容器的 shell 中,後面可以接 CONTAINER ID 或是 NAMES
# docker start bb0ab4e9b251
或是
# docker start labdb 

如果是要透過本機連線的話,先安裝mysql client 
# apt install -y default-mysql-client

# mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.31 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test2              |
+--------------------+
5 rows in set (0.002 sec)

MySQL [(none)]>
 

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

windows 內建的zip 解壓縮功能很方便也很直覺
如果沒有其他特殊需求,比如說要解 rar tar 7z 之類的檔案,其實真的可以不用再去下載其他的解壓縮工具

但壓縮成zip檔就沒那麼直覺了
以下是操作範例

1. 選取要壓縮的檔案或資料匣
2. 點擊右鍵 > 傳送到 > 壓縮的 (zipped) 資料匣 > 可選擇要不要重新命名
image

就完成了
image

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

在批次檔內可以使用 %~dp0 指定工作路徑
但如果要指定網芳上的路徑,則會出現以下錯誤訊息
UNC 路徑不可當作 CMD 目前的目錄

解決方式,改用 pushd
如:
cd /d %~dp0
xxx.exe
yyy.exe

修改成
pushd %~dp0
xxx.exe
yyy.exe
popd

程式執行結束後如果不再需要的話,記得下 popd 刪除暫時的磁碟機代號

C:\>pushd /?
儲存目前目錄以供 POPD 命令使用,然後切換到指定的目錄。

PUSHD [path | ..]

  path        指定要切換到的目錄。

如果您啟用擴充命令,PUSHD 命令會接受正常的磁碟機代號和路徑之外的網
路路徑。如果您指定了一個網路路徑,PUSHD 會建立一個代表該特定的網路
資源的暫時性磁碟機代號,然後以剛定義的磁碟機代號,變更目前的磁碟機
和目錄。暫時性磁碟機代號的配置是由 Z: 往下開始定義,方法是使用第一
個發現到未曾使用過的磁碟機代號。

C:\>popd /?
變更到用 PUSHD 命令儲存的目錄。

POPD


如果您啟用擴充命令,當您使用 POPD 命令將磁碟機從擴充的目錄堆疊
刪除時,POPD 命令會刪除由 PUSHD 所建立的暫時性磁碟機代號。

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

寫好一個批次檔 (*.bat) 要使用系統管理員身分執行時
出現以下錯誤訊息
不是內部或外部命令、可執行的程式或批次檔。

原因是開啟 cmd 時,預設路徑會在 c:\windows\system32 下
所以 .bat 內的程式沒有指定絕對路徑的話,就找不到可以執行的檔案

解決方式
假設你要執行的 exe 或是其他可執行檔跟 .bat 放在同一層路徑
在 .bat 前面加上 cd /d %~dp0
之後就可以接後續要執行的程式


cd /d %~dp0
someapp.exe /S /x 

注意
cd 使用 /D 參數可以同時變更工作磁碟機及其工作目錄。
%~dp0 只有在批次檔內有效
一開始我傻傻的在 cmd 下測試很久都沒結果...

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

samba dns 查詢格式
# samba-tool dns query
Usage: samba-tool dns query <server> <zone> <name> <A|AAAA|PTR|CNAME|MX|NS|SOA|SRV|TXT|ALL> [options]

example
列出 www.helloworld.local 的 A 紀錄
# samba-tool dns query localhost helloworld.local ftp A -U administrator

列出 helloworld.local 的 SOA 紀錄
# samba-tool dns query localhost helloworld.local @ SOA -U administrator

列出 helloworld.local 的所有紀錄
# samba-tool dns query localhost helloworld.local @ ALL -U administrator
 

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

$ sudo apt list --installed
或是
$ sudo dpkg-query -l

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

預設僅能透過 lan port 登入 web interface,但有些狀況下需要透過 wan port 登入
解決方式
先按 8 登入 shell
image
在shell 下輸入: pfctl -d 

之後可以再下 pfctl -e 回復

瀏覽器網址列輸入 http://wan-ip/ 測試
登入的預設帳號密碼為
admin / pfsense

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

為了要保護個人電腦的資訊安全
讓使用者離開位置一段時間後進入螢幕保護程式
並需要重新輸入密碼後才可以解鎖

開啟群組原則管理工具
找到 Default domain policy > 編輯
進入到 使用者設定 > 原則 > 系統管理範本 > 控制台 > 個人化
image

總共有四個地方需要調整
1. 啟用螢幕保護裝置
已啟用
2. 以密碼保護螢幕保護裝置
已啟用
3. 螢幕保護裝置逾時
已啟用,並設定秒數 (最少1秒,最多86400秒)
4. 強制特定螢幕保護裝置
已啟用,輸入螢幕保護裝置執行檔時間(以3D文字為例,檔名為 ssText3d.scr )

被套用AD 群組原則的電腦,開啟螢幕保護裝置後可以看到很多欄位都已經反灰
無法讓使用者調整,但仍可讓使用者自訂要顯示的3D 文字
image

image

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

透過DVD 安裝的debian 11
安裝完後,想用 apt 安裝套件錯誤,於是出現以下錯誤
叫你把光碟片放進去,但我從網路上直接安裝就好
 

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

zfs 目前仍無法直接拿一個新的硬碟擴充 zpool 空間
除非是把資料備份到其他地方,砍掉重練後再搬回來

如果在不搬移資料的狀態下,要擴充zpool空間,需要建立一個新的vdev 再把他加入 zpool 中
但缺點就是會浪費部分硬碟空間

實際操作
顯示目前 testpool 狀態
# zpool status testpool
image

使用3顆硬碟新增一個raidz ,並加入 testpool 中
# zpool add testpool raidz c1t6d0 c1t7d0 c1t8d0 
image

顯示目前 testpool 狀態
# zpool status testpool
image

用 df 檢查可用硬碟容量
# df -h
image


心得:
這個做法不僅無法有效率使用到硬碟的空間
以上面的例子,只要其中一個raidz 同時掛兩顆硬碟,這個資料就毀了
同樣的六顆硬碟砍掉重練成 raidz-2 ,可用空間跟上述例子一樣,但可以同時掛掉任意兩顆硬碟
希望動態擴充 vdev 的功能早日被實做出來
 

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

跟Linux 的 systemctl 比較不一樣的是,以下的enable 是立即啟用,並設定下次重開機時自動啟用 
# svcadm enable ssh

image

helloworld 發表在 痞客邦 留言(0) 人氣()

如果安裝過程中沒有另外設定
預設安裝完後網卡不會自動啟用

ifconfig 指令看不到實體網卡
image

dladm 指令可以檢查網卡狀態,目前為 unknow
image

以下步驟為dhcp 範例
# ipadm create-ip e1000g0
image
# ipadm create-addr -T dhcp e1000g0/v4
image

#ipadm 可以看到目前的ip
image


再用 ifconfig -a 確認看看
image

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

剛裝好的 solaris/omnios 作業系統
IP設定好,確定網路可以通
/etc/resolv.conf 也設定好 dns server 的位置

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

在cli 模式下輸入

FG200B3912602111 # exec factoryreset
This operation will reset the system to factory default!
Do you want to continue? (y/n)y

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

重置 HP switch v1910-24g 至出廠設定

1. 接上 console 線,設定值為 38400,8,1,N
2. 打開電源
3. 按 crtl+B 進入 Extended Boot menu
4. 選擇 7. Skip current system configuration
5. 選擇 0. Reboot

Starting......

Press Ctrl+D to access BASIC BOOT MENU
Press Ctrl+T to start memory test

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

server 之間互相殺肉,常常會發生這種事
如果備品硬碟之前有設定過 raid
沒注意就直接裝在其他 server 上
會變成 Foreign config 的硬碟無法直接 rebuild
image

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

root@debian-lab:~# ifconfig
-bash: ifconfig: command not found
 

文章標籤

helloworld 發表在 痞客邦 留言(0) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼