2014年9月

问题: 是否有一个命令可以快速地检查系统已经运行了多久? 也就是我怎么知道Linux系统最后的重启时间?

有许多方法来查询系统最后的重启时间。

方法一

第一种方法是使用last命令。

$ last reboot 

这条命令实际上显示的是最近几天的系统运行时间。last原本被设计来显示某个特定用户的登录历史。在Linux中,有一个特别的“伪用户”称为reboot会在系统重启的时候立即自动登录。这样通过检查reboot用户的登录历史,你就可以检查最后的重启时间。

方法二

另外一个检测系统最后启动时间的方法是使用who命令带上‘-b’选项。

$ who -b 

方法三

你同样可以使用uptime命令来推断系统最后的启动时间。uptime命令会显示当前的时间,同样也会显示系统已经运行的时间。从这些信息中,你就可以计算系统最后启动的时间了

$ uptime 


via: http://ask.xmodulo.com/check-last-time-system-rebooted-linux.html

译者:geekpi 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Systemd是一种新的linux系统服务管理器。

它替换了init系统,能够管理系统的启动过程和一些系统服务,一旦启动起来,就将监管整个系统。在本文中,我们用的是安装有 systemd 216 版本的centos 7.0,其最新版本可以从 freedesktop.org 下载得到

因为linux操作系统里出现的这一个新人,PID 1被“systemd”占据了,这能通过pstree命令看到。

[root@linoxide ~]# pstree

那么现在让我们来探索systemd擅长什么,它又有多大的可能性成为sysVinit的新的替代品。

1. 更快启动

sysvinit一次一个串行地启动进程。

而Systemd则并行地启动系统服务进程,并且最初仅启动确实被依赖的那些服务,极大地减少了系统引导的时间。

你可以用下面的命令看到系统引导用时:

[root@linoxide ~]# systemd-analyze

使用 time 参数也能够显示同样的内容。

[root@linoxide ~]# systemd-analyze time

如果你想以进程初始化所占用时间排序打印出所有正在运行的单元列表,那么systemd-analyze命令可以帮助你完成这个任务。

[root@linoxide ~]# systemd-analyze blame

上面的截屏只显示了小部分进程,你可以就像less分页器那样用箭头滚动列表。

2. systemctl 命令

systemctl命令是自systemd出现以来被广泛讨论的命令。你可以通过这个命令管理你的整个系统,让我们通过探究这个命令来更进一步。

2.1 列出单元

systemctl命令可以带上list-units,也可以什么选项都不带来列出所有正在运行的单元。

[root@linoxide ~]# systemctl

[root@linoxide ~]# systemctl list-units

2.2 列出失败的单元

运行失败的单元可以用带--failed选项的命令显示出来。

[root@linoxide ~]# systemctl --failed

你可以在这篇文章很多地方看到systemctl的用法。

3. 管理服务

让我们来看看systemd是怎么管理系统服务的。

3.1 激活的服务

所有被激活的服务可以同下面这条命令来查看。

[root@linoxide ~]# systemctl list-units -t service

3.2 服务状态

在sysvinit中,我们可以用“service”命令来管理服务,但在systemd中,我们用systemctl这个命令。 我们可以用下面这个命令来查看服务是否在运行。

[root@linoxide ~]# systemctl status dnsmasq

3.3 启动一个服务

用下面这条命令来启动服务。

[root@linoxide ~]# systemctl start dnsmasq

对应于service命令,这个命令不进行输出。但是毋庸置疑,我们可以通过再次查看这个刚刚被启动的服务的status(状态)来确认他是否被成功地启动了。

3.4 停止一个服务

现在聪明的你一定知道怎么在systemd下用命令来关闭服务了吧。

[root@linoxide ~]# systemctl stop dnsmasq

3.5 重启一个服务

类似的,重启系统服务是用‘systemctl restart’来管理的。

[root@linoxide ~]# systemctl restart dnsmasq

3.6 重新加载一个服务

在我们需要重新加载服务的配置文件又不想重启这个服务(例如ssh)时,我们可以用这个命令。

[root@linoxide ~]# systemctl reload sshd

虽然上述几个命令的语法是可以工作的,但是官方文档建议我们用下面这种语法形式来运行命令(LCTT 译注,即使用在服务名后面跟上“.service”的完整名称):

