Virtual Box虛擬機安裝Ubuntu16.04以及整理的一些基本操做

  事先聲明,參考自:http://www.javashuo.com/article/p-boksldmp-m.htmlhtml

  撰寫此文,純屬是爲了便利之後換電腦重裝。mysql

 

Linux簡介

什麼是 Linux

  Linux:世界上不只只有一個 Windows 操做系統,還有 Linux、mac、Unix 等操做系統。桌面操做系統下 Windows 是霸主,而 Linux 的桌面操做系統用的人不多,由於 Windows 有的不少軟件在 Linux 下沒有或者很弱;服務器操做系統則反之。Linux 有一個強大的服務器軟件生態系統:Docker、Redis、MySQL、Nginx、Hadoop 等等。linux

Linux 和 Windows 有哪些不同?

  1. 使用 Windows 傾向於 GUI 操做,Linux 雖然也能夠安裝圖形界面,可是 Linux 傾向於命令行操做。用 Linux 就要用命令提示符操做,命令行操做的優勢慢慢就會體會了(能夠自動化、能夠精確控制、能夠組合命令)。
  2. 底層 api 不同,所以可執行程序不互通;有一些軟件同時在 windows 和 linux 下做了移植;
  3. windows 下的命令到了 linux 下不必定能用;
  4. windows 下主要根據文件的擴展名區分文件類型,linux 中能夠沒有擴展名;
  5. Linux 不一樣版本使用方法、配置文件可能變化很大,要本身查、反覆試;
  6. 易錯的地方:Linux 中文件名是區分大小寫的

Linux 內核和 Linux 發行版

  Linux 內核由 Linus 及開源社區維護,內核包含內存管理、存儲管理、進程管理、網絡通信等基礎模塊。不少公司、開源組織基於 Linux 內核打包出了不少「發行版」,不一樣的發行版的內核版本可能不一致,包含的軟件也不一致,界面差異較大,可是命令行操做都是互通的,大部分程序也是互通的。ios

  內核和發行版的關係就像 Android 內核和「小米手機系統、華爲手機系統」的關係同樣。程序員

  經常使用的發行版有 RedHat、CentOS、Debian、Ubuntu 等等。這裏咱們用 Ubuntu,由於 Ubuntu 內置的軟件最適合程序員,其餘發行版要本身裝。固然也有一些人鑽木取火的人瞧不起用Ubuntu 的人。正則表達式

虛擬機

什麼是虛擬機?

  使用 Linux 最好是在計算機上直接安裝 Linux 系統,最起碼也是雙系統啓動。不過擔憂初學者搞砸了本身的電腦,並且 Linux 不太適合平常使用。所以咱們使用虛擬機軟件在sql

  Windows 上虛擬出一臺電腦出來,在這臺虛擬的電腦上安裝 Linux。shell

  使用虛擬機的好處:不破壞物理電腦是,隨便搞。壞處:不真實、操做卡。數據庫

  Windows 下的虛擬機軟件有 VMWare、Virtual Box、HypverV 等。這裏咱們使用開源免費的 Virtual Box。canvas

  電腦若是配置太差跑不起虛擬機,只能升級電腦,加內存就差很少。

 

Windows平臺VisualBox安裝:

  資源:連接: https://pan.baidu.com/s/13WwgGuGfQgDOGSnN0qaWWA    提取碼: mhtk 

也能夠用VMware:

  密鑰:YA18K-0WY8P-H85DY-L4NZG-X7RAD

  連接: https://pan.baidu.com/s/1c8XIt8hSBFS9HWKNmrO89w      提取碼:   u8qw  

 安裝方法網上千篇一概,一路 Next 就能夠,在此再也不贅述。

下載 Ubuntu 的 iso 文件

  資源:連接: https://pan.baidu.com/s/1ZR_5jgzNsGeOrkE6hAqxEA 提取碼: qiaf 

  下面會用到。

建立Ubuntu虛擬機:

  1. 新建一個虛擬機。

  (須要選 64 位 Ubuntu,不要選成 32 位,由於一些軟件不支持 32 位系統。  若是不能選擇 32 位的版本,那麼說明你的電腦主板沒有啓用虛擬化,須要進入電腦 bios 設置啓用虛擬化。不一樣版本主板的啓用虛擬化的方法不同,具體請根據你主板的型號去網上搜索。有部分老電腦主板不支持虛擬化,這就沒辦法了)

  

 

 

  2. 虛擬電腦內存至少 2G 纔不卡。

  

 

  3. 建立虛擬硬盤。

  

  

  

  

 

  4. 配置虛擬機,加載 iso 虛擬光盤文件。

  

 

  

 

 

  5. 把 iso 文件加載到光驅中(至關於 Linux 安裝光盤插入光驅),而後啓動虛擬機。直到運行到 Linux 安裝畫面。

  

  

  

 

  

 

  

  

  

 

  

 

  

 

 

