CentOS7

yum install -y https://download.opensuse.org/repositories/shells:/fish:/release:/3/CentOS_7/x86_64/fish-3.2.1-1.2.x86_64.rpm
chsh -s /usr/bin/fish

CentOS8

yum install -y https://download.opensuse.org/repositories/shells:/fish:/release:/3/CentOS_8/x86_64/fish-3.2.1-1.3.x86_64.rpm
chsh -s /usr/bin/fish

Debian

apt update
apt install fish
chsh -s /usr/bin/fish

如何在不购买订阅的情况下更新Proxmox

作者: JOEL · 2018年6月8日

如果您尚未购买订阅,则Proxmox的“无有效订阅”导航屏幕会在每次登录时显示。

在Proxmox网站上,他们说:“ Proxmox VE是用于企业虚拟化的完整开源平台。”通常,您不为开源软件付费;但是Proxmox的人们已经尽了最大的努力来吓most我们大多数人购买订阅-或至少使我们因没有订阅而感到内gui。

现在,Proxmox是很棒的软件。开发出色的软件需要大量的资源,出色的开发人员……和大量金钱。因此,如果您在商业环境中使用Proxmox,我建议您购买订阅。但是,某些人可能有兴趣将其用于家庭使用或只是为了摆弄,以及由于各种原因中的任何一种,您可能不希望或可能无法购买订阅。本文适合您。

需要明确的是,Proxmox无需许可证即可正常工作。未经许可的版本与付费版本功能相同,但有一个例外:它无权访问经过测试的“企业”更新存储库。这样(没有我要向您显示的更改),您将无法更新Debian软件。哦,当然,每次登录时都会显示小屏幕。

我认为也有一种方法可以摆脱nag屏幕,但在这里我不会打扰。我本人并不介意,只要您登录即可再点击一下。我已经购买了主服务器的许可证,但是对于备用服务器,我决定暂时不每年花费120美元(大约)。事实证明,使Proxmox从“非企业”存储库进行更新非常容易。

通过SSH进入Proxmox主机,或通过Web界面访问其控制台,并制作pve-enterprise.list源文件的副本,如下所示:

root@pve ~# cd /etc/apt/sources.list.d/

root@pve ~# cp pve-enterprise.list pve-no-subscription.list

好,现在我们有了原始文件的副本。如果我们以后购买订阅并想使用企业存储库,我们将能够非常轻松地还原我们所做的工作。现在,编辑原始文件并注释掉其一行;保存并关闭文件。

接下来,打开复制的文件,pve-no-subscription.list然后稍稍更改行。原始行如下所示:

deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise

要注意的部分是https(将其更改为http,)enterprise.proxmox.com(更改enterprise为download),以及字符串的末尾— pve-enterprise(更改为pve-no-subscription)。不要编辑该单词stretch或该位置出现的任何其他单词;那是Debian版本代号。您编辑的行应如下所示:

deb http://download.proxmox.com/debian/pve stretch pve-no-subscription

保存并关闭文件。现在,更新软件包列表:

root@pve ~# apt-get update

完成后,运行软件升级!

root@pve ~# apt-get dist-upgrade

注意:始终运行dist-upgrade,而不仅是“ apt-get升级”。Dist-upgrade确保所有软件包及其依赖项都已更新。如果仅运行“ apt-get升级”,则可能会中断。相信我; 它曾经发生在我身上!我有一些紧张的时刻,试图找出为什么我的ZFS存储在停电后不会来了强制重新启动系统-和DIST升级,之后重新启动,化险为夷。只需使用dist-upgrade,一切都应该很高兴。

最后,请注意,“无订阅”存储库据说不能保证稳定。通过此渠道到达的更新更有可能是尖端更新和/或测试更新;他们没有经过测试以确保一切稳定。因此,风险自负-再次,如果Proxmox VE在帮助您的业务,请在那儿的人们帮忙购买订阅。他们的技术可能和我们其他人一样需要餐桌上的食物。
————————————————
版权声明:本文为CSDN博主「allway2」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/allway2/article/details/102846374

gcc 4.8 安装

curl -Lks http://www.hop5.in/yum/el6/hop5.repo > /etc/yum.repos.d/hop5.repo
yum install gcc gcc-g++
gcc --version

gcc 4.9 安装

yum install centos-release-scl
yum install devtoolset-3-toolchain
scl enable devtoolset-3 bash
gcc --version

