树莓派上的软件安装和卸载命令汇总

基础命令

安装软件 apt-get install softname1 softname2 softname3……
卸载软件 apt-get remove softname1 softname2 softname3……
卸载并清除配置 apt-get remove –purge softname1
更新软件信息数据库 apt-get update
进行系统升级 apt-get upgrade
搜索软件包 apt-cache search softname1 softname2 softname3……

安装deb软件包 dpkg -i xxx.deb
删除软件包 dpkg -r xxx.deb
连同配置文件一起删除 dpkg -r –purge xxx.deb
查看软件包信息 dpkg -info xxx.deb
查看文件拷贝详情 dpkg -L xxx.deb
查看系统中已安装软件包信息 dpkg -l
重新配置软件包 dpkg-reconfigure xxx

清除所有已删除包的残馀配置文件

dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P

如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。
dpkg: –purge needs at least one package name argument

dpkg安裝的可以用apt卸載,反之亦可。

aptitude 命令

aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些。举例来说,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。以下是笔者总结的一些常用 aptitude 命令,仅供参考。

aptitude update 更新可用的包列表
aptitude upgrade 升级可用的包
aptitude dist-upgrade 将系统升级到新的发行版
aptitude install pkgname 安装包
aptitude remove pkgname 删除包
aptitude purge pkgname 删除包及其配置文件
aptitude search string 搜索包
aptitude show pkgname 显示包的详细信息
aptitude clean 删除下载的包文件
aptitude autoclean 仅删除过期的包文件

当然,你也可以在文本界面模式中使用 aptitude。

常用apt命令列表

apt-cache search # ——(package 搜索包)
apt-cache show #——(package 获取包的相关信息,如说明、大小、版本等)
sudo apt-get install # ——(package 安装包)
sudo apt-get install # —–(package – – reinstall 重新安装包)
sudo apt-get -f install # —–(强制安装?#”-f = –fix-missing”当是修复安装吧…)
sudo apt-get remove #—–(package 删除包)
sudo apt-get remove – – purge # ——(package 删除包,包括删除配置文件等)
sudo apt-get autoremove –purge # —-(package 删除包及其依赖的软件包+配置文件等(只对6.10有效,强烈推荐))
sudo apt-get update #——更新源
sudo apt-get upgrade #——更新已安装的包
sudo apt-get dist-upgrade # ———升级系统
sudo apt-get dselect-upgrade #——使用 dselect 升级
apt-cache depends #——-(package 了解使用依赖)
apt-cache rdepends # ——(package 了解某个具体的依赖?#当是查看该包被哪些包依赖吧…)
sudo apt-get build-dep # ——(package 安装相关的编译环境)
apt-get source #——(package 下载该包的源代码)
sudo apt-get clean && sudo apt-get autoclean # ——–清理下载文件的存档 && 只清理过时的包
sudo apt-get check #——-检查是否有损坏的依赖

本文来自:树莓派实验室

容器操作系统HypriotOS在树莓派3上的安装

HyproitOS是一款容器操作系统,可以在任何支持Raspberry Pi系列的设备上运行,能让你在五分钟内从0到Docker。

选择HypriotOS的原因是因为其对Docker的支持已经很完善,且有丰富参考资料减少了很多弯路。前期在使用cubieboard进行测试时发现自带镜像文件内核版本太低需要自行编译,后期才找到一个第三方的安装地址,有时间另行介绍。

镜像文件

访问:https://blog.hypriot.com/downloads/ 下载最新版本的镜像文件。

也可以通过我的分享来下载:

http://pan.baidu.com/s/1nvEwhkP
密码:vip6

读卡器一个
镜像写入软件
Windows下的Win32 Disk Imager软件(上面共享盘里有)
Linux、Mac下flash tools安装(推荐)

curl -O https://raw.githubusercontent.com/hypriot/flash/master/$(uname -s)/flash

chmod +x flash

sudo mv flash /usr/local/bin/flash

使用

写入镜像后将内存卡放入树莓派并重启。用户名:pirate 密码:hypriot