[root@linoxide ~]# systemctl status dnsmasq.service

4. 管理引导时的服务

chkconfig命令被用来管理系统引导时的服务。同样用systemd也可以管理引导时的系统服务。

4.1 检查服务引导时是否运行

这条命令用来确定服务是否是引导时启动的。

[root@linoxide ~]# systemctl is-enabled dnsmasq.service

4.2 让服务在引导时运行

systemctl命令是这样来enable(使之在引导时启动)一个服务的。(这相当于sysvinit中的‘chkconfig on’)

[root@linoxide ~]# systemctl enable dnsmasq.service

4.3 取消服务在引导时运行

类似的,使服务不在引导时启动用这个命令。

[root@linoxide ~]# systemctl disable dnsmasq.service

5. 管理远程系统

所有刚才提到的systemctl命令通常都能被用来管理远程主机,完成这个任务将用到ssh来进行通讯。你只需要像这样将远程主机和用户名添加到systemctl命令后。

[root@linoxide ~]# systemctl status sshd -H [email protected]

6. 管理目标

Systemd有一个完成与sysVinit的runlevels相似任务的构想。

sysVinit的runlevels大多是以数字分级的。这里是runlevers在systemd中的对应元素。

0 runlevel0.target, poweroff.target

1, s, single runlevel1.target, rescue.target

2, 4 runlevel2.target, runlevel4.target, multi-user.target

3 runlevel3.target, multi-user.target

5 runlevel5.target, graphical.target

6 runlevel6.target, reboot.target

emergency emergency.target

6.1 改变当前目标

当前target可以用这个命令切换。

[root@linoxide ~]# systemctl isolate graphical.target

6.2 列出当前目标

如果你想查看你正处于哪个target中,你需要列出相应的单元。虽然这样操作可能让你不太爽,但是这就是systemd工作的方式。

[root@linoxide ~]# systemctl list-units --type=target

你可以看到“graphical.target”列在此处,这就是我们刚才切换到的目标。现在,让我们切换runlevel到multi-user.target,然后分析下列命令的输出。

[root@linoxide ~]# systemctl isolate multi-user.target
[root@linoxide ~]# systemctl list-units --type=target

6.3 列出默认目标

用这个systemctl命令来查看默认目标。

[root@linoxide ~]# systemctl get-default

6.4 改变默认目标

通过systemctl的set-default命令可以将某个目标设置成默认目标。

[root@linoxide ~]# systemctl set-default graphical.target

7. 记录 systemd 的日志

journald是systemd独有的日志系统,替换了sysVinit中的syslog守护进程。命令journalctl用来读取日志。

[root@linoxide ~]# journalctl

7.1 查看引导信息

运行journalctl -b命令来查看所有引导日志。

[root@linoxide ~]# journalctl -b

7.2 即时显示引导日志

下面这个命令可以实时显示系统日志(类似tail -f)。

[root@linoxide ~]# journalctl -f

7.3 查看特定服务的日志

你可以像这样运用journalctl来查看你只想看到的服务或可执行程序的日志。

[root@linoxide ~]# journalctl /usr/sbin/dnsmasq

8. 电源管理

systemctl命令也可以用来关机,重启或者休眠。

要关机、重启、挂起和休眠,分别使用如下命令:

[root@linoxide ~]# systemctl poweroff
[root@linoxide ~]# systemctl reboot
[root@linoxide ~]# systemctl suspend
[root@linoxide ~]# systemctl hibernate

9. 又及

systemd带来了一整套与操作系统交互的新途径,并且极具特色。举个栗子,你可以用hostnamectl命令来获得你的linux机器的hostname和其它有用的独特信息。

[root@linoxide ~]# hostnamectl


via: http://linoxide.com/linux-command/linux-systemd-commands/

作者:Raghu 译者:szrlee 校对: wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

『Linux 中国』,由 wxy 和 DeadFire 创立于 2003 年。致力于 Linux 的推广教育、Linux 技术研究、自由和开源软件理念的传播。在知识传播、组织开源志愿者活动等方面,携手众多开源爱好者共同取得了一定成就。

『Linux 中国』通过网站、微博、微信和邮件列表等平台传播各种 Linux 技术和资讯,并组织了 LCTT 翻译组对国外的开源方面的文章进行大量翻译,得到了开源社区的认可。

