*注意:如果您的服务器由于内核混乱而仍然存在问题,并且您无法重新启动 - 建议在您的系统上安装 gnu date 的最简单解决方案是:date -s now。这将重置内核的内部“time_was_set”变量并修复 Java 和其他用户空间工具中的 CPU 占用 futex 循环。我已经在我自己的系统上跟踪了这个命令,并确认它正在做它在锡上所说的 *
尸检
Anticlimax:唯一死掉的是我的 VPN (openvpn) 链接到集群,所以在它重新建立时有令人兴奋的几秒钟。其他一切都很好,并且在闰秒过去后启动 ntp 就顺利进行了。
我在http://blog.fastmail.fm/2012/07/03/a-story-of-leaping-seconds/写下了我当天的全部经历
如果您在http://my.opera.com/marcomarongiu/blog/2012/06/01/an-humble-attempt-to-work-around-the-leap-second查看 Marco 的博客- 他有一个解决方案使用 ntpd -x 在 24 小时内调整时间变化以避免 1 秒跳过。这是运行您自己的 ntp 基础架构的另一种涂抹方法。
就在今天,2012 年 6 月 30 日星期六 - 在格林威治标准时间开始后不久开始。我们在由不同团队管理的不同数据中心的少数服务器都变黑了 - 不响应 ping,屏幕空白。
他们都在运行 Debian Squeeze - 从库存内核到自定义 3.2.21 构建的所有内容。大多数是戴尔 M610 刀片,但我也刚刚丢失了戴尔 R510,其他部门也丢失了其他供应商的机器。还有一个旧的 IBM x3550 崩溃了,我认为它可能无关紧要,但现在我想知道。
我确实从中获得了屏幕转储的一次崩溃说:
[3161000.864001] BUG: spinlock lockup on CPU#1, ntpd/3358
[3161000.864001] lock: ffff88083fc0d740, .magic: dead4ead, .owner: imapd/24737, .owner_cpu: …Run Code Online (Sandbox Code Playgroud) 假设您正在运行一个服务器,并且您不想从 Stable (Lenny) 升级到 Testing (Squeeze) 以安装一两个必需的软件包。
仅安装来自测试的某些软件包的最佳方法是什么?
有没有人有一个很好的解决方案来处理文件/var/www?我们正在运行基于名称的虚拟主机,Apache 2 用户是www-data。
我们有两个普通用户和 root。因此,当弄乱 中的文件时/var/www,而不必...
chown -R www-data:www-data
Run Code Online (Sandbox Code Playgroud)
...一直以来,有什么好的处理方法?
补充问题:那么您对权限的态度如何?
这一直是协作开发环境中的一个问题。
为了编译一些东西,我需要zlib1g-dev安装这个包,所以我启动了一个apt-get install zlib1g-dev.
apt-get 很好地告诉我,由于另一个软件包,该软件包已经自动安装,并且它知道我现在要明确安装它:
# apt-get install zlib1g-dev
zlib1g-dev is already the newest version.
zlib1g-dev set to manually installed.
Run Code Online (Sandbox Code Playgroud)
我的编译完成了,我不再需要它了,所以我想把它的状态恢复到以前的状态:自动安装。这样,当不再需要它时,它将使用简单的apt-get autoremove.
我不能做,apt-get remove zlib1g-dev因为有些包仍然依赖它。
那么如何将包zlib1g-dev安装状态恢复为自动安装?
我知道我可能会/var/lib/apt/extended_states手动编辑
Package: zlib1g-dev
Auto-Installed: 0
Run Code Online (Sandbox Code Playgroud)
到
Package: zlib1g-dev
Auto-Installed: 1
Run Code Online (Sandbox Code Playgroud)
……但就是感觉不太对劲。
如何让 apt-get 忽略某些依赖项?例如,我想安装mailx,以便我可以使用它从 cron 脚本/报告生成工具发送电子邮件。但是,安装 mailx 也会安装exim4和一大堆依赖项(我已经安装了 Postfix)我真的不需要,我猜 mailx 也可以没有它。
如何忽略某些依赖项但仍然使用 apt-get 因为它是一个不错的工具?
在 Ubuntu 上,可以同时拥有多个 JVM。使用 选择默认值update-alternatives。但这并没有设置JAVA_HOME环境变量,由于debian 政策。
我正在编写一个启动程序脚本 (bash),它启动一个 Java 应用程序。这个java应用程序需要JAVA_HOME环境变量。那么如何获取当前选择的JVM的路径update-alternatives呢?
通常在使用mysqldump命令转储 MySQL 数据库后,我会立即 tar/gzip 生成的文件。我正在寻找一种在一个命令中执行此操作的方法:
所以从这个:
mysqldump dbname -u root -p > dbname.sql
tar czvf dbname.sql.tgz dbname.sql
rm dbname.sql
Run Code Online (Sandbox Code Playgroud)
对于这样的事情:
mysqldump dbname -u root -p > some wizardry > dbname.sql.tgz
Run Code Online (Sandbox Code Playgroud)
或者甚至更好(因为我通常将转储文件 scp 到另一台服务器):
mysqldump dbname -u root -p > send dbname.sql.tgz to user@host
Run Code Online (Sandbox Code Playgroud)
我在 debian 上运行 bash。
是否有命令可以查看某个 ppa 存储库中可用的软件包?
我知道如何使用 mysqldump 导出/导入数据库,这很好,但我如何将权限授予新服务器。
额外的一点是,新数据库上已经有几个现有数据库,如何导入旧服务器权限而不破坏现有的几个数据库。
旧服务器:5.0.67-社区
新服务器:5.0.51a-24+lenny1
编辑:我从旧服务器上获得了 db 'mysql' 的转储,现在想知道与新服务器上的 'mysql' db 合并的正确方法。
我尝试使用 phpMyAdmin 直接“导入”,结果出现了关于重复的错误(我已经手动迁移过)。
任何人都有合并两个“mysql”数据库的优雅方式?
mysql linux debian mysql-replication database-administration
当我 apt-get 一个包时,如何获取已安装或将要安装的文件列表?相反,我能否找到导致安装特定文件的软件包?
debian ×10
linux ×5
apt ×4
ubuntu ×4
mysql ×2
apache-2.2 ×1
aptitude ×1
bash ×1
dependencies ×1
dpkg ×1
email ×1
gzip ×1
java ×1
leapsecond ×1
ntp ×1
repository ×1
tar ×1
www-data ×1