2017年7月

Android Wear

The LG G Watch. One of the first Android Wear devices.

2014 年 6 月安卓装备上了新元素:智能手表。谷歌在 2014 的 Google I/O 上发布了“Android Wear”,意图在你的手腕上装备一台小电脑。为一块 1.6 英寸的屏幕进行设计意味着需要从头构思整个界面,所以谷歌精简了安卓 4.4 KitKat,并创建出了一个小巧的智能手表操作系统。Android Wear 设备不是独立的计算机。它们依赖于运行着配套 Android Wear 应用的安卓智能手机进行连接,认证,以及应用数据获取。

 The typical Android Wear home screen.

Android Wear 智能手表主要是一个通知机器。有了安卓 4.3 及以上版本内建的新 API,任何手机收到的通知都能同时显示在手表上——无需任何应用支持。通知操作按钮也带到了手表上,让用户可以从手表上与通知进行交互。在手表上清除一条通知会同时在手机上将其清除,用户无需拿出另一台设备就可以管理通知消息。每个手表还带有一个语音命令系统和一个麦克风,让用户可以抬腕唤醒手表,说“OK Google”,并发出一条命令。你还可以通过语音回复信息。手表上甚至还有一个装有原生手表应用的应用抽屉。

Three Android Wear screens, showing music on the home screen, the voice command system, and a Google Now traffic card.

主屏幕上显示的自然是时间了,它还允许用户切换无数不同的表盘风格。通知界面采用了卡片风格设计。一个垂直滚动的通知列表会在手表上堆积,包括一些显示天气或交通信息的 Google Now 卡片。向左滑动能够清除一条通知,向右滑动会一次打开一个操作按钮。在主屏幕点击会打开语音命令系统,在哪里你可以激活设置或应用抽屉。除了这些以外最初的 Android Wear 的主屏幕没有多少内容。

The layout of the OS.

2014 年 Android Wear 设备仅仅发售了 720000 部,从那之后我们就没有从软件或硬件上看到多少发展。时至今日,智能手表的销售一年不如一年,甚至在 Apple Watch 发布后,没人能够真正确定他们想要让小腕上计算机做什么。明显这种情况会持续到 2017 年 Android Wear 2.0 发布。从 Moto 360 给市场带来圆形设备以来,我们还没从硬件厂商那边看到一些新玩意。


Ron Amadeo / Ron 是 Ars Technica 的评论编缉,专注于安卓系统和谷歌产品。他总是在追寻新鲜事物,还喜欢拆解事物看看它们到底是怎么运作的。@RonAmadeo


via: http://arstechnica.com/gadgets/2016/10/building-android-a-40000-word-history-of-googles-mobile-os/27/

作者:RON AMADEO 译者:alim0x 校对:wxy

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

uCareSystem Core 是一种能够自动执行基本的系统维护活动的轻型实用程序,另一方面它可以通过多种方式减少系统管理员的任务,节省大量时间。它没有任何 GUI,并提供纯粹的命令行界面来执行活动。

Ubuntu 中有几种实用程序来执行系统维护活动。每种工具有它们相应的独特功能和设计。你可以添加一个 cron 任务来自动化这些任务。

uCareSystem Core 会自动刷新发行版仓库、更新可用包列表、卸载包(过期包、孤儿包和旧的 Linux 内核)以及清理取回的包来节省系统磁盘空间。

uCareSystem Core 功能

  • 更新包列表(它将刷新包索引)
  • 下载及安装更新
  • 更新包及系统库到最新版本
  • 移除不需要的、过期的和孤儿包。
  • 移除旧内核(它为了安全保留当前和之前一个内核)
  • 移除不需要的配置文件
  • 清理已下载的临时包

在 Ubuntu/LinuxMint 中安装 uCareSystem Core

因为开发者提供了自己的 PPA,因此我们可以轻易地通过 PPA 在 Ubuntu/LinuxMint 中安装 uCareSystem Core。

$ sudo add-apt-repository ppa:utappia/stable
$ sudo apt update
$ sudo apt install ucaresystem-core

我们已经成功安装了 uCareSystem Core 包,并且在执行 CareSystem Core 命令之前要了解它是否会节省磁盘空间,使用 df -h 命令检查当前磁盘利用率。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            979M     0  979M   0% /dev
tmpfs           200M  6.4M  194M   4% /run
/dev/sda1        38G   19G   17G  54% /
tmpfs           999M  216K  999M   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           999M     0  999M   0% /sys/fs/cgroup
tmpfs           200M  112K  200M   1% /run/user/1000