Founded on 2003 as an open source community, Linux.cn has been focus on Linux developments, technical forums, Linux community events. Through its website subscription, weblog and wechat platforms, Linux.cn has produced tremendous technical articles and resources. Its volunteering group LCTT (ab. of Linux.Cn Technical Translation) has also contributed massive amount of technical articles from overseas for domestic learners. Our mission is to make Linux.cn a place that makes learning about Linux science and technology a fun and interactive adventure.

历史

『Linux 中国』创立于 2003 年,其前身是炎黄角马(CNGNU)。在创立初期,曾经长期以论坛的方式存在,发展较为缓慢。在首任站长 DeadFire 的坚持维系下,一直保持没有中断。『Linux 中国』在 2012 年以来发展较快,已经在多平台开展内容和互动通道,除网站之外,还在包括微博、微信、QQ 邮件列表、QQ 群讨论组等多个平台拥有较大影响力。

内容

『Linux 中国』主要涉及的内容方面包括:Linux 及开源方面的新闻事件、Linux 及开源技术方面的培训普及和宣传、IT 业界相关的评论访谈等等。内容建设的渠道主要来自原创写作、原创编译和按内容协议的转载。其中原创编译工作主要来自『Linux 中国』发起建立的翻译志愿者组织 LCTT

方向与宗旨

『Linux 中国』的发展方向为:推动 Linux 和开源在中国的发展,促进 Linux 及开源技术在国内的普及,构建开源社区环境。Linux 中国的发展宗旨是:“成为华文区一流的 Linux 与开源交流社区”

LCTT

LCTT,全称是:Linux.CN Translation Team,是由『Linux 中国』站长 wxy 于 2013 年 9 月 10 日倡议发起的。会员约有数百人之多,并有数十积极活跃会员。LCTT 成立以来翻译了来自国外的数千篇文章,得到业界好评。是国内开源网站重要的翻译组织之一。

官方网站: https://linux.cn/lctt/

翻译工作群: 198889102,验证信息:“志愿者” (仅供翻译志愿者加入)

团队

  • 创始人: DeadFire、wxy
  • 技术部分:

    • 首席技术顾问:Viz
    • 技术顾问委员会:Michael、netb2c、Bestony
  • LCTT 部分:

    • 选题:lujun9972
    • 校对:wxy
    • 发布:wxy
    • 技术:Bestony
  • 社群部分:

    • QQ 群总管理:Vio

... ...

站外平台

微信矩阵

Linux 中国的微信号形成一个矩阵联合,全方位的为您提供合适的信息资讯。

Linux中国 (linux-cn,订阅号)

十万级技术订阅号,依托于『Linux中国』(https://linux.cn/)社区,专注于 Linux 学习、技术研究、开源思想传播。微信号: linux-cn,搜索“linux”即可直达,或扫描/长按如下二维码:

长按或扫描,关注微信号“Linux中国”

Linux (cn-linux,订阅号)

Linux 技术专题订阅号,涵盖 Linux 入门学习、桌面使用技巧、系统运维、软件开发等内容,对 Linux 技术感兴趣的不容错过。微信号: cn-linux,搜索“linux”即可直达,或扫描/长按如下二维码:

长按或扫描,关注微信号“Linux”

其它第三方平台

QQ群

加群验证信息:“LINUX0819”

  • 总 群: 198889101
  • 翻译组: 198889102
    (翻译志愿者专属,请参考 LCTT 相关信息)
  • 运维群: 198889103
  • 开发群: 198889104
  • 虚拟化: 198889105
  • 嵌入式: 198889106
  • 水立方: 198889107
  • 白帽子: 198889108
  • 新手村: 198889109
  • 极客群: 198870538
  • 运维部: 120998193

我们会在各平台更新业界“新闻、观点、技术、分享”类文章,不定期举办各种活动。欢迎大家通过任何喜欢的方式联系我们,加入到Linux中国大家族。

合作素材

  • Logo:AI
  • 微信二维码:

    • 《Linux中国》:AI

你在家(或者办公室)的上传和下载速度如何?你能保证,你支付费用给ISP的同时得到了等价的回报?

要想测试我们因特网连接的速度,当下存在着一些因特网服务,比如说SpeedTest,这是一种可以通过Web浏览器和手机应用程序浏览的web服务。

现在,你可以很容易地检测你的网速,使用speedtest\_cli同样很简单,它是一个使用speedtest.net来测试因特网带宽的命令行界面。通过这种方式,你也可以在没有浏览器或者图形化界面的服务器上做带宽测试。

安装

speedtest\_cli是一个python脚本,所以它真的很容易安装和使用,你可以通过许多方式安装它:

1)pip / easy\_install

