Setup my fedora workstation
概述
本文仅作为配置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