只需在终端中运行 ucaresystem-core 命令,在结束之前它会自动执行而不需要人类交互。

$ sudo ucaresystem-core

_______________________________________________________

            uCareSystem Core v3.0                      
                 ~  ''  ~                              

 Welcome to all-in-one System Update and maintenance   
 assistant app.                                        

 This simple script will automatically               
 refresh your packagelist, download and                
 install updates (if there are any), remove any old    
 kernels, obsolete packages and configuration files    
 to free up disk space, without any need of user       
 interference.                                       
_______________________________________________________

 uCareSystem Core will start in 5 seconds... 
#########################
          Started
#########################

Ign:1 https://wire-app.wire.com/linux/debian stable InRelease
Hit:2 https://wire-app.wire.com/linux/debian stable Release
Hit:4 https://deb.nodesource.com/node_6.x yakkety InRelease
Hit:5 https://repo.skype.com/deb stable InRelease
Hit:6 http://in.archive.ubuntu.com/ubuntu yakkety InRelease
Hit:7 http://archive.canonical.com/ubuntu yakkety InRelease
.
.
.
Removing linux-image-extra-4.8.0-34-generic (4.8.0-34.36) ...
Purging configuration files for linux-image-extra-4.8.0-34-generic (4.8.0-34.36) ...
Removing linux-image-extra-4.8.0-32-generic (4.8.0-32.34) ...
Purging configuration files for linux-image-extra-4.8.0-32-generic (4.8.0-32.34) ...

#####################################
Finished removing unused config files
#####################################

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Del tilix 1.5.6-1~webupd8~yakkety1 [449 kB]
Del tilix-common 1.5.6-1~webupd8~yakkety1 [174 kB]
Del libfreetype6 2.6.3-3ubuntu1.2 [336 kB]
Del terminix 1.5.6-1~webupd8~yakkety1 [13.7 kB]

######################################
 Cleaned downloaded temporary packages
######################################

#########################
          Done
#########################

我可以看见它如预期那样工作。同样也可以发现大概在/ 分区节省了 2GB

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            979M     0  979M   0% /dev
tmpfs           200M  6.4M  194M   4% /run
/dev/sda1        38G   18G   19G  49% /
tmpfs           999M  216K  999M   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           999M     0  999M   0% /sys/fs/cgroup
tmpfs           200M  112K  200M   1% /run/user/1000

via: http://www.2daygeek.com/ucaresystem-system-update-and-maintenance-tool-for-ubuntu-linuxmint/

作者:2DAYGEEK 译者:geekpi 校对:wxy

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

boot repair tool repair the most boot related problems

​我们都碰到过启动相关的问题,并且大部分时候都是简单的 GRUB 上的问题。 有时候很多人会觉得、输入一段很长的命令或在论坛中搜索来找到解决方法太麻烦了。今天我要告诉你如何使用一个简单而轻巧的软件来解决大部分的启动相关的问题。这个工具就是著名的 Boot Repair Tool 。好了,话不多说,让我们开始吧。

如何在 Linux 中安装和使用启动修复工具

你需要一个你所安装的操作系统的现场版的 USB 棒或 DVD,这是安装这个应用并使用它的前提条件。 引导到操作系统17 并打开终端并输入以下命令

sudo add-apt-repository -y ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

install boot repair tool in linux

在安装结束以后,你可以从应用菜单或或其它你在系统上启动应用的地方启动你的修复工具。

run boot-repair from apps menu

你可以在菜单栏中看到 Boot Repair。

Picture

​启动它,它就会开始进行一些扫描操作,我们只要等它自己结束就好了。 ​

boot repair app menu to repair system

现在你会看到这个界面,这是基于之前扫描的建议修复。 在底部还可以有一个高级选项,你可以在高级选项里进行各方面的设置。 我建议没有经验的用户使用推荐维修,因为它很简单,在大多数情况下我们都可以这样做。

apply recommended fixes to fix grub issues

选择推荐的更新后,它将开始修复。 等待进一步的处理。

fix the grub menu using boot repair

你现在会看到一个指令界面。 现在是轮到我们操作的时候了。打开终端,逐个复制并粘贴其中高亮的命令到终端中。

download and install grub using the given commands