打开一个终端,输入下面的命令:

pip install speedtest_cli

或者

easy_install speedtest_cli

2)Github

想要直接从github安装,你得这么做:

pip install git+https://github.com/sivel/speedtest-cli.git

或者

git clone https://github.com/sivel/speedtest-cli.git
python speedtest-cli/setup.py install

3)作为Ubuntu/Debian或者Mint包

getdeb仓库给我们提供了安装包,按照下面的步骤,就可以轻松安装:

或者

  • 手动配置仓库:

进入系统管理软件源,第三方软件选项,加上:

deb http://archive.getdeb.net/ubuntu trusty-getdeb apps

增加仓库GPG钥匙,打开终端窗口,然后输入:

wget -q -O- http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -

现在,你就可以使用下面的命令安装speedtest\_cli包了:

sudo apt-get update
sudo apt-get install python-speedtest-cli

4)下载(和以前的方式一样)

最后一个选择,只需要下载python脚本,然后在你想运行的地方运行脚本:

wget -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
chmod +x speedtest-cli

或者

curl -o speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
chmod +x speedtest-cli

基本用法

你可以不带任何选项地运行speedtest\_cli.py,然后你会在终端获得关于你带宽速度的报告,这就是我那糟糕的意大利Adsl输出:

$ ./speedtest_cli.py
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Telecom Italia (87.13.73.66)...
Selecting best server based on latency...
Hosted by LepidaSpA (Bologna) [12.20 km]: 104.347 ms
Testing download speed........................................
Download: 6.35 Mbits/s
Testing upload speed...............................................
Upload: 0.34 Mbits/s

这就是基本用法,这足以让你知道你因特网连接的好坏,但是可能你想要和朋友分享这条信息,那么,只需要-share选项就可以

./speedtest_cli.py --share
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Telecom Italia (87.13.73.66)...
Selecting best server based on latency...
Hosted by LepidaSpA (Bologna) [12.20 km]: 93.778 ms
Testing download speed........................................
Download: 6.20 Mbits/s 
Testing upload speed...............................................
Upload: 0.33 Mbits/s
Share results: http://img.linux.net.cn/data/attachment/album/201409/11/153414kpd6xpiqs278f4xd.png

这将会产生一个类似于下面的图像(但是我希望你图像里面的值更好):

另一个有趣的选项是-list,它会按照距离列出所有speedtest.net服务器,下面是我运行的结果:

Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
2872) LepidaSpA (Bologna, Italy) [12.20 km]
1561) MYNETWAY S.R.L. (Cesena, Italy) [80.97 km]
2710) ReteIVO by D.t.s. Srl (Florence, Italy) [90.90 km]
4826) Inteplanet Srl (Verona, Italy) [100.45 km]
3998) Wolnext srl (Verona, Italy) [100.45 km]
2957) Wifiweb s.r.l. (Altavilla Vicentina, Italy) [103.11 km]
3103) E4A s.r.l. (Vicenza, Italy) [107.17 km]
3804) Interplanet Srl (Vicenza, Italy) [107.17 km]
1014) NTRnet (Vicenza, Italy) [107.17 km]
3679) Hynet s r l (Vicenza, Italy) [107.17 km]
3745) Comeser Srl (Fidenza, Italy) [114.00 km]
5011) Welcomeitalia spa (Massarosa, Italy) [119.26 km]
2864) ReteIVO by D.t.s. Srl (Massa, Italy) [120.92 km]
2918) ReteIVO by D.t.s. Srl (Arezzo, Italy) [129.79 km]
...

既然我知道了围绕在我周围的服务器的ID,我可以使用-server选项选择一个特定的服务器,所以,要想选择位于佛罗伦萨(ID 2710)的服务器,我使用下面的命令:

