假設我們要把eth0從10G速度切換成固定1G(關閉Auto-nego),執行下面指令就可以
1. 關閉Auto-negotiation 同時切換網路速度為 1000Mb/s 並設為全雙工
# ethtool -s eth0 autoneg off speed 1000 duplex full
2018年8月24日 星期五
2018年8月6日 星期一
fdisk 自動完成partition,使用一個script來完成切割
把/dev/sda 切一個partition,全部空間都切成一個partition
echo -e "o\nn\np\n1\n\n\nw" | fdisk /dev/sda
把/dev/sda 切兩個partition,sda1=150GB, sda2=50GB
echo -e "o\nn\np\n1\n\n+150GB\nn\np\n2\n\n+50GB\nw" | fdisk /dev/sda
echo -e "o\nn\np\n1\n\n\nw" | fdisk /dev/sda
把/dev/sda 切兩個partition,sda1=150GB, sda2=50GB
echo -e "o\nn\np\n1\n\n+150GB\nn\np\n2\n\n+50GB\nw" | fdisk /dev/sda
2018年8月1日 星期三
busybox 的 udhcpc 執行後,印出的訊息中有取到ip,但是本地端ip沒有更改
今天在我們自己Build的Linux kernel上要使用udhcpc -i eth0來自動分配ip
原先所設定的Static IP為 192.168.1.3 如下:
使用udhcpc -i eth0 指令後,結果出現如下的情形:
udhcpc有從Server端取到IP,但是卻沒設定到eth0介面,後來爬文發現,udhcpc執行的流程會去執行 /usr/share/udhcpc/default.script,這個script會把從Server端取到的IP設定到網路介面
/usr/share/udhcpc/default.script 內容如下:
#################################################
#!/bin/sh
# udhcpc script edited by Tim Riker <Tim@Rikers.org>
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
RESOLV_CONF="/etc/resolv.conf"
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet"
case "$1" in
deconfig)
/sbin/ifconfig $interface 0.0.0.0
;;
renew|bound)
/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
if [ -n "$router" ] ; then
echo "deleting routers"
while route del default gw 0.0.0.0 dev $interface ; do
:
done
for i in $router ; do
route add default gw $i dev $interface
done
fi
echo -n > $RESOLV_CONF
[ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
for i in $dns ; do
echo adding dns $i
echo nameserver $i >> $RESOLV_CONF
done
;;
esac
exit 0
####################################################
請自行新增這個檔案,並且使用 chmod 777 /usr/share/udhcpc/default.script,確保可執行。
之後再去執行udhcpc -i eth0 就可以了
原先所設定的Static IP為 192.168.1.3 如下:
使用udhcpc -i eth0 指令後,結果出現如下的情形:
udhcpc有從Server端取到IP,但是卻沒設定到eth0介面,後來爬文發現,udhcpc執行的流程會去執行 /usr/share/udhcpc/default.script,這個script會把從Server端取到的IP設定到網路介面
/usr/share/udhcpc/default.script 內容如下:
#################################################
#!/bin/sh
# udhcpc script edited by Tim Riker <Tim@Rikers.org>
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
RESOLV_CONF="/etc/resolv.conf"
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet"
case "$1" in
deconfig)
/sbin/ifconfig $interface 0.0.0.0
;;
renew|bound)
/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
if [ -n "$router" ] ; then
echo "deleting routers"
while route del default gw 0.0.0.0 dev $interface ; do
:
done
for i in $router ; do
route add default gw $i dev $interface
done
fi
echo -n > $RESOLV_CONF
[ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
for i in $dns ; do
echo adding dns $i
echo nameserver $i >> $RESOLV_CONF
done
;;
esac
exit 0
####################################################
請自行新增這個檔案,並且使用 chmod 777 /usr/share/udhcpc/default.script,確保可執行。
之後再去執行udhcpc -i eth0 就可以了
可以使用的ntp server的domain name 與 ip address
Domain Name: tw.pool.ntp.org
IP Address: 103.18.128.60
我們可以使用ntpdate去同步ntp_server時間,最後使用指令hwclock -w 來寫入到hwclock
IP Address: 103.18.128.60
我們可以使用ntpdate去同步ntp_server時間,最後使用指令hwclock -w 來寫入到hwclock
2018年7月23日 星期一
【Linux】如何分辨/dev/底下的裝置名稱,是SATA硬碟 或是 USB硬碟
使用下面的方法可以分辨:
SATA:
ls -l /sys/class/block | grep ata
usb:
ls -l /sys/class/block | grep usb
M.2:
ls -l /sys/class/block | grep nvme
SATA:
ls -l /sys/class/block | grep ata
usb:
ls -l /sys/class/block | grep usb
M.2:
ls -l /sys/class/block | grep nvme
【Linux】mount fat32 格式,chown 回應 "operation not permitted"
事由:
今天我有一支USB隨身碟,他是Fat32格式的,我在Linux使用mount指令把它掛載起來
後來要透過Samba到遠端電腦來修改此USB碟的內容,出現權限不足的問題
因此我使用chown想把它的owner改為nobody,卻出現"operation not permitted"的錯誤訊息
原因&解決方法:
查了一下原因如下:
因為chown(或是chmod)是在Linux的檔案系統才能夠使用的,FAT32或NTFS是無法使用這個指令來操作,而解決方法只有在mount的時候,指定你要操作的人的uid與gid
例如我原本想要把owner改為 nobody:nobody
===> 首先,先去確認你的passwd當中,nobody的uid與gid
如上圖,uid與gid都為99
所以我只需要在掛載時,使用下面的指令即可:
mount -t vfat -o rw,uid=99,gid=99 /dev/sdc1 /mnt/USB1
今天我有一支USB隨身碟,他是Fat32格式的,我在Linux使用mount指令把它掛載起來
後來要透過Samba到遠端電腦來修改此USB碟的內容,出現權限不足的問題
因此我使用chown想把它的owner改為nobody,卻出現"operation not permitted"的錯誤訊息
原因&解決方法:
查了一下原因如下:
因為chown(或是chmod)是在Linux的檔案系統才能夠使用的,FAT32或NTFS是無法使用這個指令來操作,而解決方法只有在mount的時候,指定你要操作的人的uid與gid
例如我原本想要把owner改為 nobody:nobody
===> 首先,先去確認你的passwd當中,nobody的uid與gid
如上圖,uid與gid都為99
所以我只需要在掛載時,使用下面的指令即可:
mount -t vfat -o rw,uid=99,gid=99 /dev/sdc1 /mnt/USB1
2018年7月20日 星期五
除錯工具strace的用法
strace [parameter] [除錯的執行檔]
執行 strace 相關參數
-o (將 strace 程式的過程寫至指定的 file 中)
-s (最多一次 print xxx bytes 的訊息)
-p (strace 某 pid 程序的執行過程)
-f (strace 某子程序的執行過程)
例如: 我執行smbd遇到無法跑在背景,卻又沒有任何錯誤訊息
就可以使用strace來觀察錯誤的原因
===> ./strace -o aa.log -s 1024
/sbin/smbd -D
訂閱:
文章 (Atom)