gcc 5.2 安装

yum install centos-release-scl
yum install devtoolset-4-toolchain
scl enable devtoolset-4 bash
gcc --version

scl enable devtoolset-3 bash只是临时覆盖系统原有的GCC引用,如果想永久覆盖,可在root/.bashrc文件中添加source /opt/rh/devtoolset-3/enable

文章来自参考:https://www.dwhd.org/20160724_085212.html

gcc 4.8 安装

curl -Lks http://www.hop5.in/yum/el6/hop5.repo > /etc/yum.repos.d/hop5.repo
yum install gcc gcc-g++
gcc --version

gcc 4.9 安装

yum install centos-release-scl
yum install devtoolset-3-toolchain
scl enable devtoolset-3 bash
gcc --version

gcc 5.2 安装

yum install centos-release-scl
yum install devtoolset-4-toolchain
scl enable devtoolset-4 bash
gcc --version

scl enable devtoolset-3 bash只是临时覆盖系统原有的GCC引用,如果想永久覆盖,可在root/.bashrc文件中添加source /opt/rh/devtoolset-3/enable

文章来自参考:https://www.dwhd.org/20160724_085212.html

nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个。

nginx的upstream目前支持的5种方式的分配
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
upstream backserver {
server 192.168.0.14;
server 192.168.0.15;
}

2、指定权重
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
upstream backserver {
server 192.168.0.14 weight=10;
server 192.168.0.15 weight=10;
}

3、IP绑定 ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream backserver {
ip_hash;
server 192.168.0.14:88;
server 192.168.0.15:80;
}

4、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream backserver {
server server1;
server server2;
fair;
}

5、url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
upstream backserver {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}

在需要使用负载均衡的server中增加

proxy_pass http://backserver/;
upstream backserver{
ip_hash;
server 127.0.0.1:9090 down; (down 表示单前的server暂时不参与负载)
server 127.0.0.1:8080 weight=2; (weight 默认为1.weight越大,负载的权重就越大)
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup; (其它所有的非backup机器down或者忙的时候,请求backup机器)
}

max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误

fail_timeout:max_fails次失败后,暂停的时间

 

Hbase hbck

[plain] view plain copy

