存档

‘Linux’ 分类的存档

CentOS安装Docker-CE

2017年12月5日 没有评论

原本CentOS7里面的Docker是1.12版本的,没觉得很老,但是在自动化构建asp.net core的时候,不支持Dockerfile中的FROM AS语法,只好查一下CentOS7下怎么安装新的Docker-CE,如下:

yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum install docker-ce

systemctl start docker

目前安装的是17.09.0-ce版本

分类: Docker, Linux 标签: ,

CentOS7安装新内核

2017年12月5日 没有评论

CentOS的包相对还是很保守,没有新内核,没有新软件,也就没有功能。现在4.14的内核已经进入LTS序列了,CentOS还是3.10的内核,捉急

特地研究了一下怎么升级CentOS 7的内核,简单的说CentOS的库里面没有,装其他仓库的,比如elrepo.org里面的过程如下:

rpm —-import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

yum —-enablerepo=elrepo-kernel install kernel-ml

写这个blog的时候,已经可以安装4.14.3内核了,后面需要修改grub默认使用的内核:

先vi /etc/default/grub,改为GRUB_DEFAULT=0

然后重新生成grub的配置文件

grub2-mkconfig -o /boot/grub2/grub.cfg

分类: Linux 标签:

自动安装Archlinux的脚本

2017年12月5日 没有评论

最近受ArchLinux官方的Dockerfile的启发,做了一个Archlinux的安装脚本,发布在https://github.com/bh1rio/archlinux-install

里面的脚本,可以在安装iso启动以后,wget后来运行。这个脚本也适用Archlinux32,但是需要修改mirroslist文件中的镜像服务器地址,目前ustc和yun-idc的mirror还没有ArchLinux32的镜像。

如果你希望干预修改root的密码,你可以注销掉其中的passwd行,不修改问题也不大,因为login的时候root不需要密码。login进去再修改密码就好了

当然你也可以fork自己的版本然后修改。比如我的hptc小机器,就可以加入raid相关的代码。