如果你是用flash写入的话在可以在写入命令行前加入 –hostname 这样就不需要显示器了,或者像有的资料介绍的通过nmap或其它扫描工具来发现设备。仅需要执行如下命令就可以直接连接设备。

比如我写入的命令如下:

#注意下载的ZIP包不要解压
flash –hostname pi0 hypriotos-rpi-v1.1.3.img.zip

由于我设置的hostname为pi0,那么我的ssh登录命令如下:

#这里的pirate用户为hypriotos默认登录用户
#此登录方式要登录设备与树莓派在一个网段

ssh pirate@pi0.local

通过上面的ssh命令不需要知道IP的情况下即可登录。

更新系统

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get dis-upgrade -y

以上通过更新对系统打补丁及安装各软件最新版本,然后通过安装rasip-config可以用图形化界面进行配置。

sudo apt-get install raspi-config

Docker安装

sudo apt-get install docker.io

测试

docker run -d -p 80:80 hypriot/rpi-busybox-httpd

如果国内访问不正常,可以这样。

wget http://soft.sunsl.net/dev/armhf/rpi-busybox-httpd.tar
docker load -i rpi-busybox-httpd.tar

成功后你应该能通过浏览器访问到如下界面:

作者:forrestsun
來源:https://www.jianshu.com/p/3e2a901e66b7

想要更多,请关注“IoT前哨站”微博或微信公众号

一行命令从 APK 文件中提取 Endpoint 及 URL

做IoT的人免不了要接触Android,接触Android的人又免不了要研究别人的App应用。

Diggy,一款能够从 apk 文件中提取 endpoint 及 URL 的工具,只要一行命令就可以帮大家提取出相关Android apk文件的安装信息和互联网访问信息。

下载地址:https://raw.githubusercontent.com/UltimateHackers/Diggy/master/diggy.sh

使用方法如下:

解压反编译需要一点时间,当然看你自己机器性能了。

Pi-Micro:用树莓派Zero W制作的掌上电脑

你有没有想过制作一台可以放在手掌上的电脑? 我就很想,所以我制造了这款被我称之为 Pi-Micro 的小型笔记本电脑。 这是 Pi-Micro 的第三版,制作了将近一年的时间,因为它足够精细了,所以来与大家分享。 Pi-Micro 可以运行完整的 Linux 操作系统。能够浏览网页、编辑文档、使用终端、创建自定义编程脚本以及玩游戏。

据我所知,它是使用 Raspberry Pi 制作的最小的电脑,它还拥有全键盘。 使用树莓派 Zero W 制作,内置 WiFi 和蓝牙。

Pi-Micro规格介绍:

512 MB RAM
1GHz处理器
内置WiFi和蓝牙
3.5″触摸屏
1000mAh锂离子内置电池
16GB内部存储
完整的QWERTY键盘 108mmX19.5mmX70mm

自制 Pi-Micro 的心路历程

(如果你想要干货,请直接跳过此部分。)
这款笔记本电脑已经打磨了一年多了,在这一年里,我经历了很多不同版本的设计和原型。我设计的前两款都比较重,并且两种旋转轴的重量都不适合屏幕/主板。

a.V1.0(黑色)我的第一版Pi-Micro是2017年5月6日制作的。它使用3D打印的旋转轴,它太松,不能够让屏幕自行站立。但它的键盘是内置在我喜欢的,但是非常厚实和笨重。箱子顶部和底部的边缘也不是圆形的,外壳非常的便宜。

b.V2.0(Blue)我的第二版Pi-Micro是2017年10月左右制作的。我试图用超小的黄铜做的旋转轴,修复这个问题,但它们还是太松了。在这个版本中,我为了让它看起来更漂亮,把所有的边缘都变成圆形,并通过在3D建模程序为树莓派制作接口,代替焊接的铁质接口。关于这个版本的一个独特的地方,就是旋转轴和键盘连接处可以随意上下拆卸。但是,我最终不喜欢它的外观,因为它看起来并不像笔记本电脑。

项目免责声明