在CODE上查看代码片派生到我的代码片

  1. 新版本的 hbck 可以修复各种错误,修复选项是:
  2. (1)-fix,向下兼容用,被-fixAssignments替代
  3. (2)-fixAssignments,用于修复region assignments错误
  4. (3)-fixMeta,用于修复meta表的问题,前提是HDFS上面的region info信息有并且正确。
  5. (4)-fixHdfsHoles,修复region holes(空洞,某个区间没有region)问题
  6. (5)-fixHdfsOrphans,修复Orphan region(hdfs上面没有.regioninfo的region)
  7. (6)-fixHdfsOverlaps,修复region overlaps(区间重叠)问题
  8. (7)-fixVersionFile,修复缺失hbase.version文件的问题
  9. (8)-maxMerge <n> (n默认是5),当region有重叠是,需要合并region,一次合并的region数最大不超过这个值。
  10. (9)-sidelineBigOverlaps ,当修复region overlaps问题时,允许跟其他region重叠次数最多的一些region不参与(修复后,可以把没有参与的数据通过bulk load加载到相应的region)
  11. (10)-maxOverlapsToSideline <n> (n默认是2),当修复region overlaps问题时,一组里最多允许多少个region不参与
  12. 由于选项较多,所以有两个简写的选项
  13. (11) -repair,相当于-fixAssignments -fixMeta -fixHdfsHoles -fixHdfsOrphans -fixHdfsOverlaps -fixVersionFile -sidelineBigOverlaps
  14. (12)-repairHoles,相当于-fixAssignments -fixMeta -fixHdfsHoles -fixHdfsOrphans
  15. 新版本的 hbck
  16. (1)缺失hbase.version文件
  17.  加上选项 -fixVersionFile 解决
  18. (2)如果一个region即不在META表中,又不在hdfs上面,但是在regionserver的online region集合中
  19.  加上选项 -fixAssignments 解决
  20. (3)如果一个region在META表中,并且在regionserver的online region集合中,但是在hdfs上面没有
  21.  加上选项 -fixAssignments -fixMeta 解决,( -fixAssignments告诉regionserver close region),( -fixMeta删除META表中region的记录)
  22. (4)如果一个region在META表中没有记录,没有被regionserver服务,但是在hdfs上面有
  23. 加上选项 -fixMeta -fixAssignments 解决,( -fixAssignments 用于assign region),( -fixMeta用于在META表中添加region的记录)
  24. (5)如果一个region在META表中没有记录,在hdfs上面有,被regionserver服务了
  25. 加上选项 -fixMeta 解决,在META表中添加这个region的记录,先undeploy region,后assign
  26. (6)如果一个region在META表中有记录,但是在hdfs上面没有,并且没有被regionserver服务
  27. 加上选项 -fixMeta 解决,删除META表中的记录
  28. (7)如果一个region在META表中有记录,在hdfs上面也有,table不是disabled的,但是这个region没有被服务
  29. 加上选项 -fixAssignments 解决,assign这个region
  30. (8)如果一个region在META表中有记录,在hdfs上面也有,table是disabled的,但是这个region被某个regionserver服务了
  31. 加上选项 -fixAssignments 解决,undeploy这个region
  32. (9)如果一个region在META表中有记录,在hdfs上面也有,table不是disabled的,但是这个region被多个regionserver服务了
  33. 加上选项 -fixAssignments 解决,通知所有regionserver close region,然后assign region
  34. (10)如果一个region在META表中,在hdfs上面也有,也应该被服务,但是META表中记录的regionserver和实际所在的regionserver不相符
  35. 加上选项 -fixAssignments 解决
  36. (11)region holes
  37. 需要加上 -fixHdfsHoles ,创建一个新的空region,填补空洞,但是不assign 这个 region,也不在META表中添加这个region的相关信息
  38. (12)region在hdfs上面没有.regioninfo文件
  39. -fixHdfsOrphans 解决
  40. (13)region overlaps
  41. 需要加上 -fixHdfsOverlaps
  42. 说明:
  43. (1)修复region holes时,-fixHdfsHoles 选项只是创建了一个新的空region,填补上了这个区间,还需要加上-fixAssignments -fixMeta 来解决问题,( -fixAssignments 用于assign region),( -fixMeta用于在META表中添加region的记录),所以有了组合拳 -repairHoles 修复region holes,相当于-fixAssignments -fixMeta -fixHdfsHoles -fixHdfsOrphans
  44. (2) -fixAssignments,用于修复region没有assign、不应该assign、assign了多次的问题
  45. (3)-fixMeta,如果hdfs上面没有,那么从META表中删除相应的记录,如果hdfs上面有,在META表中添加上相应的记录信息
  46. (4)-repair 打开所有的修复选项,相当于-fixAssignments -fixMeta -fixHdfsHoles -fixHdfsOrphans -fixHdfsOverlaps -fixVersionFile -sidelineBigOverlaps
  47. 新版本的hbck从(1)hdfs目录(2)META(3)RegionServer这三处获得region的Table和Region的相关信息,根据这些信息判断并repair

示例:

[plain] view plain copy

在CODE上查看代码片派生到我的代码片

  1. 查看hbasemeta情况
  2. hbase hbck
  3. 1.重新修复hbase meta表(根据hdfs上的regioninfo文件,生成meta表)
  4. hbase hbck -fixMeta
  5. 2.重新将hbase meta表分给regionserver(根据meta表,将meta表上的region分给regionservere)
  6. hbase hbck -fixAssignments

##############################################
#### SSH Tunnel; 经测试,已经打通
##############################################
# 公网服务器外网IP: 115.28.9.136
# 公网服务器内网IP: 10.144.7.195
# 内网服务器内网IP: 10.144.7.191

### 1 先登录 115.28.9.136

ssh root@115.28.9.136 -p 22

#通过 webmin 修改 ssh配置,并应用变更
# 实质是 /etc/ssh/sshd_config 文件
GatewayPorts yes
### 2 在 136 上登录 10.144.7.191

ssh root@10.144.7.191 -p 22

### 3 在 10.144.7.191 上执行:
# 即通过此SSH后台登陆 195机器,监听了 195:19122端口,
# 此时访问 136:19122 的请求,相当于都转发到本地的22端口了。
# -Nf 是后台命令的意思
ssh -Nf 10.144.7.195 -R 19122:10.144.7.191:22

# 此时,客户端通过 115.28.9.136:19122 登录,实际上登陆的就是 10.144.7.191:22 服务器了。

默认的版本太低了,手动安装有一些麻烦,想采用Yum安装的可以使用下面的方案:

1.检查当前安装的PHP包
yum list installed | grep php
如果有安装的PHP包,先删除他们
 yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64
2.Centos 5.X
  rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
CentOs 6.x
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
CentOs 7.X
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
如果想删除上面安装的包,重新安装
rpm -qa | grep webstatic
rpm -e  上面搜索到的包即可

3.运行yum install

  yum install php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64 php55w-ldap.x86_64 php55w-mbstring.x86_64 php55w-mcrypt.x86_64 php55w-mysql.x86_64 php55w-pdo.x86_64

yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64

注:如果想升级到5.6把上面的55w换成56w就可以了。

yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64
4.安装PHP FPM

yum install php55w-fpm
yum install php56w-fpm
yum install php70w-fpm
注:如果想升级到5.6把上面的55w换成56w就可以了。

格式化为EXT4 并禁止日志 用的命令如下

mkfs.ext4 -O ^has_journal /dev/sda1

格式话完后挂载点已经是百分之2(3.3G) 可用是208.82GB / 222.30GB 整整少了13.48G

于是网上到处找资料 发现格式化时加一个命令可以禁用预留空间. 命令如下

mkfs.ext4 -O ^has_journal -m 0 /dev/sda1

-m 0 不加这个命令时 格式化完少了13.48G 加这个命令时 格式化完仅仅少了3.3G

那么 是不是ext4这个分区格式本身就要占很大的空间呢?就好比硬盘分区格式化成NTFS或则FAT32占用的空间也是不同的.是的话就无所谓了.

另外完全禁止预留空间有没有什么危害?只是单纯的做简单NAS应用. 不使用远程下载什么的.

下图是没使用命令时的 使用后只少了3.3G 而ext2那里是显示100多M 难道ext4分区比ext2多占那么多的空间...

【自从去年到现在已经收集了上百种版本的Linux和Unix,至于Unix就不想说了,没有Linux的功底是很难驾驭Unix的,我在这里只把小于360M的Linux以及一些非Linux但是很像Linux的版本也发布一下,我本人喜欢安静,如果你想要这些迷你版本的Linux光盘的话,建议去官网下载就OK了。英语不行的话随时带个字典。有些没有桌面,想知道哪些没有桌面的话请自己网上查资料!下面就是绝大部分小于361M的Linux及其非Linux名单,参考时间为2011年12月份,最近的新版本可能有变!】

Linux没有最小只有更小----361M以下的Linux名单

Vecket:361M
webc:313M
ging:312m
GoblinX:311M
dfly:293M
MirBSD:290M
MidnightBSD:265M
pud:265M
Porteus:261M
caos:241M
crux:237M
grml-medium:224M
OpenBSD 5.0:224M
NetBSD:224M
SLAX:213M
MorphingMorphix:212M
bsdeviant:208M
frenzy:199M
CDlinux:194M
debris:190M
FRANKIE:187M
pmagic:185M
Macpup:168M
formilux:166M
RIPLinuX:157M
jOS:151M
gentoo:128M
clonezilla:127M
vyatta:124M
LPS(Lightweight Portable Security):123M
PuppyLinux:123M
unity:121M
feather:119M
gparted:116M
qrky linux:113M
FreeNAS:103M
browserlinux:96M
milax:95M
austrumi:95M
stresslinux:90M
xpud:65M
ttylinux:63M
turnkey:60
MXebian:52M
dsl(Damn Small Linux):51M
luitlinux:51M
bbc:48M
[奶瓶]beini:45M
AstLinux:40M
slitaz:30M
4MLinux:30M
geexbox:24m
FreeNOS:18M
TinyCore:12M
visopsys:11M
Micro Core Linux :8M
HelenOS:8m
bsd4me:5M
VitasV:4M
minopsos:1.4M
MenuetOS:0.6M
......

想学习Linux桌面系统的话使用Fedora或者Ubuntu或者Debain等等这些著名的发行版本,功能非常齐全,软件包安装非常方便。想学习Linux服务器搭建的话建议使用CentOS,Fedora等等服务器操作系统行业比较著名的版本。
想找个随身的Linux就去上面的小于361M的Linux名单里找找吧,喜欢桌面的也有很小的,比如visopsys才11M也是有桌面的,汇编语言写的系统MenuetOS(0.6M)的也是有桌面的。

慢慢玩吧,Linux世界总有你想要的。

转:http://blog.sina.com.cn/s/blog_99be711101011tu8.html