概述

本文仅作为配置Fedora各种环境的记录.

前言(TL;DR)

平时在折腾各种项目的时候, 经常会遇到windows平台支持不好(或者安装环境非常麻烦)的问题. 因此我们需要一个linux的环境来处理这些事情. 前段时间发现VMWare出了一款VMWare Workstation Player的产品(好像已经很久了, 不过我没有发现)甚是好用(windows平台上的GUI虚拟化还是VMWare比较强). 于是我的实战环境如下:

  • Host: windows 10
  • 虚拟机软件: VMWare Workstation 15 Player
  • Virtual os: Fedora workstation 30

主要的用途有:

  • Docker Env. (windows版本的docker有很多坑, 经常需要重启才能解决- -!)
  • Ruby. (Travis CLI, Jekyll)
  • C++. (听说MS出了个Terminal很好用, 坐等正式版吧)

目录

通用

  • 设置root密码: sudo passwd root
  • 换源: https://mirror.tuna.tsinghua.edu.cn/help/fedora/

OpenSSH

  • 今天在clone代码的时候, 发现了一个问题, 一直报 Broken pipe 的错误. 后来查到是OpenSSH在VMWare Player下的一个bug. 解决方案参考这里

Docker

参考资料

  • https://docs.docker.com/install/linux/docker-ce/fedora/
    $ sudo dnf remove docker \
                    docker-client \
                    docker-client-latest \
                    docker-common \
                    docker-latest \
                    docker-latest-logrotate \
                    docker-logrotate \
                    docker-selinux \
                    docker-engine-selinux \
                    docker-engine
    $ sudo dnf -y install dnf-plugins-core
    $ sudo dnf config-manager \
      --add-repo \
      https://download.docker.com/linux/fedora/docker-ce.repo
    $ sudo dnf install docker-ce docker-ce-cli containerd.io
    $ sudo systemctl start docker
    $ sudo systemctl enable docker
    # install docker-compose
    $ sudo dnf -y install docker-compose
    

    按照官方文档安装时,发现无法找到docker-ce和docker-ce-cli两个package。原来是docker还没有加入(?)到fedora 30的repo中(fedora 29就没有这个问题)。
    解决方案如下:

  • https://github.com/docker/for-linux/issues/600#issuecomment-488207865

SmartGit

参考资料

  • https://linuxhint.com/smartgit-git-client-ubuntu-centos/
    $ dnf makecache
    $ sudo dnf install java-1.8.0-openjdk
    # 然后去官方网站下载最新版的tar.gz压缩包
    $ tar -xvf smartgit-linux-${version}.tar.gz
    $ su -c "mv smartgit /opt/"
    # 启动
    $ /etc/opt/smartgit/bin/smartgit.sh
    

vscode

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
dnf check-update
sudo dnf install code

ruby

# install rvm. rvm is cool.
$ sudo dnf install gcc-c++ patch readline readline-devel zlib zlib-devel \
    libyaml-devel libffi-devel openssl-devel make \
    bzip2 autoconf automake libtool bison sqlite-devel
$ curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
$ curl -L get.rvm.io | bash -s stable
# 根据提示执行对应位置的script
$ source /home/narrowizard/.rvm/scripts/rvm
$ rvm reload
# install ruby
$ rvm requirements run
$ rvm list known
$ rvm install 2.6
$ rvm list
$ rvm use 2.6.3 --default
## optional
# jekyll
$ gem install jekyll bundler
# travis
$ gem install travis

golang

$ sudo dnf install golang
$ echo 'export GOPATH=$HOME/code/go' >> $HOME/.bashrc
$ source $HOME/.bashrc

nodejs

$ sudo dnf install nodejs

tools

# install nmap
$ sudo dnf install nmap