最好的项目从来都不容易。为了这台掌上计算机,我花费了一年多的时间,经历了几个版本通过几个版本的改机才获得现在的成品。这个项目有许多困难的焊接/拆焊,以及对Linux和Raspberry Pi的基本了解。如果你自己受伤或其他任何事情,我不负任何责任。请始终佩戴适当的保护装置,不要连接红色和黑色电线,也绝对不要刺破电池。小心!

3D 打印外壳

模型文件可在本项目文件库下载。
http://maker.quwj.com/project/44

打印参数设置如下:

长丝:ESUN PLA +
厚度:0.2MM
外壳:3
填充:80%

组件清单

树莓派 Zero W × 1
3.5 寸触屏显示器 × 1
3D 打印机 × 1
移动电源 × 1
迷你蓝牙键盘 × 1
Micro SD 卡 × 1
USB 插座 × 1
缝纫针 × 2
电线 × 1
螺丝 × 1
胶水 × 1

拆卸移动电源

拆卸的目的是获得薄型电池/充电器组合,电源开关,5v输出。

第1步,从机箱上卸下螺丝,然后从铝壳上拆下内部组件。
第2步,将电线从太阳能电池板切割到控制器板。
第3步,断开电池,然后把它与控制器板之间的两根3英寸长导线重新连接。
第4步,拆卸USB端口,并将焊线焊接到控制器板的正极和负极输出端。

准备屏幕组件

重要提示:此步骤基于Waveshare 3.5"显示器,如果你使用不同的显示器,请更换焊接电线的引脚以符合你的显示器规格。

更多详细信息查看文章下链接

1.拆除触摸屏上的外壳。就我个人而言,最简单的方法是使用冲洗刀具将其剪下,然后使用烙铁从电路板上单独移除引脚的下半部分。
2.焊接导线到引脚1,2,6,11,18,19,21,22,23,24和26。
3.标记所有电线,以便你分辨清楚,如图所示。
4.仔细检查标签。
4.在3D打印的显示部件中钻孔,以便它们可以组合在一起。
6.再次检查标签。相信我,它会省下很多挫折。
5.将屏幕放置在零件内部,并将其组合在一起。

将USB插座焊接到树莓派

我将USB接口安装在电脑的右下角。

1.首先使用钢丝钳剪下USB插孔两侧的小标签(不是四个引脚中的任何一个),因为不是利用它们将USB固定。

2.将四个引脚以90度角向下弯曲,让它们延伸出背面,但插口并没有伸出底部。

3.将线焊接到每个引脚上,确保它们足够长可以从外壳的一侧延伸到另一侧,如有必要,用热缩管将端口绝缘。提示:使用不同颜色的电线;它有助于分辨哪些是你要将它们连接到Pi。

4.使用上面的电路图,将导线焊接到Pi的焊盘。

将电池焊接到树莓派

1.焊接从电源5V输出Pi 5V引脚的红线。
2.将电源GND输出的黑线焊接到Pi GND引脚。

将屏幕焊接到树莓派

这一步非常的棘手,一定要小心。

1.请尽量缩短电线长度。如果你的电线太长,它们会堆积在底壳内,使其难以关闭。尝试测量每根导线需要的距离,并精确的切割它们,以便在显示器和下半部分布置时,底壳边缘与显示器边缘之间会有2CM的间隙。

2.将带标签的导线连接到Pi上的相应引脚。请一定确认好每根引线。

安装软件

你至少需要8GB大小的Micro SD卡,不过你选择使用的大小将决定Pi-Micro内部存储的容量。

这是一个重要的步骤,因为它也有助于确定屏幕和电池是否已连接正常。

1.将Micro SD格式化为FAT32。
2.在“ https://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A) ”下载用于Waveshare显示器的预制系统镜像。
3.使用Etcher,将系统镜像写入到Micro SD上。
4.将卡插入Pi,打开电池然后静待佳音。
5.如果一切顺利进行,说明你的安装没错。如果有问题,请仔细检查所有焊点和接线。
6.将蓝牙键盘与Pi配对。这意味着稍后我们不必访问键盘上的配对按钮,并且每次启动时都会自动连接。

缩小键盘大小,并将其焊接到树莓派

