Ubuntu下搭建TFTP
1、安裝軟件包
sudo apt-get install tftpd tftp xinetd
2、建立配置文件
在/etc/xinetd.d/下建立一個配置文件tftp
sudo vi /etc/xinetd.d/tftp
內容如下
- service tftp
- {
- socket_type = dgram
- protocol = udp
- wait = yes
- user = root
- server = /usr/sbin/in.tftpd
- server_args = -s /tftpboot
- disable = no
- per_source = 11
- cps = 100 2
- flags = IPv4
- }
3、建立tftp服務文件目錄
在上面的配置中有server_args = -s /tftpboot,其中/tftpboot這個目錄就是上傳文件與下載文件的位置。
sudo mkdir /tftpboot --創建/tftpboot目錄
sudo chmod 777 /tftpboot -R --設置權限爲777
4、重新啓動tftp服務
sudo /etc/init.d/xinetd restart --重啓tftp服務器
5、測試
sudo netstat -a | grep tftp --查看是否啓動成功,可以看到udp 0 0 *:tftp *:*
1、通過vm的UI界面進行擴容基本上是不行的,至少在我的版本上是這樣,各種灰色按鈕,各種出錯;並且,界面擴容失敗後若打不開虛擬機,不要慌,只要你擴容之前的那個硬盤文件(我的是ubuntu64.vmdk,全編一個android項目後39G)還在,基本上是可以恢復的,一定要有耐心喲。另外,如果不是服務器級的硬盤,就不要使用快照了,感覺這個功能很坑爹,非常吃硬盤不說,關鍵是當它吃完你的硬盤後,你想刪除快照,對不起,您的硬盤已滿,請預留70G空間再刪除。於是你這時只有一種選擇,就是刪掉整個虛擬機。ps:不要試圖暴力刪除快照,如:刪快照到一半時取消,這樣會照成你的虛擬機永遠進不去也恢復不了,這會使得你在刪除整個虛擬機之前喪失備份關鍵數據的唯一機會。筆者經歷了災難性的數據損失,完全是血的教訓。
下面是使用命令行工具擴容。使用vmware提供的命令行工具vmware-vdiskmanager.exe,在windows下運行cmd,轉到vmware安裝目錄,vmware-vdiskmanager.exe可以查看幫助。輸入如下命令擴容:vmware-vdiskmanager -x 160Gb "D:\VMware\WinXP\myUbuntu.vmdk"。注:此時要擴容的系統不能在運行,參數 -x表示要擴展虛擬機的硬盤空間,緊隨其後的數字是要擴展到的大小。最後是制定要操作的虛擬機磁盤的具體文件。要是路徑名中有空格,必須以雙括號括起來。
2、重啓虛擬機,發現虛擬機的硬盤是變成50G了,但進入Ubuntu系統後,用df -ah查看發現硬盤還是原先那麼大。接下來要分區、指定文件系統,ubuntu才能識別。
3、分區。以root權限進ubuntu,
fdisk -l,打印當前磁盤分區表,這時我們可以看到磁盤總量的確增加到了前面設置的大小,但是分區還是隻有那幾個原有的分區。
fdisk /dev/sda ,sda就是經過擴容的SCSI硬盤,IDE類型的硬盤對應爲hda,這個命令告知下面對該硬盤進行操作。
m,列出幫助
n,添加新分區
p,創建主分區
3,或直接回車選擇默認分區號,應該也是3。
直接回車,採用默認Start值,此處不選擇默認值會浪費空間
再回車,採用默認End值
注意!!此時注意看清end - start的大小,如果只有很小的一段空間,需要再添加一個分區,按上述步驟執行,N,P,回車
v,檢查爲分配磁盤大小,若是隻有幾M或更小則成功。
w,保存並退出,分區完畢
重啓ubuntu
4、格式化新添加的分區:
mkfs -t ext3 /dev/sda3
5、掛載該分區:
手動掛載:sudo mount /dev/sda3 /mnt/sda3 表示將該新分區掛載到/mnt/sda3/這個目錄下。注,手動掛載的信息記錄在/etc/mtab
或者開機自動掛載,修改文件:gedit /etc/fstab,添加一行
/dev/sda3 /mnt/sda3 ext3 defaults, 0 1
到此便可以使用新分區了,df -ah查看結果
6、使用新分區
現在,硬盤中多出來的這80G空間,只有在/dev/sda3下才能用,在其它地方,使用的依然是system分區——也就是原來的那80G。但我要在其它地方存文件怎麼辦呢,可以用link來解決——把新分區中的內容映射到某個舊分區上,這樣佔用的新分區的空間,看起來確是存在舊分區某個你需要的位置。
命令例子:
mv /source/juice /mnt/sda3/source
ln -s /mnt/sda3/source/juice /source
這樣,就可以像原來那樣在/source/juice下做任何操作了,而它們實際發生在/mnt/sda3/source/juice下。
//-------------------------------------------------------------------------------------------------------------
若fdisk -l 指令顯示出當前分區中有extended類型的大容量分區,如:
[root@edes02 ~]# fdisk -l
Disk /dev/sda: 1979.1 GB, 1979119894528 bytes
255 heads, 63 sectors/track, 240614 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2135c370
Device Boot Start End Blocks Id System
/dev/sda1 1 5 40131 de Dell Utility
Partition 1 does not end on cylinder boundary.
/dev/sda2 * 6 267 2097152 c W95 FAT32 (LBA)
Partition 2 does not end on cylinder boundary.
/dev/sda3 267 330 512000 83 Linux
Partition 3 does not end on cylinder boundary.
/dev/sda4 330 240615 1930084160 5 Extended
Partition 4 does not end on cylinder boundary.
則可用以下命令直接擴容:
lvextend -L +100G /dev/mapper/VolGroup-lv_root
/dev/mapper/VolGroup-lv_root
其中/dev/mapper/VolGroup-lv_root是我的主分區
擴容成功提示:
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 35
Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 144179200 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_root is now 144179200 blocks long.
現在查看分區:
[root@edes02 ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 542G 27G 488G 6% /
tmpfs 16G 26M 16G 1% /dev/shm
/dev/sda3 485M 40M 421M 9% /boot
/dev/mapper/VolGroup-lv_home 79G 29G 46G 39% /home
Ubuntu 14.04下NFS安裝配置
參考:http://www.linuxidc.com/Linux/2013-08/89154.htm
1、執行命令:sudo apt-get install nfs-kernel-server ;
2、執行命令:mkdir /home/jacobxu/nfs-jacoxu建立一個nfs服務的專有的文件夾;
3、建立好文件夾後,接着執行命令:sudo vi /etc/exports配置nfs;
4、在文章的最後一行添加:/home/jacobxu/nfs-jacoxu *(rw,sync,no_root_squash,no_subtree_check)
/home/jacobxu/nfs-jacoxu *(rw,sync,no_root_squash,no_subtree_check)這一行的含義是:
/home/jacobxu/nfs-jacoxu:與nfs服務客戶端共享的目錄,這個路徑必須和你前面設置的文件的路徑一致!
*:允許所有的網段訪問,也可以使用具體的IP
rw:掛接此目錄的客戶端對該共享目錄具有讀寫權限
sync:資料同步寫入內存和硬盤
no_root_squash:root用戶具有對根目錄的完全管理訪問權限。
no_subtree_check:不檢查父目錄的權限。
5、修改完上述配置文件保存退出。
6、執行命令:sudo /etc/init.d/rpcbind restart重啓rpcbind 服務。nfs是一個RPC程序,使用它前,需要映射好端口,通過rpcbind設定。
7、執行命令:sudo /etc/init.d/nfs-kernel-server restart重啓nfs服務。
8、掛載指令:
sudo mount -t nfs 192.168.111.128:/home/jacobxu/nfs-jacoxu /nfs-jacoxu-node001/
到任意一臺服務器中執行掛載指令,則可以將指定ip服務器上的共享路徑,掛載到本地。
注:nfs只是一種文件目錄共享模式,以本地方式進行訪問。而HDFS是一種分佈式的文件系統,能夠在服務器中進行數據的負載均衡。
9、開機自動掛載:
把
上述指令 sudo mount -t nfs 192.168.111.128:/home/jacobxu/nfs-jacoxu /nfs-jacoxu-node001/寫到 /etc/rc.local文件中
附錄:NFS常用參數如下:
ro 只讀訪問
rw 讀寫訪問sync
所有數據在請求時寫入共享
async nfs在寫入數據前可以響應請求
secure nfs通過1024以下的安全TCP/IP端口發送
insecure nfs通過1024以上的端口發送
wdelay 如果多個用戶要寫入nfs目錄,則歸組寫入(默認)
no_wdelay 如果多個用戶要寫入nfs目錄,則立即寫入,當使用async時,無需此設置。
hide 在nfs共享目錄中不共享其子目錄
no_hide 共享nfs目錄的子目錄
subtree_check 如果共享/usr/bin之類的子目錄時,強制nfs檢查父目錄的權限(默認)
no_subtree_check 和上面相對,不檢查父目錄權限
all_squash 共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄。
no_all_squash 保留共享文件的UID和GID(默認)
root_squash root用戶的所有請求映射成如anonymous用戶一樣的權限(默認)
no_root_squas root用戶具有根目錄的完全管理訪問權限
anonuid=xxx 指定nfs服務器/etc/passwd文件中匿名用戶的UID
anongid=xxx 指定nfs服務器/etc/passwd文件中匿名用戶的GID
剛開始用的ubuntu10.04,無論如何搞都不成功,最後無奈選擇 fedora14,nfs成功,現記錄如下:
1 如果沒有安裝nfs則安裝nfs,每種發行版linux安裝方法不同
2 改寫 /etc/exports文件,我增加了一行 /root *(sync,rw,no_root_squash)
sync,rw,no_root_squash的意思可以網上查一下,直接搜 nfs配置,多點一個就有介紹了
3 開啓nfs
fedora下開啓方法 service nfs start /status/stop/restart
4 保證開發板,WIndows(宿主機),linux(虛擬機)能夠互相ping通,注意關閉Windows防火牆及federo的防火牆及SELinux功能
5 開發版上找載NFS,這一步如果這樣:mount -t nfs 192.168.1.106:/root share這樣執行不成功,顯示
svc: failed to register lockdv1 RPC service (errno 111).
lockd_up: makesock failed, error=-111
把上述命令改爲:mount -t nfs -o nolock 192.168.1.106:/root share 成功
說是 nfs mount默認是帶鎖的,所以要取消鎖,具體不懂
需要將在linux裏交叉編譯好的程序放在arm上運行,所以首先要將程序copy至arm上,選擇了nfs。
但在arm上mount nfs的時候遇到了失敗的情況:
在網上查找解決方案:
nfs mount 默認選項包括文件鎖,依賴於portmap提供的動態端口分配功能。
解決方法:kill文件鎖(lockd)或者mount -o nolock
於是嘗試mount -o nolock -t nfs 192.168.1.24:/home/test /mnt/nfs,正常工作。
Ubuntu 14.04 修改密碼
安裝完Ubuntu 14.04後默認是沒有主動設置root密碼的,也就無法進入根用戶。
1、用當前登錄用戶打開終端,在終端輸入命令 sudo passwd,輸入當前用戶的密碼然後回車
2、會提示輸入新密碼,輸入完成後回車
3、然後提示再輸入一次新密碼以確認,然後回車,設置成功
linuxidc@ubuntu:~$ sudo passwd
[sudo] password forlinuxidc:
輸入新的 UNIX 密碼:
重新輸入新的 UNIX 密碼:
passwd:已成功更新密碼
linuxidc@ubuntu:~$
注意:這個新密碼就是root的密碼,可以與當前用戶的密碼不同。
在終端中輸入 su root,然後輸入root的密碼,驗證成功即可切換到root用戶。在root用戶下做完操作後,用exit命令即可退出root用戶,退回當前登陸用戶。
ubuntu 14.04 install java8 Eclipse
1、下載JDK
從官網下載jdk8
jdk-8u45-linux-i586.gz
2、解壓
$ tar -zxvf jdk-8u45-linux-i586.gz
解壓出來是一個jdk1.8.0_45文件夾
3、將文件夾移動到安裝目錄
$ sudo mv jdk1.8.0_45 /usr/local/
或者:
sudo tar xzvf jdk-8u45-linux-i586.gz -C /usr/local
4、配置環境變量 ,更改/etc/profile文件
sudo gedit /etc/profile
在文件最後加上如下幾行:
export JAVA_HOME=/usr/local/jdk1.8.0_45
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
5、更改默認JDK配置選項 ,依次執行如下命令
sudo update-alternatives --install /usr/bin/java java /usr/local/jdk1.8.0_65/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk1.8.0_65/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /usr/local/jdk1.8.0_65/bin/jar 300
sudo update-alternatives --install /usr/bin/javah javah /usr/local/jdk1.8.0_65/bin/javah 300
sudo update-alternatives --install /usr/bin/javap javap /usr/local/jdk1.8.0_65/bin/javap 300
eclipse官網下載壓縮包
下載地址:http://www.eclipse.org/downloads/
解壓縮到/usr/local
sudo tar xzvf eclipse-standard-luna-R-linux-gtk.tar.gz -C /usr/local
tar的-C參數指定了文件解壓後所在的目錄