配置Linux

  輸入安裝 Linux 時候設定的密碼。

  圖形化的程序儘可能不要用,在桌面上點右鍵→打開終端。在不少生產服務器下,是沒有裝圖形化程序的,就是直接命令行界面操做,根本就進不了圖形界面。

  

  儘可能不要用圖形界面,全部操做均可以在「終端」中完成,所以後續操做都儘可能在「終端」中進行。

  也忘了鼠標,別妄想在終端中用鼠標。

  不要想「終端中聽歌、看電影、上網」,場景不對。

  

 

 

使用習慣

  實際上是能夠「共享文件夾」在虛擬機和宿主機之間共享文件等操做。可是虛擬機使用 linux 的時候,不要想着還有「宿主機(Host)」,不要想着怎麼「共享文件夾」,就把當成兩臺電腦就能夠。共享文件的方式就經過經典的 ftp 跨服務器的等方式,就像兩臺電腦同樣。

  能夠「共享粘貼板」,可是別這麼懶,那就是一臺單獨的電腦,你怎麼複製粘貼?  虛擬硬盤、虛擬光盤(iso)、虛擬內存、虛擬 cpu。虛擬出來的電腦和主機(Host)之間沒有直接的聯繫,也不會互相干擾。

備份

  VBox 安裝完成後能夠作一個「備份」(主菜單【控制】→【生成備份】),這樣萬一把虛機系統搞亂了還能夠還原回來,能夠建立多個「備份」,至關於「還原點」。

鎖屏

  爲了不反覆鎖屏,在設置→亮度和鎖屏中關閉「鎖屏」;

  VBox 窗口能夠調整大小,虛擬機中的系統會自動調整分辨率,有的電腦不支持。

網卡

  虛擬機的網卡有時候會有問題連不上網,這時候就要在虛擬機的設置中先取消網卡再從新選擇網卡,至關於插拔網線。

 

 

Linux 的基本命令

文件操做

  • Windows 是多根的文件系統,物理上是 1 到多塊硬盤,邏輯上分爲 C、D、E……盤,每一個盤都是一棵樹。Linux 是單根的文件系統,不分 CDE 盤,多塊硬盤/U 盤/光盤也是至關於多個文件夾。不一樣硬盤/U 盤/光盤對應的文件夾叫作「掛載點」把外部存儲設備放到文件系統樹的過程又叫作「掛載(mount)」
  • Linux 下不管是文件仍是命令都是大小寫敏感的。
  • 小白說「文件夾」,專業人士說「目錄」(Directory) 

Linux 經常使用根目錄的做用

  • boot  存放用於系統引導時使用的各類文件
  • bin  存放二進制可執行文件(ls,cat,mkdir 等)
  • sbin 存放二進制可執行文件,只有 root 才能訪問
  • usr  用於存放系統應用程序,比較重要的目錄/usr/local 本地管理員軟件安裝目錄
  • opt  額外安裝的可選應用程序包所放置的位置
  • dev 用於存放設備文件
  • etc  存放系統配置文件
  • home 存放全部用戶文件的根目錄
  • lib  存放跟文件系統中的程序運行所須要的共享庫及內核模塊
  • tmp  用於存放各類臨時文件
  • var  用於存放運行時須要改變數據的文件
  • mnt  安裝臨時文件系統的安裝點

 經常使用文件操做命令

  • 工做目錄(working directory)就是「當前目錄」 l 顯示當前工做目錄 pwd (print work directory)
  • 顯示當前目錄下的文件、目錄 ls 或者 dir
  • 切換工做目錄  cd  (Change Directory):cd ./test  切換工做目錄到當前目錄下的 test 目錄(cd 後不要忘了空格);cd .. 到上一級目錄;cd /很顯然就是返回根目錄
  • 新建目錄 mkdir   (Make Directory):mkdir test 有的系統目錄下是沒有權限建立文件夾的。用戶的文件通常放到 home 的本身的用戶名下
  • 刪除目錄:rmdir (Remove Directory) 刪除空目錄;rm(Remove)刪除文件;rm -r  testA 刪除目錄及其下全部文件(-r 就是 recursive 的簡寫。*坑人的指令:rm -rf /)。
  • mv 移動文件
  • cp  複製文件
  • 查看文本文件內容:cat(一會兒全顯示,適合小文件);more(分頁顯示,q 退出)
  • 查找文件:find   -name 'a*'     在當前目錄下查找文件名以 a 開始的文件。不要丟了''

