操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    PS簡介

    VPS(Virtual Private Server)是一種虛擬化技術,可以將一臺物理服務器分成多個虛擬服務器,每個虛擬服務器都有獨立的操作系統和資源,相互之間互不影響。VPS可以提供類似于獨立服務器的功能,但價格更便宜,適合中小企業和個人用戶使用。VPS可以用于網站托管、應用程序部署、游戲服務器、數據備份等各種場景。

    #VPS購買

    國內常見的VPS服務提供商

    阿里云-計算,為了無法計算的價值 (aliyun.com)

    騰訊云-產業智變·云啟未來 - 騰訊 (tencent.com)

    華為云-共建智能世界云底座- (huaweicloud.com)

    #VPS鏡像選擇

    總的來說,根據自己的需求進行選擇

    PS:圖為阿里云實例創建界面截圖

    我個人習慣使用 Ubuntu,版本選擇最新版即可

    有些會提供自動安裝指定應用的服務器,如果單純只是運行指定應用服務,那么可以選擇,個人覺得沒有必要

    一般選擇基礎操作系統,然后所有的應用都是可以自己手動安裝的

    #VPS配置

    #SSH登錄

    1.SSH服務允許root登錄

    # 編輯SSH服務配置文件
    vim /etc/ssh/sshd_config
    
    # 添加以下內容,允許root登錄
    PermitRootLogin yes
    
    # 重啟SSH服務
    systemctl restart ssh
    

    2.SSH登錄工具

    WindTerm、MobaXterm

    使用SSH連接工具,連接VPS,一般SSH連接工具需要我們輸入以下三個部分的內容:

    • IP:VPS公網IP
    • 用戶名:root
    • 密碼:root用戶的密碼

    #APT源配置

    cat /etc/apt/sources.list
    

    一般國內VPS,都默認配置了國內鏡像源,因此無需進行配置

    # 更新源
    apt update
    

    如果默認不是國內鏡像源,可以采用以下國內APT軟件源:

    Ubuntu 軟件倉庫(tsinghua.edu.cn)

    Ubuntu鏡像(aliyun.com)

    Ubuntu 源使用幫助(ustc.edu.cn)

    注意:修改完軟件源后需要執行apt update更新軟件源

    #安全組

    安全組是一種虛擬防火墻,具備有狀態的數據包過濾功能,用于設置云服務器、負載均衡、云數據庫等實例的網絡訪問控制,控制實例級別的出入流量,是重要的網絡安全隔離手段。

    可以通過配置安全組規則,允許或禁止安全組內的實例的出流量和入流量。

    阿里云添加安全組規則

    騰訊云添加安全組規則

    華為云添加安全組規則

    建議:學習階段,可以把安全組規則限制放開,允許所有主機對VPS所有端口的訪問,避免操作過程中出現因為安全組規則問題導致操作無法實現

    注意:當你碰到VPS服務端口無法訪問時,記得檢查以下安全組規則是否允許訪問對應端口

    #VPS環境安裝

    #Docker安裝

    在Ubuntu上安裝Docker引擎

    1.運行以下命令卸載所有沖突的包

    for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
    

    2.添加Docker的官方GPG密鑰

    sudo apt-get update
    
    sudo apt-get install ca-certificates curl gnupg
    
    sudo install -m 0755 -d /etc/apt/keyrings
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
    

    3.將存儲庫添加到APT源

    • 官方存儲庫(國內安裝可能會很慢)
    echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    sudo apt-get update
    
    • 國內鏡像源-清華源(推薦)
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
    

    4.安裝 Docker 軟件包

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    

    5.驗證 Docker 是否成功安裝

    docker --version
    

    #MSF安裝

    Metasploit 安裝

    #Linux官方安裝(不推薦)

    curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall
    

    官方提供的安裝方式十分緩慢

    推薦采用如下方式

    #APT安裝(推薦)

    1.添加Kali軟件源

    cat >> /etc/apt/sources.list << EOF
    deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib
    deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contrib
    EOF
    

    2.更新軟件源

    apt update
    

    出現如下錯誤:

    解決方法:

    wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add
    

    3.安裝

    apt install metasploit-framework
    

    安裝過程中如果出現如下問題:

    執行如下命令:

    apt --fix-broken install
    
    apt install metasploit-framework
    

    #Python環境安裝

    系統自帶python3

    python3 -V
    

    1.安裝miniconda3

    通過安裝 Miniconda3,用戶可以方便地創建自己的 Python 開發環境,而無需一次性安裝大量不必要的軟件包。同時,通過 Conda 包管理器,用戶可以輕松地安裝、更新和管理 Python 包及其依賴項。

    https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

    wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /miniconda.sh
    
    bash /miniconda.sh -b -p /miniconda3
    
    rm -rf /miniconda.sh
    

    將miniconda3添加到環境變量:

    -bash

    cat >> ~/.bashrc << EOF
    export PATH=/miniconda3/bin:\$PATH
    EOF
    

    -zsh

    cat >> ~/.zshrc << EOF
    export PATH=/miniconda3/bin:\$PATH
    EOF
    

    2.啟動conda虛擬環境

    conda activate
    

    問題:執行后報錯

    解決方法:

    獲得環境路徑

    conda info | grep -i 'base'
    		base environment : /miniconda3  (writable)
    

    加載conda.sh腳本

    source /miniconda3/etc/profile.d/conda.sh
    

    -bash

    cat >> ~/.bashrc << EOF
    source /miniconda3/etc/profile.d/conda.sh
    EOF
    

    -zsh

    cat >> ~/.zshrc << EOF
    source /miniconda3/etc/profile.d/conda.sh
    EOF
    
    1. conda換源
    vim ~/.condarc
    
    channels:
      - defaults
    show_channel_urls: true
    channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
    default_channels:
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
    custom_channels:
      conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    
    # 清除索引緩存
    conda clean -i
    
    # 查看配置
    conda config --show
    

    4.conda使用

    # 列出所有Conda環境
    conda env list
    
    # 列出當前環境中安裝的所有包
    conda list
    
    # 創建一個名為 "py39" 的虛擬環境,并指定使用 Python 3.9 版本
    conda create -n py39 python=3.9
    
    # 激活名為 "py39" 的虛擬環境
    conda activate py39
    
    # 退出當前的虛擬環境
    conda deactivate
    
    # 在當前 Conda 環境中安裝 requests 包
    conda install requests
    
    # 刪除名為"py39"的虛擬環境以及其所有安裝的包
    conda remove -n py39 --all
    
    # 刪除指定虛擬環境中安裝的特定包
    conda remove -n <env name> <package name>
    

    #Java環境安裝

    OpenJDK 是一個開源的、免費的 Java 開發工具包,適合于大多數的開發需求。

    OracleJDK 包含了一些額外的商業功能和工具,同時在商業環境下需要考慮相關的許可證費用。

    OpenJDK 和 Oracle JDK 在基本的 Java 核心功能上是一樣的,但是在一些高級功能和工具上可能存在一些差異,例如一些特定于 Oracle 的工具和功能可能只包含在 Oracle JDK 中。

    #OracleJDK安裝

    1.下載JDK安裝包

    這里以JDK8u333為例:

    下載JDK: https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html

    需要登錄Oracle賬號,Oracle賬號共享: http://bugmenot.com/view/oracle.com

    下載后壓縮包名字為:jdk-8u333-linux-x64.tar.gz,上傳壓縮包到VPS

    2.創建目錄解壓文件

    sudo mkdir -p /usr/local/java
    
    sudo cp jdk-8u333-linux-x64.tar.gz /usr/local/java
    
    cd /usr/local/java
    
    sudo tar -zxf jdk-8u333-linux-x64.tar.gz
    

    3.通知系統Java的位置

    sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_333/bin/java" 1112
    
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_333/bin/javac" 1112
    

    #OpenJDK安裝

    1.搜索軟件包列表中的OpenJDK

    # 通過 apt-cache search 命令搜索包含 "java" 的軟件包列表
    apt-cache search java | grep jdk
    

    2.apt安裝openjdk-11

    apt install openjdk-11-jdk
    

    安裝后的路徑:/usr/lib/jvm/java-11-openjdk-amd64/bin/java

    3.通知系統Java的位置

    sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-11-openjdk-amd64/bin/java" 1113
    
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-11-openjdk-amd64/bin/javac" 1113
    

    # apt安裝openjdk-17
    apt install openjdk-8-jre-headless
    apt install openjdk-8-jdk-headless
    

    #Java版本切換

    update-alternatives:是一個在Debian和Ubuntu系統中用于管理系統中軟件的符號鏈接的命令。它允許系統管理員將系統中的軟件鏈接到不同的位置,從而允許在不同的軟件之間進行切換或選擇默認的軟件。

    # 列出系統中所有可用的Java運行時環境的符號鏈接
    update-alternatives --list java
    
    # 選擇默認的Java運行時環境
    update-alternatives --config java
    

    #Go環境安裝

    #下載安裝

    https://go.dev/dl/

    這里以版本go1.20.11、go1.21.4為例

    • go1.20.11
    wget https://go.dev/dl/go1.20.11.linux-amd64.tar.gz
    mkdir -p /usr/local/go1.20
    tar -C /usr/local/go1.20 -xzf go1.20.11.linux-amd64.tar.gz
    
    • go1.21.4
    wget https://go.dev/dl/go1.21.4.linux-amd64.tar.gz
    mkdir -p /usr/local/go1.21
    tar -C /usr/local/go1.21 -xzf go1.21.4.linux-amd64.tar.gz
    

    #管理Go版本

    sudo update-alternatives --install "/usr/bin/go" "go" "/usr/local/go1.21/go/bin/go" 1114
    
    sudo update-alternatives --install "/usr/bin/go" "go" "/usr/local/go1.20/go/bin/go" 1115
    
    • 切換go版本
    update-alternatives --list go
    update-alternatives --config go
    

    #GOPATH

    GOPATH 是 Go語言中使用的一個環境變量,它使用絕對路徑提供項目的工作目錄。

    從 github 下載別人的包:

    go get github.com/jmoiron/sqlx
    

    這個包會下載到我們本地 GOPATH 目錄下的 src/github.com/jmoiron/sqlx

    GOPATH 可以設置多個,其中,第一個將會是默認的包目錄,使用 go get 下載的包都會在第一個path中的src目錄下,使用 go install 時,在哪個GOPATH中找到了這個包,就會在哪個GOPATH下的bin目錄生成可執行文件

    #GOENV

    # 查看 Go 環境變量
    go env
    

    #GO111MODULE

    go env -w GO111MODULE=on
    

    GO111MODULE 有三個值:off、on、auto(默認值)

    • GO111MODULE=off

    go命令行將不會支持module功能,尋找依賴包的方式將會沿用舊版本那種通過vendor目錄或者GOPATH模式來查找。

    • GO111MODULE=on

    go命令行會使用modules,而一點也不會去GOPATH目錄下查找。

    執行如下命令生成 go.mod 文件

    go mod init
    go mod tidy
    
    • GO111MODULE=auto

    默認值,go 命令行將會根據當前目錄來決定是否啟用 module 功能。這種情況下可以分為兩種情形:

    • 當前目錄在 GOPATH/src 之外且該目錄包含 go.mod 文件
    • 當前文件在包含 go.mod 文件的目錄下面。

    當 modules 功能啟用時,依賴包的存放位置變更為 $GOPATH/pkg ,允許同一個 package 多個版本并存,且多個項目可以共享緩存的 module。

    1.使用了相對路徑:

    import "./models" 
    

    報錯:build command-line-arguments: cannot find module for path /D/dev這里后面一堆本地路徑

    這是因為在 go module 下 你源碼中 impot …/ 這樣的引入形式不支持了, 應該改成 impot 模塊名/ 。 這樣就ok了

    2.使用結合了GOPATH的形式:

    import "Go-Player/src/ademo/models" 
    

    于是我們把上面的import改成了結合GOPATH的如上形式

    報錯:package Go-Player/src/ademo/models is not in GOROOT D:/development/go/src/GPlayer/src/ademo/models

    3.徹底解決方法

    用 go env -u 恢復初始設置,不再使用 go mod:

    # 設置env
    go env -w GO111MODULE=off
    go env -w GO111MODULE=auto
    
    # 取消設置env
    go env -u GO111MODULE
    

    區別在于,如果 GO111MODULE=on 或者auto,在go get下載包時候,會下載到GOPATH/pkg/mod,引入時也是同樣的從這個目錄開始。如果運行了上述命令,那么在go get下載包時候,會下載到 GOPATH/src 目錄下

    #GOPROXY

    go env -w GOPROXY=https://goproxy.cn,direct
    
    go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
    
    go env -w GOPROXY=https://goproxy.io/,direct
    

    #Go命令

    bug: 啟動一個Bug報告
    build: 編譯包和依賴,編譯指定源碼文件、代碼包以及它們的依賴包
    clean: 移除對象文件和緩存文件,刪除執行其他命令時產生的一些文件和目錄
    doc: 顯示包或符號的文檔,打印go語言程序實體的文檔
    env: 打印Go環境變量信息
    fix: 更新包以使用新的API,把指定代碼包的所有go語言源碼文件中的舊版本代碼修正為新版本代碼
    fmt: 重新格式化包源代碼
    generate: 通過處理源代碼生成Go文件
    get: 將依賴項添加到當前模塊并安裝它們,從互聯網下載或更新代碼包及其依賴,并對它們進行編譯和安裝
    install: 編譯并安裝包和依賴項,用于編譯并安裝指定的代碼包及它們的依賴包
    list: 列出包或模塊
    mod: 模塊維護
    work: 工作區維護
    run: 編譯并運行Go程序
    test: 測試包,對go語言編寫的程序進行測試
    tool: 運行指定的go工具
    version: 打印Go版本
    vet: 報告包中可能的錯誤,用于檢查go語言源碼中靜態錯誤的簡單工具
    

    使用例子

    置一個高效的Linux編程環境是每個開發者的首要任務。本文將引導你通過一系列最佳實踐來搭建一個適合你需求的Linux開發環境。

    1. 選擇一個合適的Linux發行版

    首先,你需要選擇一個適合你編程需求的Linux發行版。Ubuntu、Fedora和Arch Linux是一些流行的選擇。例如,Ubuntu以其用戶友好性而聞名,適合初學者和專業開發者。

    # 安裝Ubuntu
    sudo apt update
    sudo apt install ubuntu-desktop

    2. 更新系統和安裝基礎工具

    安裝完成后,更新你的系統包,確保所有軟件都是最新的。

    sudo apt update && sudo apt upgrade

    安裝一些基礎的開發工具,如文本編輯器、版本控制系統等。

    sudo apt install vim git

    3. 選擇并安裝IDE或代碼編輯器

    根據你的編程語言和個人偏好,選擇一個IDE或代碼編輯器。例如,Visual Studio Code是一個功能強大的編輯器,支持多種編程語言。

    # 安裝Visual Studio Code
    sudo snap install --classic code

    4. 安裝編程語言環境

    根據你的項目需求,安裝相應的編程語言環境。例如,如果你是一個Python開發者,你需要安裝Python和pip。

    sudo apt install python3 python3-pip

    5. 配置版本控制系統

    Git是目前最流行的版本控制系統。配置你的Git用戶名和郵箱,以便能夠提交代碼。

    git config --global user.name "Your Name"
    git config --global user.email "your.email@example.com"

    6. 安裝構建工具和包管理器

    根據你的編程語言,安裝必要的構建工具和包管理器。例如,Node.js開發者可能需要npm或yarn。

    # 使用nvm安裝Node.js和npm
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
    nvm install node # 安裝最新版本的Node.js
    nvm use node
    npm install -g npm # 更新npm

    7. 設置代碼風格和格式化工具

    為了保持代碼的一致性和可讀性,使用代碼格式化工具,如Prettier或Black。

    # 安裝Prettier
    npm install -g prettier

    8. 安裝數據庫

    根據你的應用需求,可能需要安裝數據庫系統。例如,PostgreSQL是一個廣泛使用的開源數據庫。

    sudo apt install postgresql

    9. 配置SSH密鑰

    為了能夠無密碼登錄到你的服務器或使用Git,配置SSH密鑰。

    ssh-keygen -t rsa -b 4096 -C "your.email@example.com"
    # 按照提示操作,將公鑰添加到相應的服務器或Git賬戶

    10. 安裝容器化工具

    Docker和Kubernetes等容器化工具可以幫助你創建一致的開發、測試和生產環境。

    # 安裝Docker
    sudo apt install docker.io
    # 啟動Docker服務
    sudo systemctl start docker

    11. 配置代理(如果需要)

    如果你在某些地區工作,可能需要配置網絡代理來訪問外部資源。

    # 配置git代理
    git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
    git config --global https.proxy https://proxyuser:proxypwd@proxy.server.com:8080

    12. 保持環境的整潔

    定期清理不再使用的依賴和包,以保持你的系統整潔。

    # 清理Docker鏡像和容器
    docker system prune -a

    結語

    配置Linux編程環境是一個持續的過程,隨著項目需求的變化,你可能需要不斷調整和更新你的工具和設置。記住,最佳實踐是不斷學習和適應新技術,以保持你的開發環境現代化和高效。

    網源碼下載編譯都不說了,網上都有

    環境變量

    ...:\osg_oe\osg365\include

    ...:\osg_oe\osg365\lib

    【path】

    ...:\osg_oerdparty\bin

    ...:\osg_oe\osg365\bin

    ...:\osg_oe\osg365\share\OpenSceneGraph\bin

    常用庫介紹

    osg.lib

    基本數據類庫,負責提供基本場景圖類,構建場景圖形節點,如節點類、狀態類、繪制類、向量和矩陣數學計算以及一般的數據類。

    osgGA.lib

    用于改寫界面事件庫

    osgViewer.lib

    視窗管理庫,可以集中各種窗體系統,提供OSG與各種GUI的結合。因此,它是跨平臺的3D管理窗口庫

    osgUtil.lib

    工具類庫,提供通用的公用類,用于操作場景圖形及內容,如更新、裁剪、遍歷、數據統計及場景圖的一些優化

    osgDB.lib

    數據讀寫庫,負責提供場景中數據的讀寫工作,提供了一個文件工具類

    osgd.lib

    osgGAd.lib

    osgViewerd.lib

    osgUtild.lib

    osgDBd.lib

    osgTextd.lib

    使用OpenSceneGraph創建一個簡單的3D場景并顯示一個四邊面

    #include <osg/Geode>

    #include <osg/Geometry>

    #include <osgViewer/Viewer>

    int main()

    {

    // 創建一個幾何體

    osg::ref_ptr<osg::Geometry> geometry=new osg::Geometry;

    // 創建一個四邊面的頂點數據

    osg::ref_ptr<osg::Vec3Array> vertices=new osg::Vec3Array;

    vertices->push_back(osg::Vec3(-0.5f, -0.5f, 0.0f));

    vertices->push_back(osg::Vec3(0.5f, -0.5f, 0.0f));

    vertices->push_back(osg::Vec3(0.5f, 0.5f, 0.0f));

    vertices->push_back(osg::Vec3(-0.5f, 0.5f, 0.0f));

    geometry->setVertexArray(vertices);

    // 創建一個四邊面的顏色數據

    osg::ref_ptr<osg::Vec4Array> colors=new osg::Vec4Array;

    colors->push_back(osg::Vec4(1.0f, 0.0f, 0.0f, 1.0f));

    geometry->setColorArray(colors, osg::Array::BIND_OVERALL);

    // 創建一個圖元集合

    osg::ref_ptr<osg::DrawElementsUInt> primitiveSet=new osg::DrawElementsUInt(osg::PrimitiveSet::QUADS, 0);

    primitiveSet->push_back(0);

    primitiveSet->push_back(1);

    primitiveSet->push_back(2);

    primitiveSet->push_back(3);

    geometry->addPrimitiveSet(primitiveSet);

    // 創建一個Geode節點

    osg::ref_ptr<osg::Geode> geode=new osg::Geode;

    geode->addDrawable(geometry);

    // 創建一個查看器并設置場景數據

    osgViewer::Viewer viewer;

    viewer.setSceneData(geode);

    // 運行查看器

    return viewer.run();

    }

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有