我想解析 mysources.list以提取存储库列表。我有:
## Some comment
deb http://some.vendor.com/ubuntu precise stable
deb-src http://some.vendor.com/ubuntu precise stable
deb http://some.othervendor.com/ubuntu precise experimental # my current favorite
Run Code Online (Sandbox Code Playgroud)
我想要:
http://some.vendor.com/ubuntu precise stable
http://some.othervendor.com/ubuntu precise experimental
Run Code Online (Sandbox Code Playgroud)
所以我需要: 只在行首到行尾或一个#字符带有“deb”的行,但不包括它。到目前为止,我有:
grep -o "^deb .*"
Run Code Online (Sandbox Code Playgroud)
但是如何在#不匹配 的情况下匹配或结束行#?
有没有办法找出软件包是如何安装在 Debian 上的?
即查看它是否是手动安装的或哪个包将其作为依赖项。
此信息应该在某处可用(例如用于apt-get autoremove工作),但我不确定如何为单个包显示它。
我正在使用我的备份计算机作为服务器。它正在运行 Debian,我想杀死与节省内存相关的所有 gnome。我正在通过 ssh 远程访问。
有任何想法吗?
我在两个数据中心之间同步大量数据时遇到问题。两台机器都有千兆连接并且没有完全占用,但我能够获得的最快速度是 6 到 10 Mbit => 不可接受!
昨天我做了一些 traceroute,它表明 LEVEL3 路由器上的负载很大,但问题已经存在数周了,高响应时间也消失了(20 毫秒而不是 300 毫秒)。
我如何跟踪它以找到实际的慢节点?想过一个带有更大包的跟踪路由,但这行得通吗?
此外,此问题可能与我们的其中一台服务器无关,因为到其他服务器或客户端的传输速率要高得多。实际上office => server比server <=> server快!
任何想法表示赞赏;)
更新
我们实际上通过 ssh 使用 rsync 来复制文件。由于加密往往有更多的瓶颈,我尝试了一个 HTTP 请求,但不幸的是它同样慢。
我们与其中一个数据中心签订了 SLA。他们说他们已经尝试更改路由,因为他们说这与流量路由通过的廉价网络有关。确实,它会通过“廉价网”,但只是反过来。我们的方向通过 LEVEL3,另一条路通过 lambdanet(他们说这不是一个好的网络)。如果我做对了(我是网络中间人),他们会模拟一条更长的路径来强制通过 LEVEL3 进行路由,并在 AS 路径中宣布 LEVEL3。
我基本上想知道他们是对的还是他们只是想推卸责任。问题是两个方向都存在问题(虽然路线不同),所以我认为这是我们的房东的责任。老实说,我不相信有一个 DC2DC 连接只能处理 600kb/s - 1.5 MB/s 几个星期!问题是如何检测这个瓶颈在哪里
我正在将用户从旧服务器迁移到新服务器。只有几个用户,我们只想迁移活动的用户并在此过程中重新组织组,所以我手动进行。仍然存在一个问题:如何将他们的密码迁移到新服务器?有没有比/etc/shadow手动复制密码哈希更好的方法?
我看到很多文档建议chage在 Debian 和 Ubuntu 上使用,但apt-get update && apt-get install chage没有安装软件包。例如,
root@ubuntu:~/Desktop# apt-get install chage
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package chage
Run Code Online (Sandbox Code Playgroud)
我发现我需要编辑/etc/shadow. 我究竟需要如何编辑root下面的行,以便我的 Linux 不会要求我在每次登录时更改密码?
root@ubuntu:~# cat /etc/shadow
root:$6$U.dnAQ2f$FV$/aF23Yn.sq1BYVjinlI9251nAarzqGKES18RxadV5bTakcfCNYAMljUwSaQZYV0r4MttHF0SFO7ebq3E1m/:0:0:99999:7:::
Run Code Online (Sandbox Code Playgroud)
我按照deong建议编辑了根行
root:$6$U.dnAQ2f$FV$/aF23Yn.sq1BYVjinlI9251nAarzqGKES18RxadV5bTakcfCNYAMljUwSaQZYV0r4MttHF0SFO7ebq3E1m/:0:0:::::
Run Code Online (Sandbox Code Playgroud)
它仍然会在登录时要求输入密码。
我还遵循了http://www.lifelinux.com/setting-up-password-aging-in-linux/上的说明:
root@ubuntu:/home# chage -m 7 -M 60 -W 7 -I 7 root
root@ubuntu:/home# chage -m 0 -M 99999 -I -1 root
root@ubuntu:/home# change -l root
-bash: …Run Code Online (Sandbox Code Playgroud) 在Debian上挤。运行ps -p $$showbash是我当前的 shell,ls -l $(which sh)showssh是到bash. 那么,为什么当我运行时man sh,我会得到 的手册页dash?这只是 Debian 中的一个错误吗?
我已经kexec安装好可以在没有 BIOS POST'ing 和 GRUB 弹出的情况下进行快速热重启。它只会重新初始化内核并再次执行引导过程。
然而,有时我喜欢完全重启,例如更改某些 BIOS 设置或启动不同的操作系统。我现在通过先关闭来做到这一点。
有没有我可以在(Debian)Linux 中执行的命令来忽略 kexec 并执行 oldskool 完全(热)重启,包括 POST?
不用说,$ reboot配置为使用kexec. 这一切都在安装时自动发生kexec。
我和一些朋友在同一个目录上工作,他们通过 SSH 访问它。
我将我们添加到同一组中并定义了一个粘性位以保持 user:group 值相同。
但是,当用户创建文件/文件夹时,未为该组定义 Write 属性,从而禁止其他人对其进行写入/写入。
如何定义 Umask 为特定目录及其子文件夹中的组添加写入值?
我之前尝试过寻求帮助,但我只看到了 Fedora/CentOs 的帮助,而且我使用的是 Debian Squeeze。
谢谢你的帮助
我已经将 Raspberry Pi 设置为 Web 服务器,直到 5 分钟前一切正常,而且我似乎搞砸了 man-db、apt 或某些 perl 库。由于某些加载错误,apt-get 似乎没有正确更新和安装应用程序:
harry@raspberrypi ~ $ sudo apt-get upgrade
...
将升级以下软件包:
pypy-upstream raspi-config 暂存
...
在 37 秒内获取 40.4 MB (1088 kB/s)
/usr/bin/perl: 加载共享库时出错:/usr/lib/libperl.so.5.14: n onzero padding in e_ident
...
设置 man-db (2.6.2-1) ...
/usr/bin/perl: 加载共享库时出错:/usr/lib/libperl.so.5.14: n onzero padding in e_ident
dpkg: 错误处理 man-db (--configure):
...
处理时遇到错误:man-db
子进程安装后安装脚本返回错误退出状态 127
E:子进程/usr/bin/dpkg返回错误码(1)
完整的 pastebin 在这里:http : //pastebin.com/LYKQ5Xde
我按照某个论坛上的建议尝试了 'sudo dpkg-reconfigure -phigh -a' 并得到了同样的 perl 错误:
/usr/bin/perl:加载共享库时出错:/usr/lib/libperl.so.5.14:e_ident 中的非零填充
非常感谢任何帮助,谢谢!