顯示具有 linux 標籤的文章。 顯示所有文章
顯示具有 linux 標籤的文章。 顯示所有文章

2017年8月1日 星期二

The NTFS partition is in an unsafe state. Please resume and shutdown

root@OpenWRT:~# mount /dev/sdb2 /mnt/sdb2
Windows is hibernated, refused to mount.
Failed to mount '/dev/sdb1': Operation not permitted
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume

read-only with the 'ro' mount option.


解法:

root@OpenWRT:~# ntfsfix /dev/sdb2
Mounting volume... The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
FAILED
Attempting to correct errors... 
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sdb2 was processed successfully.






2017年5月15日 星期一

Linux PID 何時會開始重複使用

重複fork & kill process 拿到的pid會越來越大

直到何時?可以由cat /proc/sys/kernel/pid_max 指令知道max pid

超過後就開始重複使用啦XDD



root@xxxx:/root# cat /proc/sys/kernel/pid_max
32768

2017年3月21日 星期二

device tree dtb dts轉換


DTS to  DTB:
./scripts/dtc/dtc -I dts -O dtb -o <devicetree name>.dtb <devicetree name>.dts



DTB back into a DTS:
./scripts/dtc/dtc -I dtb -O dts -o <devicetree name>.dts <devicetree name>.dtb

2015年5月19日 星期二

linux sync指令


Linux 系統中,為了加快資料的讀取速度,寫入硬盤的資料有的時候為了效能,會寫到 filesystem buffer 中,這個 buffer 是一塊記憶體空間,如果欲寫入硬碟的資料存此 buffer 中,而系統又突然斷電的話,那資料就會流失!


  • 可以透sync 指令,將存 buffer 中的資料強制寫入disk中;


Name

sync - synchronize data on disk with memory

Synopsis

sync [--help] [--version]

Description

 sync writes any data buffered in memory out to disk. This can include (but is not limited to) modified superblocks, modified inodes, and delayed reads and writes. This must be implemented by the kernel; The sync program does nothing but exercise the sync system call.
The kernel keeps data in memory to avoid doing (relatively slow) disk reads and writes. This improves performance, but if the computer crashes, data may be lost or the file system corrupted as a result. sync ensures that everything in memory is written to disk.

sync should be called before the processor is halted in an unusual manner (e.g., before causing a kernel panic when debugging new kernel code). In general, the processor should be halted using the shutdown or reboot or halt commands, which will attempt to put the system in a quiescent state before calling sync.




  • 或是在程式中利用sync() function ;


Name

sync - commit buffer cache to disk

Synopsis

#include <unistd.h>

void sync(void);

Feature Test Macro Requirements for glibc

sync():
_BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED


Description

sync() causes all buffered modifications to file metadata and data to be written to the underlying file systems.

Errors

sync() is always successful.


資料來源:
sync(2) - Linux man page
sync(8) - Linux man page

2015年4月3日 星期五

[轉貼/筆記]linux screen使用方法

screen的全名叫做(full-screen window manager),是在Linux or BSD上一個很好用的工具,可以讓你在一個terminal下開啟多重視窗執行,讓你只要靠一個putty/pietty視窗就可以同步地處理很多的事情,視窗彼此的切換又很方便迅速,有點像瀏覽器的「分頁」功能一樣。

例如說你可以開一個視窗正在compile程式,另開一個視窗開vim看code,再開第三個視窗連ftp抓一個大檔,最後再開一個視窗用偷偷telnet連BBS逛PTT這樣(最後一個上班不要亂用,視窗間可以隨時用熱鍵切換,彼此卻又運作順暢互不干擾。


screen 操作指令表

screen 參數說明
Ctrl + a 與 c建立新 screen 視窗
Ctrl + a 與 Ctrl + a切換至上一個 screen 視窗
Ctrl + a 與數字鍵 0 到 9切換至指定編號的 screen 視窗
Ctrl + a 與 n切換至下一個的 screen 視窗
Ctrl + a 與 p切換至下一個的 screen 視窗
Ctrl + a 與 w列出目前所有的 screen 視窗
Ctrl + a 與 "列出目前所有的 screen 視窗,並可用上下鍵選擇要切換的設窗
Ctrl + a 與 k關閉目前的 screen 視窗
Ctrl + a 與 d卸離 screen 工作環境
Ctrl + a 與 Esc 鍵(或Ctrl + a 與 [進入複製模式(copy mode),可用方向鍵操作捲軸,或用 / 與 ? 來搜尋,按下空白鍵開始選取要複製的內容,選取完成後再按下第二次空白鍵,即可複製,隨後使用 Ctrl + ] 可貼上複製的內容。
Ctrl + a 與 S將畫面分割成上下兩個區域
Ctrl + a 與 Q關閉分割畫面
Ctrl + a 與 Tab 鍵切換分割畫面
Ctrl + a 與 t顯示目前系統的時間與負載狀況
Ctrl + a 與 a送出 Ctrl + a
Ctrl + a 與 ?顯示說明
Ctrl + a 與 v顯示版本資訊
Ctrl + a 與 x鎖定 screen 螢幕
Ctrl + a 與 H開啟或結束 screen 紀錄功能
Ctrl + a 與 C清除 screen 視窗中的內容
Ctrl + aD 與 D強力卸離,卸離 screen 工作環境之後,直接登出
Ctrl + a 與 Ctrl + g視覺化鈴聲(visual bell)切換
Ctrl + a 與 i顯示目前 screen 視窗的資訊
Ctrl + a 與 l重繪目前 screen 視窗的內容

資料來源: