Articles of Debian

更新grub2没有硬件访问(例如在chroot中)?

我正在编写一个脚本,需要一个主KVM映像,将其转换为VDI,对其进行一些更改,然后提供下载。 我需要更新一些新创build的映像的内核启动参数。 通常情况下,编辑/ etc / default / grub中的GRUB_CMDLINE_LINUX_DEFAULT设置,然后运行update-grub。 当然,我只能在chroot中执行这个操作,失败了:'/ usr / sbin / grub-probe:error:找不到/(是/ dev挂载的)设备。 将正在运行的系统的安装/ dev绑定到chroot中,允许update-grub运行,但是会导致grub.cfg中断(从映像的angular度看错误的根设备)。 如果我只是使用sed来添加我需要的内核参数,它将启动映像,但后续运行的update-grub(从现在运行的映像中)会造成麻烦。 所以我现在的解决scheme是: 编辑/ etc / default / grub中的参数 将/ dev挂载到chroot中 在chroot中运行update-grub 使用sed修复/boot/grub/grub.cfg中的错误设备节点 请告诉我有一个更好的方法。

连接到本地主机parsing127.0.0.1,但连接到外部IP

我有一个专用服务器的问题,我不知道如果这是默认的行为,但这是问题: 如果我使用本地主机连接到位于服务器上的服务,则服务会将外部IP作为源IP。 让我来举个例子,我使用netcat在127.0.0.1:4444上进行监听 xxxxxx # nc -vv -l -s 127.0.0.1 -p 4444 listening on [127.0.0.1] 4444 … 让我们检查一下是否可以: xxxxxx ~ # netstat -atnp | grep 4444 tcp 0 0 127.0.0.1:4444 0.0.0.0:* LISTEN 14038/nc 好,让我们连接: xxxxxx ~ # nc -vv 127.0.0.1 4444 localhost [127.0.0.1] 4444 (?) open 回到有听力过程的tty,我得到这个: connect to [127.0.0.1] from xxxxxx.net [176.31.xxx.xx] 50354 所以这就是问题所在。 […]

保持NAT后的源IP

直到今天,我用一个便宜的路由器,所以我可以分享我的互联网连接,并保持一个networking服务器,同时使用NAT。 用户IP($ _SERVER ['REMOTE_ADDR'])很好,我看到用户的A类IP。 但是随着stream量每天都在增长,我不得不安装Linux服务器(Debian)来共享我的Internet连接,因为我的旧路由器无法保持stream量。 我通过使用NAT的IPTABLES共享互联网,但是现在,在将端口80转发到我的networking服务器之后,现在我看不到我的网关IP(Linux内部IP)作为任何用户的IP地址。 如何解决这个问题? 我编辑了我的post,所以我可以粘贴我目前使用的规则。 #!/bin/sh #I made a script to set the rules #I flush everything here. iptables –flush iptables –table nat –flush iptables –delete-chain iptables –table nat –delete-chain iptables -F iptables -X # I drop everything as a general rule, but this is disabled under testing # iptables -P INPUT […]

限制基于IP的WSGI

所以我有Trac在我的debian服务器上运行,VirtualHost文件如下所示: … WSGIScriptAlias / /srv/domain/trac.wsgi WSGIScriptReloading On <Directory /srv/domain/tracprojects> WSGIApplicationGroup %{GLOBAL} Order deny,allow Deny from all </Directory> … 我认为这可能会拒绝所有人(我想要做的testing,这将工作)。 尽pipetrac应用程序仍在运行,但这并不影响安装。 有什么我需要把我的wsgi文件来限制访问,而不是在我的虚拟主机文件?

为什么domU比IO上的dom0更快?

我已经在物理机器上安装了debian 7。 这是机器的configuration: 3个硬盘使用RAID 5 条元素大小:1M 阅读策略:自适应预读 写策略:写通过 / boot 200 MB的ext2 / 15 GB的ext3 SWAP 10GB LVMrest(〜500GB) 我安装了postgresql,创build了一个大的数据库(超过1GB)。 我有一个SQL请求需要大量的时间来运行(一个SELECT语句,所以它只能从数据库中读取数据)。 这个请求大约需要5.5秒的时间来运行。 然后,我安装了XEN,创build了一个domU,与另一个debian发行版。 在这个操作系统上,我也安装了postgresql,使用相同的数据库。 相同的SQL请求只需要2.5秒即可运行。 我检查了dom0和domU上的内核。 在这两个系统上uname-a返回“Linux debian 3.2.0-4-amd64#1 SMP Debian 3.2.41-2 + deb7u2 x86_64 GNU / Linux”。 我检查了几乎相同的内核参数。 对于那些相关的,我改变了它们的值,使它们在使用sysctl的两个系统上匹配。 我看到没有变化(请求仍然需要相同的时间)。 在此之后,我检查了文件系统。 我在domU上使用了ext3。 仍然没有改变。 我安装了hdparm,并在两个系统上和两个系统上的所有分区上运行hdparm -Tt,并得到类似的结果。 现在,我被困住了,我不知道有什么不同,而这可能是造成如此巨大差异的原因。 附加信息: Debian在戴尔服务器PowerEdge 2950上运行 postgresql:9.1.9(包括dom0和domU) xen-linux-system:3.2.0 xen-hypervisor:4.1 谢谢 编辑 : […]

在几台服务器的dmesg中出现同样的硬盘问题

我们有一些SuperMicro MicroCloud设备 。 总共有16个服务器(2×8),它们都是在dmesg中随机发送这些消息的: [4661350.802707] ata2.00: failed command: WRITE FPDMA QUEUED [4661350.802734] ata2.00: cmd 61/00:28:00:d0:fc/04:00:0f:00:00/40 tag 5 ncq 524288 out [4661350.802735] res 40/00:0c:00:f8:fc/00:00:0f:00:00/40 Emask 0x10 (ATA bus error) [4661350.802821] ata2.00: status: { DRDY } 即使由于错误,一切似乎都很好,但忽视它们却感觉非常错误。 它主要发生在磁盘活动高的时期。 在单台服务器上,即使在高磁盘活动期间也会随机停止。 谷歌search表明,这可能是由于连接器松动或驱动器故障,但它发生在16台不同types的硬盘驱动器甚至不同types的服务器(8个使用7200 RPM WD黑色SATA驱动器,另外8个使用10000 RPM VelociRaptor)。 我们尝试了两种不同的Linux内核,2.6.32(Debian Squeeze)和3.2.44(Debian Wheezy)。 服务器厂商build议升级到最新的BIOS,但我们已经在运行它。 所以,现在我们卡住了:)有人有一个build议? 完整的dmesg: http : //pastebin.com/Z9k1kXbc 更新: 吉姆加里森指出我AskUbuntu问题 ,他们提到有缺陷的英特尔芯片组。 我现在担心我们会受到这个影响,尽pipe它已经在2011年被发现了。(这些服务器是在2012年第四季度build成的,但是SuperMicro从2011年开始可能会有一个旧批次 […]

无法使用vsftpdlogin到Debian上的FTP

我试图设置FTP访问我的Apache服务器,但我收到530 Login Incorrect错误。 我通过sudo apt-get install vsftpd安装了vsftp软件包。 我已经尝试用我创build的用户连接到ftp://(my ip address) , andrew ,他是ftp用户组的成员。 我也试着用root连接。 我确定密码是正确的。 理想情况下,我希望能够连接到我的/var/www/目录通过FTP客户端上传文件。 这是我的vsftpd.conf文件没有注释的样子: listen=YES anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/private/vsftpd.pem 并与评论: # Example config file /etc/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to […]

多个服务器上的多个网站 – 分离mysql或不

我目前有2个Debian服务器(VPS有4GB内存),并且承载了各种不同重要性的网站:一些是生产站点,另外一些是演示/临时/testing站点。 大约有15-20个网站,其中一个即将有相当的stream量。 目前,我已将我的生产站点部署在一台服务器上,并将演示/分段/testing站点部署在另一台服务器上。 两台服务器都运行Apache和MySQL。 我已经阅读并理解了从Web服务器(Apache,但可能要切换到Nginx)分离数据库(MySQL)的大部分好处。 目前我没有任何性能问题,但需要从一台服务器移动到另一台服务器,并想知道现在是不是在两台服务器上重新组织数据的好时机。 目前我没有钱来添加额外的服务器。 我的问题是:把所有的网站放在两台服务器之一和相应的数据库上是否好,因为它们分为生产和演示/分段/testing应用程序,或者我最好保持生产和非生产应用(考虑安全/性能因素)? 理想情况下,我会将所有非生产应用程序迁移到第三台服务器上,但目前为止还没有结束。

docker的debian缓慢的DNS解决

当我使用wget或curl , apt-get ,在我的ubuntu内部,我得到了非常缓慢的DNS解决scheme… root@815340a37f0e:/# time curl www.google.com … real 0m5.132s user 0m0.006s sys 0m0.003s 当我做nslookup它相当快。 root@815340a37f0e:/# time nslookup google.com Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: google.com Address: 173.194.78.101 … real 0m0.024s user 0m0.010s sys 0m0.005s

mongod:符号查找错误:mongod:undefined symbol:_ZN5boost6detail13once_epoch_cvE

Iam遇到我的mongodb安装问题:当我运行sudo mongod时,出现mongod: symbol lookup error: mongod: undefined symbol: _ZN5boost6detail13once_epoch_cvE uname -a Linux xyz 3.2.0-4-686-pae #1 SMP Debian 3.2.65-1+deb7u2 i686 GNU/Linux which mongod /usr/bin/mongod ldd /usr/bin/mongod linux-gate.so.1 => (0xb76e7000) libpcrecpp.so.0 => /usr/lib/i386-linux-gnu/libpcrecpp.so.0 (0xb76b9000) libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb767b000) libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb758e000) libboost_system.so.1.49.0 => /usr/lib/libboost_system.so.1.49.0 (0xb758a000) libboost_thread.so.1.49.0 => /usr/lib/libboost_thread.so.1.49.0 (0xb7565000) libboost_filesystem.so.1.49.0 => /usr/lib/libboost_filesystem.so.1.49.0 (0xb7546000) libboost_program_options.so.1.49.0 => /usr/lib/libboost_program_options.so.1.49.0 […]