如果你的网络够快,5分钟就可以准备好一个干净的Archlinux。(嗯,我这里是500Mb的光纤Smile

分类: Linux 标签:

制作Archlinux32的docker镜像(image)

2017年11月23日 没有评论

docker hub里面的archlinux大部分是archlinux支持i686时期的镜像,目前archlinux不支持i686以后,这些镜像估计就不再支持i686了。我看了一些x86_64的镜像制作脚本,相当多的一部分都是直接用的其rootfs的tar来制作的,只有少数几种是直接从pacman获取包制作rootfs,挑了两种大牌的,如下:

1.在Moby的github的捐献里,有一个archlinux的制作完整base包的脚本,我把获取包的mirror服务器改成了Archlinux32在日本的服务器以后,在i686的环境里面制作成功并运行了一个Archlinux32。我整理的脚本在https://github.com/bh1rio/archlinux32-docker

2.另外一种方式是使用https://github.com/archlinux/archlinux-docker 的Makefile来直接用make的方式制作。这个不需要改Makefile,他是使用本机配置的mirror来获取包。惊喜是这个makefile可以制作rootfs。

对比两种方式,第二种方式的生成的包稍小,我怀疑有某些不必要的文件没有清理,不过还没有具体比较两个差异。

另,别问我为啥抱着i686玩docker:我给我的那个4盘位的小机器配好了Raid5,没理由扔到一边不管嘛

分类: Docker, Linux 标签: , ,

Archlinux官方不再支持i686(x86)以后,老机器怎么办?

2017年11月17日 没有评论

新装机的话,可以从archlinux32.org下载纯32位的安装包。

原来archlinux官方的i686装机,可以更换archlinux32的更新服务,方法如下:

  1. 先把/etc/pacman.d/mirrorlist的内容换成https://raw.githubusercontent.com/archlinux32/packages/master/core/pacman-mirrorlist/mirrorlist这个内容。这里面是最新的archlinux32的镜像文件清单,今天镜像服务器数量爆发性增长,是昨天的两倍了,昨天只有4个,今天8个了。国内目前不要选新加坡的那个,死慢,小鬼子的速度最快。
  2. 执行pacman -Syy archlinux32-keyring-transition来更新证书链。
  3. 执行pacman -Syuu来做完整升级。但是有两个问题:1是目前archlinux32的包没有archlinux的新,可能得有相当数量的包会提示降级。2是开始第一次会提示你本机缓存的老版本包的数字签名不对,一种解决办法是当提示你的时候,选Y然后删掉原来的包,再-Syuu的时候就会重新下载对的,另一种解决办法是在开始前先运行pacman -Sc据说会清理掉数字签名不对的。

不管咋样,我去重启我的那个机器去了

.

.

.

.

.

.

顺利重启,反正我也不关心是不是出了什么问题。

话说,国内也没谁写这样的Blog了吧

分类: Linux 标签:

在Docker里面运行MS SQLServer 2017的Linux版本

2017年11月16日 没有评论

今天看见Docker的Hub里面的microsoft/mssql-server-linux已经升级到了2017-CU1,就顺手装了一个。可以用如下命令:

docker run –name mssql -e ‘ACCEPT_EULA=Y’ -e ‘SA_PASSWORD=‘ -e ‘MSSQL_PID=Standard’ -p 1433:1433 -d microsoft/mssql-server-linux:2017-CU1</yourstrong!passw0rd>

其中有意思的是MSSQL_PID这个参数,PID是Product ID (PID)或者版本的意思,可以送的参数包括:

Developer :开发版,默认值
Express :这个不用说了
Standard :标准版
Enterprise :企业版
EnterpriseCore :这个你们自己试试吧

01448D53赶快搞起来吧

ArchLinux笔记本电脑合盖不休眠的方法

2017年9月4日 没有评论

找了一个N270处理器的小上网本跑ArchLinux当开发服务器,结果发现合上屏幕就会休眠,于是祭起搜索引擎神器,在ArchLinux的Wiki宝典里面找到了如下的办法:

  • 修改/etc/systemd/logind.conf

其中:

  • HandlePowerKey:按下电源键后的动作
  • HandleSleepKey:按下挂起键后的动作
  • HandleHibernateKey: 按下休眠键后的动作
  • HandleLidSwitch:合上笔记本盖后待机

动作可以是:ignore、poweroff、reboot、halt、suspend、hibernate、hybrid-sleep、lock 或 kexec。

话说自己用还是喜欢ArchLinux,云上的话CentOS也可以忍受

分类: Linux 标签:

用yum给centos7安装nginx

2017年8月21日 没有评论

最近使用阿里云上的centos7的时候,发现直接yum install的nginx版本比较低,鉴于我是新版本强迫症,研究了一下怎么用nginx预编译的包,而不是centos仓库自带的。如下

1.在/etc/yum.repos.d目录下创建nginx.repo文件,内容如下:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

2.再用yum install nginx的时候,可以看到已经是最新的版本了。

这样做的好处有几个,可以直接用systemctl来控制Nginx服务了,再有以后yum update也能跟着更新。

分类: Linux 标签: ,

CentOS的firewalld与docker有冲突

2017年7月25日 没有评论

我这里表现为容器映射到宿主的端口,没有被防火墙保护。防火墙能用,但是报错,如下:

[root@localhost ~]# systemctl status firewalld
● firewalld.service – firewalld – dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 三 2017-07-26 00:42:31 CST; 7h left
     Docs: man:firewalld(1)
  Main PID: 760 (firewalld)
   Memory: 0B
   CGroup: /system.slice/firewalld.service
            └─760 /usr/bin/python -Es /usr/sbin/firewalld –nofork –nopid

7月 25 16:43:44 localhost.localdomain firewalld[760]: WARNING: COMMAND_FAILED: ‘/usr/sbin/iptables -w2 -t nat -C OUTPUT -m addrtype –dst-type LOCAL -j DOCKER ! –dst 127.0.0.0/8’ failed:
7月 25 16:43:44 localhost.localdomain firewalld[760]: WARNING: COMMAND_FAILED: ‘/usr/sbin/iptables -w2 -t filter -C FORWARD -o docker0 -j DOCKER’ failed:
7月 25 16:43:44 localhost.localdomain firewalld[760]: WARNING: COMMAND_FAILED: ‘/usr/sbin/iptables -w2 -t filter -C FORWARD -j DOCKER-ISOLATION’ failed:
7月 25 16:43:44 localhost.localdomain firewalld[760]: WARNING: COMMAND_FAILED: ‘/usr/sbin/iptables -w2 -t nat -C POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE’ failed:
7月 25 16:43:44 localhost.localdomain firewalld[760]: WARNING: COMMAND_FAILED: ‘/usr/sbin/iptables -w2 -t nat -C DOCKER -i docker0 -j RETURN’ failed:
7月 25 16:43:44 localhost.localdomain firewalld[760]: WARNING: COMMAND_FAILED: ‘/usr/sbin/iptables -w2 -D FORWARD -i docker0 -o docker0 -j DROP’ failed:
7月 25 16:43:44 localhost.localdomain firewalld[760]: WARNING: COMMAND_FAILED: ‘/usr/sbin/iptables -w2 -t filter -C FORWARD -i docker0 -o docker0 -j ACCEPT’ failed:
7月 25 16:43:44 localhost.localdomain firewalld[760]: WARNING: COMMAND_FAILED: ‘/usr/sbin/iptables -w2 -t filter -C FORWARD -i docker0 ! -o docker0 -j ACCEPT’ failed:
7月 25 16:43:44 localhost.localdomain firewalld[760]: WARNING: COMMAND_FAILED: ‘/usr/sbin/iptables -w2 -t filter -C FORWARD -o docker0 -m conntrack –ctstate RELATED,ESTABLISHED -j ACCEPT’ failed:
7月 25 16:43:44 localhost.localdomain firewalld[760]: WARNING: COMMAND_FAILED: ‘/usr/sbin/iptables -w2 -t filter -C FORWARD -o docker0 -j DOCKER’ failed:

分类: Linux 标签:

使用多处理器编译AUR

2017年5月10日 1 条评论

archlinux用aur编译的时候,根据top看,多处理器没有用起来,于是研究了一下,发现可以修改/etc/makepkg.conf来修改make的环境变量,启用多处理。具体如下:

去掉MAKEFLAGS前面的注释,并根据处理器数量修改-j后面数据,双核为-j2,四核为-j4

MAKEFLAGS="-j2"

这个提升还是比较明显的。

分类: Linux 标签: