Đang mày mò thằng Ubuntu thì gặp một vấn đề vô cùng khó chịu đó là không thực thi được những file đã compile được trên ổ đĩa Win (Ubuntu mount vô). Sau một hồi tìm hiểu thì mình đã hiểu ra vấn đề: permission của đĩa.
Dùng lệnh sau:
gksu gedit /etc/fstab
File này chứa danh sách tất cả các partition mà người dùng muốn mount, mỗi dòng là một partition (dấu "#" đầu dòng báo hiệu dongf đó là chú thích - comments).
Đừng thay đổi, xóa các dòng đã được ghi sẵn trên file.
- Tìm thông tin về partitions, bao gồm: địa chỉ partition, UUID, nhãn. Gõ lệnh sau:
sudo blkid -c /dev/null
dòng lệnh này sẽ hiện các thông tin về partitions.
- Tạo các thư mục chứa các partition:
sudo mkdir /media/Data
- Chọn tiêu chuẩn tập tin (NTFS): ở đây là "ntfs-3g".
- Các tùy chỉnh khác:
- uid=#### chỉ định userid nào sẽ kiểm soát tập tin trên phân vùng đó. Ví dụ: "uid = 1000" nghĩa là userid = 1000 sẽ kiểm soát các tập tin. Để tìm UID của user dùng lệnh sau: "echo $UID"
- gid=#### chỉ định ID nhóm (groupid) sẽ kiểm soát các file trên phân vùng đó. Khái niệm tương tự userid. Để tìm các goupid dùng lệnh sau: "cat /etc/group". Thông thường nếu không muốn phiền toái thì UID = GID.
- umask=UGO [Quan trọng] . Mỗi chữ cái tương ứng với các số từ 0 đến 7 - chỉ định permission (quyền truy cập). Các số này trái ngược với các thông số thông thường. Trong thiết lập thông thường 7 nghĩa là "đọc, viết, thực thi" thì trong fstab có nghĩa là "không có đặc quyền nào". U = quyền cho user, G = quyền cho nhóm, O = quyền cho other. Ví dụ: umask = 000 nghĩa là mọi người đều có quyền truy cập và chỉnh sửa partition.
Cấu trúc trong fstab( trong dấu [] nghĩa là tùy chọn):
["LABEL=Windows" | "UUID=ABCDEFGHIJKLKLMNOP"] <Địa chỉ partition> <Địa chỉ thư mục lưu partiotion được mount> ntfs-3g defaults, <uid = ####> , <gid = ####>, <umask = UGO> 0 0 Ví dụ: /dev/sdb5 /mnt/Music ntfs-3g defaults,uid=1002,gid=1500,umask=227,dmask=022,fmask=133 0 0
UUID=ABCDEFGHIJKLKLMNOP /media/Windows ntfs-3g defaults,auto,uid=1000,gid=1000,umask=002 0 0 Khởi động lại máy rồi gõ lễnh "
sudo mount -a" là có thể excute các file compile.
Update: Sử dụng gói
ntfs-config
Click chọn vào phân vùng dùng để compile code. Sau đó tick vào mục
Enable Write Support for internal device. Nếu muốn chắc chắn thì tick vào cả 2 mục đều được.