我这里表现为容器映射到宿主的端口,没有被防火墙保护。防火墙能用,但是报错,如下:
[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:
archlinux用aur编译的时候,根据top看,多处理器没有用起来,于是研究了一下,发现可以修改/etc/makepkg.conf来修改make的环境变量,启用多处理。具体如下:
去掉MAKEFLAGS前面的注释,并根据处理器数量修改-j后面数据,双核为-j2,四核为-j4
MAKEFLAGS="-j2"
这个提升还是比较明显的。
树莓派2安装最新的ArchLinuxARM,然后安装标准的nginx。压力源使用VS2015中测试项目的WebLoadTest。
第一次没调nginx的工作进程数,第二次调成4个工作进程,于是…….真相如下:


最惨的是我自己的pc跑满了

1月份刚收了一个带有Raid卡和热插拔笼子的HP瘦客户机,上周刚给他装上2块500G的2.5寸硬盘,做好raid装好Arch,就看到了这个消息。
看到这个消息有点不舒服,不是因为这机器装的Arch一年后就没有更新了,而是突然回首发现已经玩了20年的Linux了。
不说这个了,给大家看看这个奇怪的瘦客户机。原机是HP的T5740,但是加厚扩展了4盘位的盘仓和Raid卡。卡是Sil 3114有点鸡肋,但是能扩充4盘位。机器内部还有一个8G SATA口的SSD。处理器是N280,单处理器,32位,好处就是省电低热。这机器主板不支持加载3114上的硬盘,所以/boot和grub都在这个8G的SSD上面。

Archlinux的AUR里面有很多非官方的软件包,但是需要自己编译,编译前还有很多相应的准备工作。需要先安装base-devel这个安装包的组,然后还要安装git。另外还要准备一个非root的账号,并具备sudo的权限。
1.当前使用root身份安装必须的文件:
pacman –S base-devel git
2.使用root身份用visudo命令添加tom ALL=(ALL) ALL,这里tom就是那个非root账号。
3.使用su tom的方式切换到tom用。
4.使用git clone的方式拿取安装包的信息文件,这会为包安装创建一个文件夹。
5.进入这个文件夹,然后使用makepkg –si。这会自动下载依赖的安装包,下载依赖的文件,编译这些文件,并制作安装包。然后会问你tom这个账号的密码,密码正确以后,会以root权限来安装刚才做好的安装包。
利用这个可以解决mkinitcpio时候aic94xx和wd719xx两个firmware确实造成的报错。
先是收了一个群晖DS716+ii,玩了一下Docker,于是又在Arch上面玩。Docker确实好玩,作为沙箱环境,创建速度快了很多。下面是整理的资料:
Install Docker on Arch Linux:https://docs.docker.com/engine/installation/linux/archlinux/
这个可能是我Blog里面第一篇使用Open Live Writer写的内容,目前其本版为0.6。
前段时间摔伤,把手里的工作交接了一下,顺便开始研究一些之前腾不出时间做的研究。这次是在ArchLinux上安装PostgreSQL。研究了一下PostgreSQL的文档,写的很细,但是无从下手。研究了一下ArchLinux的Wiki,基本过程写了,但是还有问题,自己折腾了两天才搞定,特此记录一下。
1.首先还是要安装postgresql安装包。
pacman –S postgresql
2.安装包搞定以后,会自动创建postgres账号。按照ArchLinux的要求,需要修改这个账号的密码,作为开发环境可以跳过。然后su成这个账号,做数据库的初始化。因为postgresql是以这个账号运行的,所以数据库初始化,一定要su成这个账号。
su postgres
initdb –locale $LANG -E UTF8 –D ‘/var/lib/postgres/data’
exit
3.初始化完成以后,会创建好配置文件和系统库。接下来编辑配置文件。配置文件都在刚才的数据目录内。
先修改postgresql.conf文件,去掉listen_address前面的注释符,并将内容修改为*号,表示监听所有的IP。
再修改pg_hba.conf文件,添加host all all 192.168.1.0/24 md5,表示允许某个网段以md5编码的方式验证用户登录。
4.修改完成就可以注册服务和启动服务了。
systemctl enable postgresql
systemctl start postgresql
5.启动以后需要修改管理账号的密码
psql –U postgres
postgres=#\password postgres
6.这样就安装完成,可以使用远程的pgAdmin 3试试能否连接到服务器了。
1.准备:
下载最新的iso文件,准备虚机,测试网络。
2.使用iso启动虚机,测试网络是否可用。
3.分区和磁盘准备: sda1为交换分区,大小与内存相同,sda2为剩余空间。
分区:fdisk /dev/sda
格式化主分区:mkfs.ext4 /dev/sda2
格式化交换分区: mkswap /dev/sda1
启用交换分区:swapon /dev/sda1
加载主分区:mount /dev/sda2 /mnt
4.修改当前使用的镜像服务器,我是修改为163的镜像。
vi /etc/paman.d/mirrorlist
5.灌rootfs。包括基础和开发两部分包。
pacstrap –i /mnt base develop
genfstab –U –p /mnt >> /mnt/etc/fstab
6.切换root
arch-chroot /mnt /bin/bash
7.修改locale信息
修改/etc/locale.gen,再执行locale-gen
执行echo LANG=en_US.UTF-8 > /etc/locale.conf
8.修改时区和local时间
ln –s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock –systohc –utc
9.修改机器名
echo myhostname > /etc/hostname
10.修改密码
passwd
11.安装bootloader
pacman –S syslinux
syslinux-install_update –i –a –m
vi /boot/syslinux/syslinux.cfg
12.退出重启
exit
umount –R /mnt
reboot
ArchLinuxARM在第一时间更新了网站,并支持了树莓派3,但是还有一些情况,参考:https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3。例如:当前的root filesystem使用的还是Pi2的32位的内容等。
另,需要注意的是Pi3需要电源更大的电流,根据ArchLinuxARM的测试,需要2.5A以上的电流,这个有点强悍。
在树莓派和PC的ArchLinux的2015.11上,驱动都没有问题。
lsusb显示:
Bus 001 Device 004: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter
lsmod显示:
使用的是8188eu的驱动,使用cfg80211栈。但是在插卡的时候不会加载cfg80211,只有在wifi-menu之后,才会加载。
使用wifi-menu连接的时候,会有ioctl的错误信息,但是不影响连接。在wifi-menu,里面看不到信号评分或者信号的分贝提示。dmesg会有错误信息。
补充:
1.COMFAST CF-WU810N的lsusb和lsmod信息一致。
2.COMFAST CF-WU720N的lsusb和lsmod信息一致。
近期评论