Ubuntu 16.04LTS
0.Ruby
使用Ubuntu的包管理器apt安装的是旧版本的。这里使用RVM安装Ruby和RubyGems
- 1.安装RVM
首先,使用gpg命令联系公钥服务器,并请求用于对每个RVM版本进行签名的RVM项目的密钥。这样可以验证您将下载的RVM版本的合法性。在主目录,执行
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
然后,用curl下载RVM安装脚本(引导命令的反斜杠确保使用常规curl命令,而不是任何改变的别名版本)
$ \curl -sSL https://get.rvm.io | bash -s stable
脚本在主目录下创建一个名为.rvm的新目录。 这是Ruby及其所有相关组件的安装位置,以及用于安装Ruby的rvm可执行程序。安装过程会修改.bashrc文件,将.rvm/bin文件夹添加到PATH环境变量中,以便轻松地运行rvm命令。但rvm命令还无法在当前会话中访问,需执行:
$ source ~/.rvm/scripts/rvm
$ rvm -v
- 2.安装Ruby
#检查安装先决条件
$ rvm requirements
#下载并安装Ruby及其组件
$ rvm install 2.5.1
$ ruby -v
$ gem -v
- 3.使用
安装后,不能直接使用ruby。每次电脑重启都要source ~/.rvm/script/rvm,否则报RVM is not a function, selecting...。然后再使用rvm use 2.5.1 --default才可以。所以现在将其加入.bashrc文件
subl .bashrc
#在文件中添加下列命令
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
- 4.注意事项
- 也可以使用rvm install ruby --default安装,会将此版本的Ruby作为系统将使用的默认版本。如果已经安装了一个版本的Ruby,这将避免冲突
- 如果下载慢,可以尝试修改下载源(但我感觉反而慢了。。)
echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db
1.nodejs
以8.x为例,参考官方文档
#网站deb.nodesource.com维护了nodejs的各版本安装包的PPA,从该网站上下载执行导入
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
2.sublime
安装
- 1.添加Sublime-text-3软件包的软件源
sudo add-apt-repository ppa:webupd8team/sublime-text-3
- 2.使用以下命令更新系统软件源
sudo apt-get update
- 3.使用以下命令安装Sublime-text-3
sudo apt-get install sublime-text-installer
- 4.最后可在Dash Home中见到Sublime-text的软件图标,点击就可使用了,可以锁定到启动器
解决sublime在Ubuntu中的中文乱码
参考IDE文集中的《Sublime3【插件】》文章:sublime中文输入法
3.有道字典
1.首先需要安装依赖包gstreamer0.10-plugins-ugly_0.10.19-2.1_amd64.deb,但是该依赖包仍有两个依赖包需要提前安装,这三个依赖包都可以从这里下载:
https://debian.pkgs.org/8/debian-main-amd64/libsidplay1_1.36.59-6_amd64.deb.html
https://debian.pkgs.org/8/debian-main-amd64/libx264-142_0.142.2431+gita5831aa-1+b2_amd64.deb.html
https://debian.pkgs.org/8/debian-main-amd64/gstreamer0.10-plugins-ugly_0.10.19-2.1_amd64.deb.html2.下载之后,打开终端,进入下载目录,依次执行
sudo dpkg -i libsidplay1_1.36.59-6_amd64.deb
sudo dpkg -i libx264-142_0.142.2431+gita5831aa-1+b2_amd64.deb
sudo dpkg -i gstreamer0.10-plugins-ugly_0.10.19-2.1_amd64.deb
- 3.从官网下载安装包youdao-dict_1.1.0-0-ubuntu_amd64.deb,进入下载目录执行
sudo dpkg -i youdao-dict_1.1.0-0-ubuntu_amd64.deb
安装过程中会提示有依赖包未安装,执行
sudo apt-get -f install
之后再次执行上面的dpkg命令安装即可
4.WPS
安装
- 1.官网下载wps-office_10.1.0.5672_a21_amd64.deb
- 2.安装
sudo dpkg -i wps-office_10.1.0.5672_a21_amd64.deb
启动WPS for Linux后,出现提示"系统缺失字体" ,解决如下:
- 1.下载缺失的字体文件https://pan.baidu.com/s/1eS6xIzo
- 2.解压并移动
sudo mv wps_symbol_fonts /usr/share/fonts
- 3.生成字体的索引信息
sudo mkfontscale和sudo mkfontdir
- 4.运行fc-cache命令更新字体缓存
sudo fc-cache
- 5.重启WPS即可
5.SSH
SSH ("Secure SHell") 是计算机安全通讯的一种协议。远程管理linux系统基本上都要使用到ssh,因为相对于telnet、FTP等传输方式是以明文传送用户认证信息,SSH更为可靠。透过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗,对数据压缩也能提升传输效率
要使用SSH,客户端要安装SSH Client,要访问的服务端要安装SSH Server。目前最流行的是SSH client和server是由OpenSSH项目维护的。而Ubuntu默认安装了OpenSSH client,所以这里只安装OpenSSH server即可
- 1.安装
# 安装server
sudo apt-get install openssh-server
# 默认安装server 和client
sudo apt-get install ssh
-2.启动
# 查看是否有sshd进程
ps -e|grep ssh
# 或者查看22端口是否被sshd占用
sudo netstat -anp|grep :22
# 操作命令
/etc/init.d/ssh start
/etc/init.d/ssh stop
/etc/init.d/ssh restart
- 如果要配置开机启动OpenSSH server:sudo vi ~/.bashrc添加命令/etc/init.d/ssh start即可
- 或者打开/etc/rc.local文件,在exit 0语句前加入:/etc/init.d/ssh start
- 3.配置
- openssh-server配置文件位于/etc/ssh/sshd_config,同目录下的ssh_config是client的配置文件
- 两个配置文件的配置项含义可参考,可修改端口等诸多配置
另,客户端除命令行外,可以用putty、SecureCRT、SSH Secure Shell Client等SSH客户端软件
6.防火墙
6.1 介绍
- Ubuntu没有选择名气更大iptables,而是使用了简单易用的ufw(Uncomplicated Firewall)防火墙配置工具
- 当然Ubuntu提供了UI界面的gufw,简洁直观
sudo apt-get install gufw
6.2基本操作
- Ubuntu中ufw默认是没有启用的,即没有开启防火墙,端口默认都是开放的
#查看防火墙状态
sudo ufw status
- 开启防火墙后,默认使用incoming-deny,outgoing-allow的策略。如别人访问不到该机器的SSH Server的22端口,但该机器的SSH Client可以去访问别人打开的SSH Server
$ sudo ufw enable
Firewall is active and enabled on system startup
$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip
- 开启/关闭指定端口的允许访问(配置rules)。如开启22端口后,别人即可访问该机的sshd服务
# allow incoming tcp and udp packet on port 22
sudo ufw allow 22
# allow incoming tcp packet on port 22
sudo ufw allow 53/tcp
#allow incoming udp packet on port 22
sudo ufw allow 53/udp
# 对应的关闭端口
sudo ufw deny 22
sudo ufw deny 22/tcp
sudo ufw deny 22/udp
- GUFW需要重启,才能刷新Rules列表
- 删除rules
# 根据22的状态删除对应的rule
sudo ufw delete allow 22
或
sudo ufw delete allow ssh
sudo ufw deny 22
sudo ufw delete deny 22
或
sudo ufw delete deny ssh
- 还可以根据Service来配置rules。如22端口对应SSH Server
# 查看服务列表
less /etc/services
# 配置
sudo ufw deny ssh
sudo ufw allow ssh
- 操作Logging
sudo ufw logging on
sudo ufw logging off
6.3高级操作
- 1.配置IP级
# 允许/拒绝 packets from 207.46.232.182
sudo ufw allow from 207.46.232.182
sudo ufw deny from 207.46.232.182
# 操作子网掩码
sudo ufw allow from 192.168.1.0/24
# 允许/拒绝指定IP以任何协议访问22端口
sudo ufw allow from 192.168.0.1 to any port 22
sudo ufw deny from 192.168.0.1 to any port 22
# 允许指定IP以tcp访问22端口
sudo ufw allow from 192.168.0.4 to any port 22 proto tcp
- 2.配置rule编号
涉及查看rule编号、插入rule到指定编号、根据编号删除rule,三个命令。其中插入命令只能插入到当前rules列表的【1~n-1】位置
$ sudo ufw status numbered
Status: active
$ sudo ufw insert 1 allow from 192.168.0.1
ERROR: Invalid position '1'
$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip
$ sudo ufw allow from 192.168.0.1 to any port 22
Rule added
$ sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 22 ALLOW IN 192.168.0.1
$ sudo ufw insert 1 allow from 192.168.0.1
Rule inserted
$ sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] Anywhere ALLOW IN 192.168.0.1
[ 2] 22 ALLOW IN 192.168.0.1
$ sudo ufw insert 3 allow from 192.168.0.2
ERROR: Invalid position '3'
$ sudo ufw insert 2 allow from 192.168.0.2
Rule inserted
$ sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] Anywhere ALLOW IN 192.168.0.1
[ 2] Anywhere ALLOW IN 192.168.0.2
[ 3] 22 ALLOW IN 192.168.0.1
$ sudo ufw delete 2
Deleting:
allow from 192.168.0.2
Proceed with operation (y|n)? y
Rule deleted
$ sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] Anywhere ALLOW IN 192.168.0.1
[ 2] 22 ALLOW IN 192.168.0.1
- 3.示例
其他高级设置示例,参考:Ubuntu-UFW参考1