其餘經常使用命令

  • ps  查看當前用戶當前運行的進程;查看全部運行中的進程 ps –ef
  • reboot 重啓 七、 shutdown  now當即關機(備註:課程中寫錯了,寫成了shutdown –now,應該是shutdown now)
  • 退出終端:exit
  • clear 清理當前顯示或者快捷鍵:ctrl+L
  • 上下鍵能夠快速恢復歷史命令。能夠經過 tab 鍵完成當前目錄下文件或者子目錄的自動填充,若是遇到多個前一部分同樣的會自動完成同樣的前一部分。ctrl+c 取消當前輸入的命令從新開始。
  • tar 命令,將文件夾打包成一個文件,同時可進行壓縮命令格式,打包  tar  -c -f  歸檔文件   須要打包的文件,解開  tar -x  -C 解開到指定目錄  -f  歸檔文件
  • man 命令,各個命令的手冊,好比 man dir;按 q 退出。linux 命令很是多、參數很是多,只要會搜就行,慢慢記住的愈來愈多。

 

  • Linux 管道命令:一個軟件或一個命令 要想完成一件事情,一般都須要輸入原始數據 , 處理後 , 再把處理的結果輸出到一個地方(保存到文件或者顯示在屏幕上),Linux 的管道是這樣一個東西,它能夠把上一個命令的處理結果做爲下一個命令的輸入數據,供下一個命令使用。例如:
    • ps -ef | grep bash
      • netstat -a  |  more 3) 所以 cat 1.txt|more 也能夠達到 more 1.txt 的效果

 

  • sudo:基於安全考慮,通常不建議使用超級用戶權限登陸 linux;而是平時使用低權限用戶訪問,須要高權限的操做再用 sudo 後跟着指令。好比在/下沒法建立文件夾,可是 sudo mkdir a 就能夠,固然須要輸入密碼。su 就是「super user」的簡寫,sudo 就是「用超級用戶權限執行命令」

VI 編輯器

VI 簡介

  若是使用 linux 桌面,也有一些圖形化文本編輯器(相似於記事本),但 linux 的神級編輯器是 VI,若是連 VI 都不會用就別說會用 linux。

  在不少環境下是沒有圖形界面的,只能用 VI。VI 是全鍵盤操做,不能用鼠標。固然平常開發仍是在圖形界面下使用 VS 等開發,使用 VI 通常是進行簡單的修改或者配置文件的修改。

  VI 剛接觸感受很痛苦,用熟了也挺爽的,VI 命令很是多,初學掌握基本的操做便可。vim 是 VI 的增強版。

vi 的運行模式

  

  命令模式下能夠進行行刪除等命令的輸入(至關於快鍵鍵);

  插入模式下能夠進行文本的輸入;

  末行模式下是執行保存、退出等指令用。  

  易混:插入模式下若是直接輸入:就是輸入:了,所以要先 esc 退出插入模式

末行模式的指令

  • :wq 保存而後退出   w→write,q→quit    若是是「vi 文件名」方式執行的,則直接寫入到指定的文件名中,不然要「:wq 文件名」。
  • :q! 不保存退出
  • :w 保存不退出
  • 在末行模式中輸入「!shell 指令」能夠不離開 vi 執行 shell 指令

命令模式的命令

  • 移動輸入光標,不能在插入模式下按上下左右鍵。要 esc 先回到命令模式下;
  • shift+^移到行首;shift +$移到行尾。聯想一下正則表達式中就好記了;
  • ctrl+b:上滾一屏;ctrl+f 下滾一屏;  b→backward;f→forward
  • dd:刪除當前一行;x 刪除當前字符
  • 撤銷:上一次的操做 u;undo 的簡寫
  • o:在當前行下新增一行(由於若是移動到行尾再回車的話仍是在最後一個字符前回車)自動進入插入模式。
  • i:在當前光標前面插入,a:在當前光標後面插入。a→append(附加)也是自動進入插入模式。

 還有一個傻瓜化字符界面編輯器 nano,底下提示信息中^X 的意思就是 ctrl+X。不是每一個Linux 上都安裝 nano,有時候須要本身裝。

