存档

‘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日 2 条评论

新装机的话,可以从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 标签:

今天闲的蛋疼给树莓派上nginx的默认页做压力测试

2017年2月11日 没有评论

树莓派2安装最新的ArchLinuxARM,然后安装标准的nginx。压力源使用VS2015中测试项目的WebLoadTest。

第一次没调nginx的工作进程数,第二次调成4个工作进程,于是…….真相如下:

7413978647@chatroom_1486811612135_38

7413978647@chatroom_1486811913517_83

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

7413978647@chatroom_1486811501740_85

分类: Linux, Web 标签: ,

ArchLinux自2017年3月开始ISO不在支持i686

2017年2月11日 没有评论

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上面。

638597461837233419

分类: Linux 标签:

使用ArchLinux的AUR

2017年2月8日 没有评论

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确实造成的报错。

分类: Linux 标签:

ArchLinux上玩Docker

2016年11月18日 没有评论

先是收了一个群晖DS716+ii,玩了一下Docker,于是又在Arch上面玩。Docker确实好玩,作为沙箱环境,创建速度快了很多。下面是整理的资料:

Install Docker on Arch Linux:https://docs.docker.com/engine/installation/linux/archlinux/

分类: Linux 标签: ,

在ArchLinux中安装PostgreSQL

2016年9月30日 没有评论

这个可能是我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试试能否连接到服务器了。

在Virtual Box上安装ArchLinux简明过程

2016年7月9日 没有评论

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

分类: Linux 标签:

关于树莓派Raspberry Pi3和ArchLinuxARM的一些情况

2016年3月7日 2 条评论

ArchLinuxARM在第一时间更新了网站,并支持了树莓派3,但是还有一些情况,参考:https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3。例如:当前的root filesystem使用的还是Pi2的32位的内容等。

另,需要注意的是Pi3需要电源更大的电流,根据ArchLinuxARM的测试,需要2.5A以上的电流,这个有点强悍。

ArchLinux内核4上面的水星MW150US v2.0迷你USB无线网卡

2015年11月7日 没有评论

在树莓派和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信息一致。

ArchLinux内核4上面的EDUB EP-N8508GS迷你USB无线网卡

2015年11月7日 没有评论

在树莓派和PC的ArchLinux的2015.11上,驱动都没有问题。

lsusb显示:

Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter

lsmod显示使用的是8192cu的驱动,使用cfg80211栈。

使用wifi-menu连接的时候,会有ioctl的错误信息,但是不影响连接。

树莓派1&2 ArchLinux ARM 2015.11目前最完美的USB无线网卡

2015年11月7日 1 条评论

在我这次买的一堆USB无线网卡里面,磊科NW360这个是唯一的不需要做任何操作就可以使用的无线网卡,内部应该是RTL8191SU芯片。

lsusb的信息是

Bus 001 Device 004: ID 0bda:8172 Realtek Semiconductor Corp. RTL8191SU 802.11n WLAN Adapter

lsmod显示驱动为r8712u,使用cfg80211栈。目前,从dmesg看,无任何错误信息。

在ArchLinux上驱动mt7601u无线usb网卡

2015年11月7日 没有评论

上一篇《在ArchLinux ARM下驱动RTL 8188eu无线网卡》对网卡不好用,很是郁闷。所以这次整了一堆无线usb网卡来测试。今天很高兴,完美驱动了mt7601u网卡,当然这个过程不是一帆风顺,不然也就不必要写这么一篇blog了。

先说使用这个片子的网卡:

必联(B-Link) BL-D88 http://item.jd.com/1154411.html

必联(B-Link) BL-150SM http://item.jd.com/1154451.html

传说小米的随身wifi也是这个片子,但是我手头没有小米的随身wifi,所以读者自己测试吧

再说驱动为什么不是一帆风顺:我在pc和arm的ArchLinux上测试这个网卡的时候,发现插上设备以后,系统没有新增网卡设备,lsusb发现识别正常,lsmod发现驱动正常,dmesg发现加载firmware时,没有找到firmware文件。于是自己去http://www.mediatek.com/en/downloads1/downloads/mt7601u-usb/这里下载了一个最新的,你不想注册信息的话,可以从我的百度盘下载http://pan.baidu.com/s/1hqpWmGG。我共享的这个文件,不需要改名字,直接sftp上传,然后复制到/lib/firmware里面,重启pc或者树莓派就好了。