./speedtest_cli.py --server 2710
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Telecom Italia (87.13.73.66)...
Hosted by ReteIVO by D.t.s. Srl (Florence) [90.90 km]: 106.505 ms
Testing download speed........................................
Download: 6.18 Mbits/s 
Testing upload speed..............................................
Upload: 0.35 Mbits/s

文章由Asapy Programming Company发表


via: http://linuxaria.com/howto/linux-terminal-speedtest_cli-checks-your-real-bandwidth-speed

译者:su-kaiyao 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

让我们欣赏一组你在未来几个月会看到一大堆的图片吧。是的,在Ubuntu 14.10壁纸竞赛获奖者壁纸已经公布了。

嗯,可以说是宣布吧。到目前为止12张背景图片已经正式被应用在Ubuntu 14.10版本中了。

由四月份的获奖作者组成的评审团筛选了几乎400张图片,最终选择了出了视觉上丰富又多彩的一组。我知道我每6个月就要说一次这个,但是这一次的作品看起来还是那么的棒(不仅仅是因为当中一两张是我们的最爱!)。

让我们瞧瞧这几张获奖图片

你能在下面看到目前选出的作品。需要强调的是,这是到目前为止的,如比赛的组织者Iain Farrell所说的 :“我还在等一些回复,不过如果他们不给我回复就只能不包括他们的了!”

不可缺少的经典吉祥物壁纸

‘空’ —— Glenn Rayat

沙漠与马 —— M. Siewert

金色的叶

游牧生活 —— Sal’

‘xgu472hf2′ —— Lariliikala

多石海岸 —— Juan PL.

‘暖草’ —— dcsearle.t21

克罗纳赫灯具 —— Brian Fox

达沃多帕的海景

托马西诺音乐

阳光之秋

如果有任何变化我们将会更新这篇文章,你可以点击这里获取这些参赛作品的压缩包。完整的乌托邦壁纸包,可能会包含进新的默认壁纸,这些都会在未来2天内发生。

通过下方的评论来让我们知道哪张图你的最爱吧!不要吝啬赞美之词!


via: http://www.omgubuntu.co.uk/2014/09/ubuntu-14-10-wallpaper-contest-winners

作者:Joey-Elijah Sneddon 译者:ZTinoZ 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

大家好,如果您还没有使用密码保护单用户模式,这对你的Linux服务器会是一个很大的风险,所以在涉及到安全性时,使用密码保护单用户模式是非常重要的。

今天这篇文章我会向你展示如何在RHEL / CentOS 5.x 和 RHEL / CentOS 6.x上使用密码保护你的单用户模式。

请仔细地执行所给出的命令,不然你的系统将会无法正常启动。首先,我会请你先完整地读完,然后在尝试。请自己承担相应的后果:-)

Password Protect

Password Protect

1. 对于 RHEL / CentOS 5.x

1.1 开始之前请先备份你的 /etc/inittab

cp /etc/inittab /etc/inittab.backup

要使单用户模式受到密码保护,用root执行下面的命令 :-

[root@tejas-barot-linux ~]# sed -i '1i  su:S:wait:/sbin/sulogin' /etc/inittab

这样你会看到像下面这样的

su:S:wait:/sbin/sulogin
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:

NOTE: 如果你不想使用sed命令你可以在/etc/inittab 顶部加入 “su:S:wait:/sbin/sulogin”

2. 对于 RHEL / CentOS 6.x

2.1 开始之前请先备份你的 /etc/inittab

cp /etc/sysconfig/init /etc/sysconfig/init.backup

2.2 要使单用户模式受到密码保护,用root执行下面的命令 :-

[root@tejas-barot-linux ~]# sed -i 's/SINGLE=\/sbin\/sushell/SINGLE=\/sbin\/sulogin/' /etc/sysconfig/init

这样你会看到像下面这样的

SINGLE=/sbin/sulogin

注意 :- 如果你不想使用sed你可以在 /etc/sysconfig/init 中直接改成 “SINGLE=/sbin/sulogin”

享受Linux :) 享受开源


via: http://www.tejasbarot.com/2014/05/05/disable-password-protect-single-user-mode-rhel-centos-5-x-6-x/

作者:Tejas Barot 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出