对于Pi-Micro的键盘,我们将使用电池的迷你蓝牙键盘,然后将其焊接到Pi。

1.打开键盘外壳。我发现最简单的方法是弯曲键盘,直到盒子的顶部和底部之间出现裂缝,然后用平头螺丝刀将其撬开。
2.卸下微型USB充电端口。直接加热端口后面,用烙铁完成这一操作,当焊料熔化时,它很容易滑落。
3.拆除电池。
4.将两根电线焊接到电池用于连接的端口上。
5.打开它。 (当我们将它连接到Pi时,务必确保它会同时打开。)
6.将电池正极端子的电线焊接到Pi上的3.3V引脚
7.将电池负极端子上的导线焊接到Pi上的任何GND引脚。

组装所有组件

提示:这是最令人头疼的部分,各位趣友耐心点哦。对于旋转轴部分,我决定使用针作为转轴。如果安装的整个过程中,如有阻力,请勿强行挤压。把壳内的物品整理一下比生拉硬拽好的多。

1.确保一切尺寸合适。把所有组件放入壳内,把盖子放在下半部分,并确保它是齐平的。如果不能,请微调一下。

2.用热胶来固定一切(除了电池,它有可能爆炸)。这样就可以确保当你摇动完成的计算机时不会有任何移位,并且在尝试使用USB和充电端口时不会将其推入计算机。

3.现在所有东西都是安全的,把盖子放在下半部分,用螺丝来固定它。你可能需要预先钻孔,因为可以使用的螺钉厚度不同,所以我没有将这些孔放入设计中。

4.将显示器放在下半部分。确保它可以安装在底部旋转轴上,并且可以旋转。

5.安装针。我建议使用最大直径的针头,由于旋转轴会变硬,你也许需要用一块木头的尖端或其他东西来推动它们。

6.如果需要,请使用烙铁将针头两端的塑料熔化,以免滑出。

7.如有需要,绕过下半部分的底部和盖子的边缘,并使用烙铁焊接任何有间隙的地方。

DONE!完成啦!希望趣友们喜欢这个项目!

via

本文来自:树莓派实验室

原帖:http://www.instructables.com/id/Pocket-Sized-Linux-Computer-Pi-Micro

用树莓派搭建低成本VOIP电话系统

在研究了一些为小企业提供VoIP(Voice over Internet Protocol)和IP电话服务,包括支持新趋势 UC(统一通信)的技术解决方案之后,我个人认为用树莓派提供一个非常低成本的解决方案是完全可行的。相对于100美元的投资和一个专用的 VoIP/UC 服务器解决方案,树莓派和相应配件在成本方面的优势是无法比拟的。

树莓派的解决方案是通过在 Raspbian 系统上运行 Asterisk VoIP/UC 软件来实现的。这个开源解决方案提供了高度灵活的配置项,当然也可以用于许多不同的领域和应用。

本文说明了 VoIP/UC 的解决方案并不一定是高风险的,在实施的时候也不一定是需要很高投入的。

简介

在过去的几十年中,电话技术发展迅速,从模拟通信迁移到了基于VoIP的数字通信和IP电话。这也让统一通信成为了可能,统一通信是对实时通信服务,例如即时消息(聊天),电话,数据共享,视频会议,语音识别等和非实时通信服务,例如语音信箱,电子邮件、短信和传真等的集成。统一通信并不是指某一个单一的产品,而是一系列提供了一致的,统一的,跨多个设备和媒体类型的用户界面和用户体验的产品。