sftp可以使filezilla client。

在ArchLinux ARM下驱动RTL 8188eu无线网卡

2015年11月5日 没有评论

在2013年4月的时候,我曾写过一篇《在Cubieboard的ArchLinux下驱动RTL8188eu无线网卡》。现在两年半以后,因为ArchLinux ARM的升级,所以那片帖子的里面的内容已经过时了。但是根据访问统计看,还有人在访问,而且我现在自己也想把自己树莓派上面的网线换成无线,所以有了今天这篇的内容。今天的这个内容,我在树莓派1B+、树莓派2B以及x86的环境中都做了测试,目前看实验现象似乎都是一致的。水星Mercury的MW150US网卡有多个版本,我手里的这个是MW150US v2.0。

在2013年的时候,当时ArchLinux ARM的内核还是Linux 3,但是现在ArchLinux和ArchLinux ARM的内核都已经是Linux 4了,而且RTL的驱动程序也在升级,所以情况也是有变化的。

先说说现状:

目前RTL 8188eu的驱动,在ArchLinux和ArchLinux ARM的内核里面都已经内置了,插上USB以后,使用lsmod会看到有一个r8188eu的驱动在,但是无论使用wpa_supplicant还是wifi-menu,都无法连到无线路由器。翻墙查了相关的搜索结果以后,大部分都在建议使用https://github.com/lwfinger/rtl8188eu/tree/v4.1.8_9499的新驱动,据说老的驱动是3下面的驱动,在4里面无法很好的工作。

编译并安装驱动:

首先用pacman –S base-devel git dkms iw wpa_supplicant dialog crda linux-raspberrypi-headers安装必要的组件。这其中base-devel是编译需要的工具链,git是代码获取工具,iw、wpa_supplicant、dialog是配置无线网的工具,dkms是动态内核配置工具。crda能设置无线网卡的频率范围,linux-raspberrypi-headers是编译驱动所需要的头文件。

然后获取代码git clone –b v4.1.8_9499 https://github.com/lwfinger/rtl8188eu.git,这会将一个稳定的版本下载到本地。下载后可以先修改rtl8188eu中的Makefile文件,其中CONFIG_POWER_SAVING的内容修改为CONFIG_POWER_SAVING = n,目的是关闭省电功能。然后就可以使用make或者dkms来编译了,具体可以参考github的页面上的帮助。这两种做法会有一个区别,区别是make会自动在/etc/modprobe.d/内创建一个50-8188eu.conf文件,他会把内核中的r8188eu模块加入blacklist,我们自己可以编辑这个文件,并加入一行options 8188eu rtw_power_mgnt=0,给驱动送参数,来关闭相关的电源管理。

结果:

目前看按照上面的操作完成驱动安装以后,某些时候会工作的比较好,dmesg里面已经没有错误信息了。但是说某些时候,是因为不确定原因的某些时候工作的不好。据说最完美的情况是在x64的情况下,据说github上维护代码的这个作者,他用的是这个环境。

还有就是目前看,ArchLinux的作者和使用者确实激进,因为从搜索结果看,大部分是ArchLinux的用户在提问。另外,还有相当多的用户是和我一样在树莓派上使用。

我目前的想法是换一个usb网卡试试。没准换过几个网卡之后,我会写一个迷你usb无线网卡的评测,哈哈

再加一句:ArchLinuxARM论坛里面推荐的dkms-8188eu的方法并不好用,也已经测试了。

新版ArchLinux上MariaDB的安装和升级

2015年9月13日 没有评论

最近在ArchLinux上安装MariaDB的节奏和以前有了一些变化。如下:

安装

1. pacman –S mariadb

2. mysql_install_db –user=mysql –basedir=/usr –datadir=/var/lib/mysql

3. systemctl enable mysqld

4. systemctl start mysqld

5. mysql_secure_installation

升级(在较大的升级以后,比如5.0升级到10.0或者10.升级到10.1)

mysql_update –u root –p

为root添加远程访问

$ mysql -u root -p
MariaDB> CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass';
MariaDB> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
MariaDB> quit
分类: Linux, MySQL, Raspberry Pi 标签: ,