Articles of arch linux

与git使用符号链接

我曾经有我的系统configuration文件都在一个目录中,以便更好的pipe理,但现在我需要使用一些版本控制。 但问题是git不理解指向仓库之外的符号链接,而且我不能颠倒angular色(仓库上的真实文件和正确path上的符号链接),因为有些文件被读取内核加载之前。 我认为我可以使用unison来同步仓库中的文件和他们的path,但这是不实际的。 硬链接可能会被打破。 任何想法 ?

Apache(Linux)httpd监听链接本地IPv6地址

我希望Apache在特定的接口上监听链路本地ipv6地址。 我有我的httpd.conf中的以下行: Listen [fe80::a00:16ff:fe89:420f]:80 这是基于这里的Apache文档: https : //httpd.apache.org/docs/2.4/bind.html “IPv6地址必须括在方括号” 我的操作系统/ Apache版本详细信息如下: $ httpd -v Server version: Apache/2.4.18 (Unix) Server built: Dec 14 2015 08:05:54 $ uname -rv 4.3.3-3-ARCH #1 SMP PREEMPT Wed Jan 20 08:12:23 CET 2016 使用journalctl -e显示的结果是: (22)无效参数:AH00072:make_sock:无法绑定到地址[fe80 ….. IPv6正在工作,因为我有sshd和dnsmasq监听。 我已经尝试追加两个不同的作用域ID后缀到地址。 您可以在ping6和sshd使用接口标识3或名称net1作为scopeid。 $ ip addr | grep -Po "^\d: \S+" 1: lo: 2: […]

Archlinux和openssh

我需要安装一个Archlinux VPS openssh,一切都运行平稳,除非我不能ssh进入。 我注意到openssh没有安装,所以我看着说这样做的维基: pacman -S openssh 我这样做,但它开始给我错误,它无法find镜子上的openssh-5.8p2-9-x86_64.pkg.tar.xz error : failed retrieving file 'openssh-5.8p2-9-x86_64.pkg.tar.xz' from artfiles.org : No address record 我添加了更多的镜像,但仍然有同样的错误。 我究竟做错了什么 ?

放置shell脚本在systemd控制下

假设我有这样的shell脚本: #!/bin/sh # cherrypy_server.sh PROCESSES=10 THREADS=1 # threads per process BASE_PORT=3035 # the first port used # you need to make the PIDFILE dir and insure it has the right permissions PIDFILE="/var/run/cherrypy/myproject.pid" WORKDIR=`dirname "$0"` cd "$WORKDIR" cp_start_proc() { N=$1 P=$(( $BASE_PORT + $N – 1 )) ./manage.py runcpserver daemonize=1 port=$P pidfile="$PIDFILE-$N" threads=$THREADS request_queue_size=0 verbose=0 } […]

平衡(当前性vs稳定性)linux服务器分布

我是桌面和服务器上的Gentoo的长期用户。 作为一名软件工程师,我喜欢它的灵活性和可定制性(以及这是一个前沿和滚动发布的事实)。 但是对于我的新服务器,我想用不同的发行版。 主要是因为编译所有东西都会成为虚拟服务器上的障碍,但也是因为Gentoo太过于stream血,有时候更新版本应该已经被更好地testing和推迟了。 (作为一个方面说明:多年来,我已经成功地部署/维护了几个Gentoo机器,大部分时间,事情变得非常顺利,机器很棒。) 所以我想问问社区根据经验(而不是意见)的build议什么分布将最好地符合以下标准: 一般 滚动版本或非常好(可靠)的就地升级path 既没有完全过时,也没有绝对出血的封装存储库 Python 2.7 / 3.3(系统将主要部署python / django应用程序) 最近的gcc(> = 4.7) 维护良好,良好的社区 灵活和可定制 应该可以并排安装不同的gcc或python版本 安全 签署(或以其他方式保护)软件包储存库 理智/安全的编译器标志(为了安全性而不是性能) 及时的安全更新和专门的安全团队/公布名单 想到的是CentOS和Debian,但不幸的是,这两者在包装方面都比较落后。 我正在关注Ubuntu,但他们正式支持的软件(主要/限制性回购)与宇宙或其他发行版相比是相当小的。 我也不是很确定他们维护官方软件包的安全性(关于安全性问题),我不太喜欢他们的公司(=封闭)心态,因为在做出影响他们用户的决策时。 在一个侧面说明:我最近安装了一个朋友12.10桌面,并没有真正的印象。 ArchLinux接近Gentoo ,减去包编译,恕我直言。 我还没有自己尝试过,但是立即脱颖而出(负面的)是相当小的核心团队和失踪的安全团队。 似乎没有专门的安全列表,他们只是最近才整合了包裹签名(我不知道这是否是强制性的)。 也有相当多的软件包只能通过AUR或不同的方式来支持。 关于这件事我没有什么可说的。 OpenSuSE也是我正在关注的,但是我最后一次尝试SuSE的时间是在内核1.x天,诚实地说(当时我是一个非常年轻的怪胎:P)。 所以我现在对它的现状几乎一无所知。 Fedora老实说也是我曾经想过的。 它通常很好的维护和(如果不延迟几个月)有一个很好的发布时间表。 另一方面,我读了很多关于Fedora 18的坏消息,特别是升级path。 而且这绝对是非常stream血的边缘。 没有多less我可以添加到这个相当长的职位,除了感谢您阅读本,并花时间。 🙂 UPDATE @ 2024UTC 我觉得我需要更新我的问题。 即使我绝对同意给出的答案,但他们并不是我所期待的。 所以这里有几点希望澄清我的情况: 我一直在维护服务器10年以上,所以(至less现在是这样),我没有考虑聘请某人来帮助我或者减轻负担。 我知道我的Linux的方式。 这是我的主要系统15年左右。 而作为一名软件工程师和极客,我不会把它交易给世界。 🙂 […]