命令完成后,你会看到一个上面提及的要求确认的界面。 使用箭头键或 Tab 键选择“Yes”,然后按回车键。 现在在 启动修复工具 界面中点击 “forward”。

install grub menu and kernel to fix boot menu

现在你会看到这个界面。 复制在那里提到的命令,并将其粘贴到终端中,然后按回车并让其执行此操作。 需要一段时间所以请耐心等待,它将下载GRUB、内核或任何修复您的引导所需的内容。

install grub

现在你可能会看到一些选项用于配置安装 GRUB 的位置。 选择“yes”,然后按回车,你会看到上面的界面。使用空格键选择选项和按 TAB 以浏览选项。 选择并安装 GRUB 后,可以关闭终端。 现在在启动修复工具屏幕中选择 “forward” 选项。

scan for the boot issues

现在它会做一些扫描操作,并且会询问你一些需要确认的一些选项。 每个选项都选择是即可。

fixed boot issues with boot rescue

它会显示一个成功的确认消息。 如果没有,并且显示失败的消息,则将生成链接。 转到该链接获取更多帮助。

成功后,重启你的电脑。 当你重新启动时,你会看到 GRUB。 现在已成功维修您的电脑。 一切顺利。

引导修复的高级技巧

当我的电脑出现双引导启动画面时,我发现在修复时,它无法识别 安装在另一个分区上的 Windows 7。 这里有一个简单的提示来帮你解决这个问题。

打开终端并安装 os-prober。 它很简单,可以在软件中心或通过终端找到。

os-prober 可以帮助您识别安装在 PC 上的其他操作系统。

install os-prober

os-prober 安装完成后,通过输入 os-prober 在终端运行它。 如果失败了那么试着用 root 账号运行它。 之后运行update-grub 命令。 这就是你可以用于从 GRUB 中启动 Windows 的所需要做的全部。

upgrade-grub in linux

总结

​以上就是全部的内容。现在你已经成功地修复了你的 PC。


via: http://www.linuxandubuntu.com/home/boot-repair-tool-repair-the-most-boot-related-problems

作者:linuxandubuntu 译者:chenxinlong 校对:wxy

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

有时,能够知道一个网络里的机器的操作系统(OS)是有一定好处的。当你知道一台机器的操作系统后,因为你可以在网上搜索专门针对该系统的安全漏洞,所以入侵系统也会更加容易。当然,安全漏洞通常都会很快被修补,但安全漏洞存在时你需要知道。

对你自己的网络进行扫描以便发现操作系统类型可以帮助你了解黑客将如何侵入你的网络。

操作系统探测数据库

NAMP 带有一个数据库,它在你安装 NAMP 的时候就会被安装。这个数据库用于操作系统的探测,但是它不会自动更新。

这个数据库位于 /usr/share/nmap/nmap-os-db。进行更新的最简单方式是首先找到数据库的版本号,用文本编辑器打开这个文件,版本号通常位于第二行。我的数据库的第二行是 # $Id: nmap-os-db 35407 2015-11-10 04:26:26Z dmiller $,即这个文件的数据库版本是 35407。

要在网上查找一个可更新版本,可以浏览 https://svn.nmap.org/nmap ,如图 1 所示:

Figure 01.jpg

图 1

你可以从图中看到版本号为 36736,与我的系统上的版本号相比,这个版本号似乎是一个更新的版本。为了对更新的操作系统进行准确的操作系统探测,当然需要对这个数据库进行更新。

保留较旧的数据库版本也是一个不错的主意。我当前和版本是 35407,我将在终端执行下面的命令:

sudo mv /usr/share/nmap/nmap-os-db /usr/share/nmap/nmap-os-db-35407

这个数据库被以包含版本号的方式重命名了,下一步就是从网站上下载新版本的数据库,在终端执行下面命令:

cd /usr/share/nmap
sudo su
wget https://svn.nmap.org/nmap/nmap-os-db

新的数据库即将开始被下载,但是你应该加上版本号,就像你在图 1 中看到的版本号 36736。使用文本编辑器打开这个数据库,然后在第二行加上版本号。当版本号变化后,你可以更新你的数据库,然后在其中加入版本号,以便在再次检查更新时做好准备。

系统探测过程

在我们开始使用实际的命令并执行系统探测之前,我们应该详细介绍扫描过程中将会发生的事情。

会执行五种不同的测试,每种测试由一个或者多个数据包组成,目标系统对每个数据包作出的响应有助于确定操作系统的类型。

