不支持add-apt-repository

1
sudo apt-get install software-properties-common -y

禁止软件包更新

  • dpkg

Put a package on hold:

1
echo "<package-name> hold" | sudo dpkg --set-selections

Remove the hold:

1
echo "<package-name> install" | sudo dpkg --set-selections

Display the status of your packages:

1
dpkg --get-selections

Display the status of a single package:

1
dpkg --get-selections | grep "<package-name>"
  • apt

Hold a package:

1
sudo apt-mark hold <package-name>

Remove the hold:

1
sudo apt-mark unhold <package-name>
  • aptitude

Hold a package:

1
sudo aptitude hold <package-name>

Remove the hold:

sudo aptitude unhold

  • 通过synaptic新立得软件包管理器lock version

提示LANGUAGE = (unset)

1
2
3
4
5
6
7
8
9
10
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "zh_CN.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

因为在locale输出的结果里面没有zh_CN.UTF-8这一项,基本上是因为主机用的zh_CN.UTF-8,而vps没有locale的支持。

需要locale-gen zh_CN.UTF-8更新locale

locale-gen一次就好了

ubuntu防火墙

  • iptables

使用“-L”参数来查看已有的规则集:

1
sudo iptables -L

通过如下命令在iptables中打开这些端口:

1
2
3
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

使用“-F”参数来清空已有的规则集:

1
sudo iptables -F

虽然IPTables的命令执行后会立即生效,但这个生效过程其实是临时的,系统在重启之后便会丢失。因此,我们还需要将这些配置添加到配置文件当中,以保证系统在下次重启后会自动载入我们的IPTables防火墙规则。

1
2
sudo apt-get update
sudo apt-get install iptables-persistent

该命令脚本下载执行后会询问我们是否对IPTables配置进行保存,如果确定的话选择“是”即可。保存后下次重启系统也不会造成配置丢失了