QEMU-KVM Linux虚拟化的命令行

我最近发现, qemu-kvm有一个非常有希望的-curses选项,它不是启动一个X窗口,而是从适合于从命令行pipe理Linux客户机的来宾显示一个很好的ncurses输出(或者更令人满意的是,在屏幕会话,甚至通过SSH)。 所以我试了一下,发现我的Arch Linux客户端进入了“graphics模式”渲染这个function没用。 从我已经能够确定,问题是客机内核初始化帧缓冲允许高于80×60字符分辨率(和漂亮的graphics)。 所以我继续寻找一种方法来防止客户内核启动帧缓冲区。 我尝试了各种各样的内核参数, nomodeset , fb=false , vga=0x0FF , vga=ask (然后select一个VGA而不是VESA模式),无效:每次qemu-kvm -curses报告都在客户机上的“graphics模式”(在初始引导菜单之后),我无法从主机上的命令行terminal与客户机进行交互。 有没有简单的方法来保持来宾内核在相同的模式下启动(没有帧缓冲),而不改变内核构build参数? 如果没有,我应该改变什么内核构build选项来编译一个没有framebuffer支持的内核? 有没有更好的方法在纯文本模式下从主机上的terminal获得虚拟机login(例如,适合在主机上的屏幕会话中运行),而无需在客户机上运行sshd?

对initramfs systemd服务的反思 – 如何?

背景 我正在运行ArchLinux,使用systemd二进制文件启动必要的服务,作为initramfs(root fs解密,挂载等)的一部分。 我想研究什么是系统单元作为这个阶段的一部分,什么时候开始。 systemd-analyze plot仅显示了切换根后发生的所有单元的时间图。 交换机根单元(根据定义,initrd引导序列中的最后一个单元)指出: [Service] # … ExecStart=/usr/bin/systemctl –no-block –force switch-root /sysroot # … 在switch-root系统命令的systemctl手册页有这样的说: switch-root ROOT [INIT] 切换到另一个根目录并在其下执行新的系统pipe理器进程。 这适用于初始RAM磁盘(“initrd”),并且将从initrd的系统pipe理器进程(又名“init”进程)转换到从实际主机卷加载的主系统pipe理器进程。 这个调用有两个参数:要成为新根目录的目录,以及在其下面的新系统pipe理器二进制文件的path,以便作为PID 1执行。如果后者被省略或者为空string,则会自动searchsystemd二进制文件并用作init。 如果省略系统pipe理器path,等于空string或与systemd二进制文件的path相同,initrd的系统pipe理器进程的状态被传递给主系统pipe理器,这允许稍后检查所涉及的服务的状态在initrd引导阶段。 然后在initrds的问题上是安静的… … – 题 启动后,如何反思上面推断的initrd引导阶段所涉及的服务的状态,或者发现甚至运行了哪些单元(如某些是dynamic生成的)?

我可以将整个/ var / lib / mysql文件夹复制到不同的服务器上吗? (mysql vs mariadb,不同的版本)

我曾经有一个Linux系统(LMDE)与MySQL。 系统对大多数数据库使用了innodb_file_per_table。 (不知道该版本是什么,无论LMDE中的“最新”) 我现在正在与MariaDBbuild立一个新系统(Manjaro / Arch)。 $ mysql –version mysql Ver 15.1 Distrib 10.0.15-MariaDB, for Linux (x86_64) using readline 5.1 旧系统有大量的大数据库,我真的不想复制mysqldump。 我更愿意从旧系统复制/ var / lib / mysql文件夹。 这可能吗?

如何build立一个安全的MongoDB服务器?

我想我的网站使用MongoDB作为它的数据存储。 我在开发环境中使用了MongoDB,不用担心,但是我担心公共服务器的安全性。 我的服务器是运行Arch Linux的VPS。 Web应用程序也将在其上运行,所以它只需要接受来自本地主机的连接。 没有其他用户(通过SSH或其他)将直接访问我的服务器。 我应该怎样保护我的MongoDB实例?

Ping:在Arch GNU / Linux上安装iptables后,sendmsg:操作不允许错误

昨天我买了一台新的电脑作为我的家用服务器,一台HP Proliant Microserver。 安装Arch Linux,内核版本3.2.12。 安装iptables(1.4.12.2 – 当前版本AFAIK)并将net.ipv4.ip_forward项更改为1,并在iptablesconfiguration文件中启用转发(并重新启动)后,系统将无法使用其任何networking接口。 Ping失败 Ping: sendmsg: operation not permitted 如果我完全删除iptables,联网是好的,但我需要共享Internet连接到本地networking。 集成在主板上的eth0 – wan网卡(Broadcom NetXtreme BCM5723)。 eth1 -lan网卡在一个pci-express插槽(Intel 82574L千兆networking) 由于它没有iptables(服务器可以访问互联网,我可以从内部networkingsshlogin),我认为它与iptables有关。 我没有太多的经验与iptables,所以我用这些作为参考(当然彼此分开…): wiki.archlinux.org/index.php/Simple_stateful_firewall#Setting_up_a_NAT_gateway revsys.com/writings/quicktips/nat.html howtoforge.com/nat_iptables 在我之前的服务器上,我使用revsys指南来设置nat,像一个魅力一样工作。 任何人都经历过这样的事情? 我究竟做错了什么?