(http://en.wikipedia.org/wiki/Unified_communications)

VoIP 是利用某个网络协议,比如SIP协议 (Session Initiation Protocol) 和 RTP协议 (Real-time Transport Protocol) 等,从而实现通过因特网来传输声音。

基础

要实现一个 VoIP/UC 解决方案,系统必须满足各种行业标准,而且网络设备也必须能够区分出对语音视频数据和其他类型数据的使用。

基本组件

本方案对硬件和软件的要求很简单。你需要做的可能只是下载软件而已。

硬件:

  • 树莓派B或者B+
  • 4 GB SD卡 (最低配置)
  • 1A 电源
  • 网线
  • 可选的 SIP 电话或者 SIP适配器(本文使用 Dlink DPH-150SE)

软件:

  • Raspbian
  • Asterisk 通信软件
  • LinPhone 虚拟电话软件 (支持 iOS, Android, Blackberry, Linux, Windows and OSX)。你可以通过下面链接下载。http://www.linphone.org

安装

初始安装设置的时候,你可能需要使用一个USB键盘和鼠标连接到 Raspberry Pi 上,再连上一个显示器。配置成功以后,树莓派就可以不需要这些而自己运行了。

获取 Asterisk 软件最好的和最容易的方法是从这个网站 (http://www.raspberry-asterisk.org/downloads)下载最新的 SD 卡映像文件,它是一个预装了 Asterisk 通信软件和 FreePBX 图形用户界面的 Raspbian 系统。

该映像文件是通过在这个网页上(http://www.raspberrypi.org/documentation/installation/installing-images/)的步骤被写到SD卡上的。

当系统启动后,用 root 身份和 raspberry 密码登陆。如果愿意,你也可以远程登陆树莓派系统。在 Windows 上安装 PuTTY SSH 客户端并用 root@raspbx 连接树莓派。如果是苹果的 Mac,只需简单的打开终端,输入命令 SSH root@raspbx.local 。

你可能以后会想禁止通过 SSH 登陆 root 用户,因为这有可能造成一个安全漏洞。当你登录系统以后,你需要运行的第一个命令是:

raspbx-upgrade

这个命令将更新所有的软件到最新版本,包括 Raspbian 和 Linux 内核。

接下来你需要做的是配置静态IP地址。你需要在你的路由器或者猫上指定你想使用的静态IP地址,网络掩码和网关。命令:

ifconfig

将提供你当前的IP地址,网络掩码。你的新的静态IP地址的前三个字节应该跟你当前的IP相同,最后一个字节必须在你的路由器当前已使用的动态IP地址范围之外。如果想查找网关地址,请输入:

netstat -r

通过下面的命令编辑 interface 文件:

nano /etc/network/interfaces

编辑好的 interface 文件应该看起来跟下面截图中的一样。

注意你需要将 eth0 那一行上的 “dhcp” 替换为 “static”, 并确保你使用的是 <Tab> 键来达到需要的缩进。

保存这个文件以后,重启树莓派让新的网络设置生效。现在开始,你就可以使用新的静态IP或者 raspbx 主机名了。例如我现在就可以使用 PuTTY 通过静态IP来连接树莓派: root@172.31.15.11 。

Asterisk的配置

我们现在要通过 FreePBX 的图形用户界面来配置 Asterisk 软件。这样可以让整个配置过程变得简单和容易。FreePBX 是已经在我们下载的那个映像文件里预装好了的软件。

如下所示的是一个示例架构图:

要运行 FreePBX,请打开浏览器并在地址栏输入 http://raspbx 或者树莓派的静态 IP 地址。(对于苹果的 Mac,你需要输入 http://raspbx.local)。这样就打开了 FreePBX 的管理界面。

这里有三个选项:

  1. FreePBX Administration 用于配置 Asterisk
  2. User Control Panel 供用户调整他们的个人设置
  3. Get Support 将打开 FreePBX 的官方网站

点击 FreePBX Administration, 默认的登录名是 admin,登陆密码也是 admin。这个软件的菜单有多种选项,包括分机(Extensions),会议(Conferences)和响铃组(Ring Groups)等。请点击分机(Extensions)。

由于当前没有分机存在,所以你将添加一个新的分机。Device 选项请选择 Generic SIP Device,然后点击提交(Submit)进入下一个页面。这个页面也有很多的选项,但我们只需要设置用户分机号码为 300,显示名称为 Walberto 和密码为 ext300。单击 Submit 添加该扩展。

在屏幕的右边,点击300来查看你刚刚添加的分机。验证端口(port)选项被设置为5060。点击Submit提交,然后点击那个红色的 Apply Config 按钮来保存所做的更改。

重复这个过程添加其它你需要的分机号,在这里我添加了301和302分机。

现在,我们需要配置 IP 电话。这个过程根据你的电话设备的型号而不同,在这里我们将使用 Dlink DPH-150SE 作为一个示例。

最重要的设置是禁用 DHCP 选项,确认 SIP 电话端口号为 5060,还有注册的服务器是你的树莓派的 IP 地址。在后面的章节中,我们将通过 Proxy 选项来启用服务器注册。

对于 SIP Account 设置选项,我们需要输入之前通过 FreePBX 添加分机时使用的数据。Authentication User Name 就是之前添加的分机号码,而 Authentication Password 就是我们之前设定的那个密码(即ext300)。

虚拟电话配置

启动 Linphone 并在 Options 菜单中选择 Preferences。确认网络设置如下图所示。

在 Multimedia settings 选项中, 确认 Echo cancellation 被选上。在 Manage SIP Accounts 选项中输入你的显示名称。在我的例子中,虚拟电话的分机号为302, 所以用户名也为 302。由此而生成的 SIP 地址为<sip:302@172.31.15.7>。单击 Add 按钮在 Asterisk 上注册该分机的帐号。

按照下图所示,输入你的 SIP identity 和 SIP Proxy address(即你的树莓派的 IP地址)。

然后你将被要求输入密码。对于302分机,我设定的密码是 ext302。单击确定,注册就完成了。

通过 FreePBX 和 Asterisk 可以实现各种服务,如会议室,IVR(交互式语音应答),呼叫组等,还可以通过普通的PSTN电话,SIP中继线或互联网进行呼入和呼出。

未来

VoIP和互联网通讯的发展正在推动统一通信系统融合成一个整体的系统和环境。 FreePBX 和 Asterisk 是一个非常好的例子,它演示了如何用很低的成本来实现复杂的通讯系统。

来自:https://www.jianshu.com/p/4789d030fee3

想要更多,请欢迎关注“IoT前哨站”微信公众号或微博

我们的树莓派受Meltdown或Spectre漏洞影响吗?

2018年刚开了个头,Meltdown 和 Specter 这两组CPU漏洞就被公布出来,在业内引起轩然大波。波及了几乎所有由英特尔、AMD或ARM在过去十年制造的CPU。

前者对应CVE-2017-5754(乱序执行缓存污染),影响Intel CPU和部分ARM CPU。

后者对应CVE-2017-5753(边界检查绕过)与CVE-2017-5715(分支目标注入),影响Intel CPU和AMD CPU,以及主流的ARM CPU。

目前主流的PC、手机以及服务器,几乎都受到这两组硬件漏洞的影响。这些漏洞将允许恶意程序窃取机器上的任意数据。

关于该漏洞细节网上已经有很多内容,各大厂商也纷纷表示已推出补丁修复。

但不管怎样,了解一下自己的机器是否受影响还是有必要的。

一位名叫Stéphane Lesimple的开发者写了个很好用的脚本,然后一群热心网友又帮着完善了代码。方便了大家的检测。

这里我先试一下自己的DELL游戏笔记本 ,系统是Ubuntu 17.04,处理器是Intel 酷睿i7-6700HQ。

把脚本下载到本地,用root的权限执行。

检测脚本下载地址:https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh

结果两组漏洞,三个CVE,全中。

这意味着这台笔记本目前仍处在危险之中。

之前有消息说所有树莓派都没有受到最近披露的Meltdown 和 Spectre漏洞影响。但有些厂商似乎又在发布针对树莓派的补丁。

那咱们ARM芯片的树莓派,情况到底怎么样?

接着我试了一下Raspberry Pi 3B ,系统是Raspbian 9,处理器是博通BCM2835(板载标识BCM2837)。

结果还算让人满意,至少咱们的树莓派3B不受这两组漏洞威胁了。

因为修补这些漏洞,多少会降低系统的性能。而树莓派作为低功耗的IoT代表,本来就不怎么快,再降低性能就太可怜了。

想要更多,请关注“IoT前哨站”微博或微信公众号