軟件的安裝

  linux 下不少軟件都是本身下載源代碼、本身編譯的,有點痛苦。所以不少發行版都有本身的安裝包格式。好比 RedHat 使用*.rpm 的文件,Ubuntu 使用*.deb 文件。

  本身查找、下載安裝仍是很麻煩。所以不少發行版中都提供了相似於應用市場、NuGet 的東西。

  Ubuntu 推薦使用 apt 進行下載、安裝。會從 ubuntu 官網下載(中國區鏡像),若是下載速度慢的話,能夠設置從其餘鏡像下載,具體搜索「Ubuntu apt-get  鏡像」 執行某些程序的時候,若是程序沒安裝,還會提示你,好比執行 vim、tree 等。

  安裝軟件須要 sudo 執行。以下:

    • 安裝 「sudo apt-get install 程序名」,好比「sudo apt-get install vim」
    • 卸載「sudo apt-get remove 程序名」

 

重要配置

網絡配置

    • 使用 ifconfig 命令查看網絡配置信息,查看 ip 地址和網卡物理地址(MAC 地址)
      要先執行 sudo apt install net-tools 命令安裝 net-tools 

  

  • 虛擬機和主機之間組建了一個局域網,虛擬機經過主機上網。虛擬機的設置的「網絡」中能夠設置不一樣的鏈接方式。主機能夠經過 ifconfig 看到的 ip 地址鏈接虛擬機的網絡。

  • 虛擬機的網絡鏈接方式有不少種,最主要有三種:HostOnly 、NAT、橋接(Bridge)。HostOnly 配置較麻煩,須要懂不少網絡工程的東西;NAT 是虛擬機藉助於主機網卡訪問網絡,藏在主機後面,網絡中其餘設備不能這個虛擬機,連主機都不能,可是虛擬機能鏈接主機的網絡,能上外網;橋接(Bridge)方式則是把虛擬主機也暴露爲網絡中的一個設備,主機和虛擬主機在網絡內是平等的,能夠互相訪問,可是要求網絡中沒有設備訪問的限制(好比 Mac 地址綁定或者終端個數限制),若是有限制要改路由器的配置。由於我們須要主機和虛擬機互相訪問,除非網絡有限制,不然最好配置爲橋接(Bridge),配置橋接(Bridge)要選擇經過哪一個網卡上外網,不能選錯了,不然就沒法訪問外網了。後面咱們都配置爲橋接(Bridge)。

  • 虛擬機的 ip 地址可能變化,注意。

 

SSH 服務

  運維人員是怎麼遠程鏈接到機房上的服務器,不多使用圖形界面(卡,沒法自動化)遠程登陸有專門的通訊協議 telnet, telnet 就是經過網絡進行命令行操做服務器。只有服務器端開始了遠程登陸服務,客戶端才能經過 telnet 協議控制服務器端。

  但 telnet 協議使用明文傳輸數據,這會形成嚴重的安全性問題,因此如今幾乎不推薦使用, 而替代協議是 SSH。SSH 通信過程數據是加密的。

Linux 安裝使用 OpenSSH

  • Ubuntu 默認只安裝了客戶端 openssh-client
  • 安裝服務器: sudo apt-get install openssh-server
  • 查看服務器是否開啓:netstat -tlp 
  • 啓動 sudo /etc/init.d/ssh start 
  • 重啓 sudo  /etc/init.d/ssh restart
  • ssh 服務默認端口 22,可經過修改配置文件修改端口/etc/ssh/sshd_config 

  windows 下如何經過 ssh 鏈接到 linux  :下載運行 putty,免安裝。

  linux下重啓網絡服務: /etc/init.d/network restart 或者是 /etc/init.d/networking restart 

  putty登陸SSH終端出現的「Access Denied」提示:只要在Putty的configuration裏面Connection-》SSH-》Auth【認證】-》GSSAPI的配置中,去掉默認的Attempt GSSAPI authentication(ssh-2 only) 一項前面的對勾。

  

  

  若是顯示中文亂碼,則在 putty 標題欄點擊右鍵,選【change settings】點【Translation】,選 UTF8 編碼。

  

 

  新顯示會不亂碼,舊顯示還會亂碼。

  後續都經過 ssh 鏈接操做,這也是平時鏈接服務器時候的常規操做:windows 下開發,而後部署到 linux 下運行。

 

使用 mysql