五种不同的测试是:

  1. 序列生成 Sequence Generation
  2. ICMP 回显
  3. TCP 显式拥塞通知 Explicit Congestion Notification
  4. TCP
  5. UDP

现在让我们分别看看他们各自在做什么。

序列生成

序列生成测试由六个数据包组成,这六个包是每隔 100 毫秒分开发送的,且都是 TCP SYN 包。

每个 TCP SYN 包的结果将有助于 NMAP 确定操作系统的类型。

ICMP 回显

两个有着不同设置的 ICMP 请求包被送到目标系统,由此产生的反应将有助于实现验证操作系统类型。

TCP 显式拥塞通知 Explicit Congestion Notification

当生成许多包通过路由器时会导致其负载变大,这称之为拥塞。其结果就是系统会变慢以降低拥堵,以便路由器不会发生丢包。

这个包仅为了得到目标系统的响应而发送。因为不同的操作系统以不同的方式处理这个包,所以返回的特定值可以用来判断操作系统。

TCP

在这个测试中会发送六个数据包。

一些带有特定的包设置的包被发送用来到打开的或关闭的端口。结果也将会因为操作系统的不同而不同。

所有 TCP 包都是以如下不同的标志被发送:

  1. 无标志
  2. SYN、FIN、URG 和 PSH
  3. ACK
  4. SYN
  5. ACK
  6. FIN、PSH 和 URG

UDP

这个测试由一个被发送给一个关闭的端口的数据包组成。

如果目标系统上的这个端口是关闭的,而且返回一条 ICMP 端口不可达的信息,那么就说明没有防火墙。

NMAP 操作系统检测命令

现在我们开始实际动手进行系统探测。如果你已经读过一些我写的关于 NMAP 的文章,那么最好不要执行 PING 操作。为了跳过 PING,我们使用参数 Pn。为了看到详细的信息,你应该使用 -v 参数用于动态显示。为了获取系统的信息,需要使用 -O 参数。

为了使命令顺利运行和执行 TCP SYN 扫描,你需要以管理员的身份来执行这个命令。在我的例子中,我将只在一个系统上而不是整个网络上进行扫描,使用的命令是:

sudo nmap -v -Pn -O 192.168.0.63

扫描的结果如图2所示,扫描显示七个开放的端口。

Figure 02.jpg

图 2

开放的端口是:

  1. 21/tcp ftp
  2. 22/tcp ssh
  3. 111/tcp rpcbind
  4. 139/tcp netbios-ssn
  5. 445/tcp microsoft-ds
  6. 2049/tcp nfs
  7. 54045/tcp unknown

系统的 MAC 地址为为:00:1E:4F:9F:DF:7F

后面部分显示系统类型为:

Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.6
Uptime guess: 0.324 days (since Sun Apr 23 08:43:32 2017)

系统当前运行的是 Ubuntu Server 16.04,Linux 内核为 4.8,运行时间猜的较准确。

我在另一个系统了又进行了一次测试,结果如图3所示:

Figure 03.jpg

图 3

这次扫描中开放的端口与上次不同。所猜的系统为 ‘Microsoft Windows 2000|XP’,实际上是 Windows XP sp3。

端口嗅探结果

让我们来看看图 2 所示的第一次扫描中在后台发生了什么。

首先 NMAP 执行一次 TCP 隐秘扫描,在本次系统探测实例中以一个如图 4 所示的数据包 2032 开始。

Figure 04.jpg

图 4

序列生成 Sequence Generation 开始于数据包 2032/2033,第六个数据包是 2047/2048。注意每个都被发送两次,且每隔 100ms 发送下一个数据包。

发送的 ICMP 数据包是 2050 - 2053,2 个数据包重复一遍,实际上是 4 个数据包。

2056-2057 是 TCP 显式拥塞通知数据包。

对 TCP 的 6 个测试是 2059、2060、2061、2063、2065、2067。

最后的 UDP 测试是 2073。

这些就是用于确定目标系统上操作系统的类型的测试。

我希望这将有助于你理解如何更新 NMAP 系统探测数据库和执行对系统的扫描。请注意,你可以和你不在同一个网络中的系统进行扫描,所以可以对互联网上的任何系统进行扫描。


via: https://www.linux.org/threads/nmap-os-detection.4564/

作者:Jarret B 译者:zhousiyu325 校对:wxy

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