1. 程式人生 > >給Linux系統配置環境的詳細步驟及解決辦法

給Linux系統配置環境的詳細步驟及解決辦法

1. 重要的事情放到第一行來強調,真的真的強烈建議在把環境設定成英文。因為有時候中文的錯誤提示會變成亂碼,出現一些不明其所以然的error,在處理這種錯誤會耗費極大量的時間。

2. 第二重要的事情,建議看我另一篇關於解決配置出現問題的思路。而不是直接看這篇部落格裡,每種error的解決方法,在通過自己的努力去不斷尋找解決問題的方法,不僅可以收穫解決問題時那種快樂,還能收穫在解決問題時候的思路和套路。

  1. 第一件事是先換源
    首先是開啟設定裡面的軟體與更新。
    在這裡插入圖片描述 如果是Ubuntu18.04系統就要麻煩一些,要在終端輸入sudo update-manager,才能開啟。

    先勾選第一頁的所有選項,然後下載源選擇other其他,進入介面,選擇自動檢測。電腦就會自動檢測最適合的源。選擇一個合適的源可以在後面的下載安裝中節省大量的時間。
    在這裡插入圖片描述


    然後是第三頁updates,也全部勾選。關閉。在這裡插入圖片描述

  2. 許可權
    不論是在安裝模組還是安裝依賴包的時候,總有些時候需要許可權,如果出現了“沒有許可權”或者是“permission”這種error,只要在命令前加入sudo即可。如果不是個人電腦,則可以用chmod。

  3. 準備工具
    在配置環境之前需要提前安裝好以下這些工具,否則在配置環境的時候就會報錯,提示你不能處理檔案或者是缺少依賴包。
    “vim” “gcc” “g++” “qt4” ”qt5" “ffmpeg” “libopencv-dev” “kernel” “nvcc" “yum” “python-pip” “gst123”…
    在終端輸入命令安裝:

    sudo apt-get install vim
    sudo apt-get install gcc
    sudo apt-get install g++
    sudo apt-get install qt4*
    sudo apt-get install qt5-default
    sudo apt-get install qtcreator
    sudo apt-get install ffmpeg
    sudo apt-get install libopencv-dev
    sudo apt-get install linux-kernel-headers
    sudo apt-get install kernel-package
    sudo apt-get install yum
    sudo apt-get install python-pip
    sudo apt-get install gst123
    

    最好不要合併成一條命令安裝,容易報錯。
    安裝好這些就可以避免在後面的配置中再依次去安裝了,下面進入下一步。

  4. 安裝
    建議安裝順序:
    cmake → cuda → cudnn → opencv → Anaconda3 → caffe
    因為後面的有些會依賴於前面的環境。

    1. cmake
      最快捷的方法是:

      sudo apt-get install cmake
      

      也可以去官網上下載安裝包然後:

      tar -zxvf cmake-3.12.0.tar.gz
      cd cmake-3.12.0
      (新增許可權)./bootstrap --prefix=/home/jcfszxc/local/(注:這裡填的是路徑) 
      (新增許可權)make -j4 
      make install
      
    2. cuda
      cuda是最麻煩的,先到官網下載安裝包 (*.run),並移動到主目錄便於尋找。

      (新增許可權)vim /etc/modprobe.d/blacklist.conf
      

      在最下方新增blacklist nouveau , 通過wq!強制儲存退出。
      遮蔽 nouveau 並更新核心

      sudo update-initramfs -u
      

      重啟電腦,按ctrl + alt + f1 進入文字介面,執行下面語句關閉X server

      sudo /etc/init.d/lightdm stop
      

      如果不行,就輸入這串程式碼進入root模式,再執行關閉X server的命令。

      sudo su root
      

      開始安裝

      chmod a+x cuda_8.0.61_375.26_linux.run
      ./cuda_8.0.61_375.26_linux.run
      

      跳出百分比的文字介面的時候,按住空格跳過,然後就是各種yes accept 和安裝路徑的輸入。
      安裝完成後,輸入這下面的程式碼恢復X server

      sudo /etc/init.d/lightdm restart
      

      新增環境變數並重新整理
      如果沒有記錯的話,好像cuda也是可以通過apt來安裝的。。。那樣就不用這麼冗長的步驟了。
      可以通過nvcc -V來檢視環境變數是否配置成功。
      如果再安裝英偉達顯示卡的時候出現了i915檔案的缺失,會出現這樣的提示:
      W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915
      這時候要去官網下載對應丟失的那個檔案,並將它加入到提示的目錄中去。
      附網址:
      https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915

    3. cudnn
      老規矩,官網下載安裝包。

      tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz
      cd cuda/include
      cp cudnn.h /home/jcfszxc/local/cuda_8.0.61/include
      cd ../lib64
      cp -a lib* /home/jcfszxc/local/cuda_8.0.61/lib64
      
    4. opencv
      這也十個麻煩的傢伙。首先它的安裝需要非常久的時間,其次它需要很多依賴的工具,之前準備的很多工具都是再為了這個opencv服務的。

      unzip opencv-3.3.0.zip
      cd opencv-3.3.0 
      mkdir build
      cd build
      cmake \
      -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/home/jcfszxc/local  \(注:這裡又是路徑)
      -D WITH_TBB=ON \
      -D BUILD_NEW_PYTHON_SUPPORT=ON \
      -D WITH_V4L=ON \
      -D INSTALL_C_EXAMPLES=ON \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D BUILD_EXAMPLES=ON \
      -D WITH_QT=ON \
      -D WITH_OPENGL=ON ..
      make -j4
      (新增許可權)make install
      

      耐心等待
      配置環境:

      vim ~/.bashrc
      

      在最後面加上

      export PATH=/home/jcfszxc/local/bin${PATH:+:${PATH}}
      export LD_LIBRARY_PATH=/home/jcfszxc/local/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
      export C_INCLUDE_PATH=/home/jcfszxc/local/include${C_INCLUDE_PATH:+:${C_INCLUDE_PATH}}
      export CPLUS_INCLUDE_PATH=/home/jcfszxc/local/include${CPLUS_INCLUDE_PATH:+:${CPLUS_INCLUDE_PATH}}
      export PKG_CONFIG_PATH=/home/jcfszxc/local/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}
      

      注意上面的路徑要填自己安裝的路徑。
      然後重新整理環境變數

      source ~/.bashrc
      
    5. Anaconda3
      這個會簡單一點。去官網下載 .sh 的那個安裝包。
      終端輸入:

      sh Anaconda3-5.2.0-Linux-x86_64.sh
      

      按照步驟安裝完成即可。

    6. caffe
      配置caffe必須要保證前面的那麼多全部配置成功才能繼續進行。否則不能成功配置。
      cafe的依賴包很多,這裡另外列出來:

      pip install --ignore-installed -U pip numpy pyyaml matplotlib setuptools Cython mock scipy typing future protobuf opencv-python memory-profiler
      

      如果不能安裝的話,可能是沒有安裝好pip,用

      sudo apt-get install pip
      

      啊,在安裝caffe的時候可能運氣比較差,沒有碰上什麼麻煩的error。按照這麼個步驟就解決了。
      先使用Git下載caffe包,然後在/home裡面找到caffe,解壓並進入資料夾。下一步

      sudo cp Makefile.config.example Makefile.config 
      sudo gedit Makefile.config
      

      將 #USE_CUDNN := 1 修改成:USE_CUDNN := 1
      將 #OPENCV_VERSION := 3 修改為:OPENCV_VERSION := 3
      將 #WITH_PYTHON_LAYER := 1 修改為 WITH_PYTHON_LAYER := 1

      1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
      2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
      修改為:
      1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
      2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

      開啟makefile檔案
      將:NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
      修改為:NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

      sudo gedit usr/local/cuda/include/host_config.h
      將:
      #error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
      修改為:
      //#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

      現在可以開始安裝了。
      我貪圖速度,想直接用make -j來安裝,然後宕機了。。。所以還是推薦使用make -j4來安裝,如果機子效能不好可以再調小一點。
      make install
      sudo make runtest
      在這裡插入圖片描述
      出現這個介面就代表安裝成功了。
      當然在安裝過程中是有碰到error的,說是檔案缺失或者無關聯,這時候只要把對應缺失檔案複製到/usr/lib/路徑就好了。