安裝 mysql 服務器

  • sudo apt-get install mysql-server
  • 根據提示設置 root 用戶的密碼,測試時候設置爲 123456(安裝mysql5.7未提示輸入密碼,安裝後修改mysql密碼默認密碼)
  • sudo apt-get install mysql-client 安裝管理客戶端
  • mysql -uroot -p123456 經過管理 客戶端鏈接 mysql,若是不報錯就 ok。mysql –u 用戶名 –p 密碼。mysql –uroot –p123456
  • mysql 客戶端中執行(不要在 shell 中直接執行)show databases;(不要丟告終尾的英文分號)查看有哪些數據庫; 執行一下 select now();正確執行。執行「quit;」 退出 mysql 客戶端。
  • 基於安全考慮,mysql 默認只能本機鏈接。若是想經過其餘電腦鏈接(好比主機訪問虛擬機中的 mysql),就須要配置。最好不要配置成任意電腦均可以鏈接,由於危險。要配置成只容許某些 ip 訪問。

設置Mysql密碼

  • 進入到etc/mysql 目錄下,查看debian.cnf文件 sudo cat /etc/mysql/debian.cnf 

  

  •   找到用戶名,密碼 ,使用此帳號登陸mysql。

  用戶名:user信息

  密碼:passworrd信息

  登陸:mysql -uuser信息 -ppassword信息

  •   修改root用戶的的密碼

這裏是關鍵點,因爲mysql5.7沒有password字段,密碼存儲在authentication_string字段中,password()方法還能用
在mysql中執行下面語句修改密碼

  

use mysql;
// 下面這句命令有點長,請注意。
update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password"; 
flush privileges;
quit;
  •   修改完密碼,須要重啓mysql
/etc/init.d/mysql restart;
//或者
sudo service mysql restart
  •   再次登陸

  mysql -u root -p密碼;

  •   卸載:
sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
  •   安裝:
# 安裝的時候會提示要設置root密碼,若是你沒有在卸載的時候去清理殘留數據是不會提示你去設置root密碼的 ,個人就沒提示,能夠用上面的方法修改密碼
sudo apt-get install mysql-client mysql-server
 
 
#檢查mysql是否是在運行
sudo service mysql status
 
 
#通常安裝完成以後都是會自動運行的,若是沒有運行能夠start
sudo service mysql start

 

配置 MySQL 遠程訪問(須要網絡配置爲橋接網絡)

  • 編輯 mysql 的配置文件 mysqld.cnf ,因爲 mysql 是系統服務,所以須要以 su 運行 vi,纔有權限,執行  sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 。因爲不一樣 mysql 版本配置文件的位置可能不同,所以最好的找路徑的方式就是 cd、dir 一級級的看看。(linux 下不一樣版本差別性很大,以前查資料都是改/etc/mysql /conf.d/mysql.cnf,可是使用 status;命令查詢 mysql 版本以後搜索「mysql 5.7 遠程訪問」才找到正確的作法。)
  • 把 bind-address = 127.0.0.1 註釋掉。
  • 執行 sudo /etc/init.d/mysql restart 重啓mysql服務
  • 在主機上執行 ifconfig (Linux下是ifconfig、Windows下是ipconfig),查看主機的ip 地址是多少(別看錯了,也別當作虛擬機的ip),假如是192.168.0.11
  • 執行 mysql -uroot -p123456 (-u後面的是用戶名、-p後面的是密碼,根據你的配置作修改。不要在-u和-p輸入空格)進入mysql服務器後
  • 執行 grant all privileges on *.* to root@"192.168.0.11" identified by "這裏換成密碼" with grant option;       注意:不要丟了末尾的分號,不要直接在命令行下輸入,要進入mysql再執行。
  • 再執行  flush privileges;    注意:不要丟了末尾的分號,不要直接在命令行下輸入,要進入mysql再執行。

主機上鍊接虛擬機內的 mysql 必定要鏈接虛擬機的 ip,別連錯了。

主機的 ip 若是變了就要從新配置。

 

 

 

 

安裝vsftp服務器

安裝

  什麼是 ftp:經過 ftp 進行文件的上傳下載

  執行 sudo apt-get install vsftpd 命令進行安裝

配置

  這時候能夠用 linux 用戶登陸,可以訪問/home/用戶名的文件夾下。可是沒有上傳權限。須要 sudo vi /etc/vsftpd.conf  將 write_enable=YES 前面的#取消,而後執行  sudo /etc/init.d/vsftpd restart  重啓

 

  Windows 下可使用 FileZilla FTP Client 等 FTP 客戶端上傳下載

  中文會有亂碼,不用處理,上傳下載比較多的文件都壓縮。linux 解壓使用 unzip「unzip a.zip」。不要傳 rar 等格式。

相關文章
相關標籤/搜索