Linux/Raspbian 每个目录用途说明

本文转自无聊小博,很多刚接触树莓派/Linux 的同学会在给树莓派安装、卸载、配置软件时,软件和配置文件等存放在哪儿产生疑惑。也会遇到诸如“磁盘分区”、U盘挂载等涉及到的目录路径问题。Linux 的目录是有非常明确的规则的,这里推荐这篇文章助你快速了解、快速上手。

为什么会有这篇文章

因为在使用apt-get purge remove openvpn之后,发现系统里依然有很多openvpn名字的目录或者文件,比如像下面这样

/usr/sbin/openvpn
/etc/default/openvpn
/etc/network/if-down.d/openvpn
/etc/network/if-up.d/openvpn
/etc/bash_completion.d/openvpn
/etc/init.d/openvpn
/run/openvpn

有强迫症+洁癖的我当然就很不爽了,挨个查看之后,就删掉了这些,但是对于一些目录的用户比较感兴趣,就找到了下面这篇文章,英文的,翻译了,留在这里,增加自己对LINUX系统的了解。

Linux和Windows的区别

的显著区别之一就是其不同的目录结构,并不仅仅是格式上的不同,而是不同位置上保存的东西区别很大。

在Windows中,典型的路径可能是这样的 D:\Folder\subfolder\file.txt,而在Linux中,路径则是这样的 /Folder/subfolder/file.txt

斜线倾斜的方向不同,并且,在Linux中,也没有C盘D盘的概念,Linux系统启动之后,根分区 就”挂载”在了在了 / 的位置,并且所有的文件、文件夹、设备以及不同的硬盘光驱之类的,也都挂载在了 /

虽然可能在下面这个例子中并不明显,但是Linux系统对文件或者文路径的名称中的大小写字符是敏感的。

比如 /Folder/subfolder/file.txt 与 /folder/subfolder/file.txt并不是同一个文件。

Linux系统目录说明

Unix中和Linux的目录结构是一个统一的目录结构,所有的目录和文件最终都统一到”/“根文件系统下。文件系统是无论是不是挂载过来的,最终都分层排列到以”/“为起始的文件系统之下。
Linux目录结构遵循”文件系统层次结构(Filesystem Hierarchy Structure,FHS)”,这标准是由“自由标准组织(Free Standards Group)”进行维护的,然而大多数LINUX发行版都有意或者无意的与这一规范背离。

“/” 根路径

这是Linux系统的“根”目录,也是所有目录结构的最底层。在UNIX以及和它兼容的系统中,”/“是一个单独的目录。

/boot

这个目录下包含系统启动文件(boot loader),例如Grub,Lilo或者Kernel,以及initrd,system.map等配置文件。

Initrd ramdisk或者””initrd””是指一个临时文件系统,它在启动阶段被Linux内核调用。initrd主要用于当“根”文件系统被挂载之前,进行准备工作。

/sys

这个目录下包含内核、固件以及系统相关文件。

/sbin

包含系统操作和运作所必需的二进制文件以及管理工具,主要就是可执行文件。类似WINDOWS下的EXE文件。

/bin

包含单用户模式下的二进制文件以及工具程序,比如cat,ls,cp这些命令。

/lib

包含/sbin和/bin目录下二进制文件运行所需要的库文件。

/dev

内含必需的系统文件和驱动器。

/etc

内含系统配置文件,其下的目录,比如 /etc/hosts, /etc/resolv.conf, nsswitch.conf, 以及系统缺省设置,网络配置文件等等。以及一些系统和应用程序的配置文件。

/home

每一个用户的在这个目录下,都会单独有一个以其用户名命令的目录,在这里保存着用户的个人设置文件,尤其是以 profile结尾的文件。但是也有例外,root用户的数据就不在这个目录中,而是单独在根路径下,保存在单独的/root文件夹下。

/media

一个给所有可移动设备比如光驱、USB外接盘、软盘提供的常规挂载点。

/mnt

临时文件系统挂载点。比如,你并不想长期挂载某个驱动器,而是只是临时挂载一会U盘烤个MP3之类的,那么应该挂载在这个位置下。

/opt

在Linux系统中,这个目录用到的并不多,opt是 可选系统程序包(Optional Software Packages)的简称。这个目录在UNIX系统,如Sun Solaris用途要广泛的多。

/usr

用户数据目录,包含了属于用户的实用程序和应用程序。这里有很多重要的,但并非关键的文件系统挂载这个路径下面。在这里,你会重新找到一个 bin、sbin 和 lib目录,其中包含非关键用户和系统二进制文件以及相关的库和共享目录,以及一些库文件。

/usr/sbin

包含系统中非必备和并不是特别重要的系统二进制文件以及网络应用工具。

/usr/bin

包含用户的非必备和并不是特别重要的二进制文件。

/usr/lib

保存着/usr/sbin以及/usr/bin中二进制文件所需要的库文件。

/usr/share

“平台无关”的共享数据目录。

/usr/local

是/usr下的二级目录,这里主要保存着包含系统二进制文件以及运行库在内的本地系统数据。

/var

这个路径下通常保存着包括系统日志、打印机后台文件(spool files)、定时任务(crontab)、邮件、运行进程、进程锁文件等。这个目录尤其需要注意进行日常的检查和维护,因为这个目录下文件的大小可能会增长很快,以致于很快占满硬盘,然后导致系统便会出现各种奇奇怪怪的问题。

/tmp

顾名思义,这是一个临时文件夹,专门用来保存临时文件,每次系统重启之后,这个目录下的”临时”文件便会被清空。同样,/var/tmp 也同样保存着临时文件。两者唯一的不同是,后者 /var/tmp目录保存的文件会受到系统保护,系统重启之后这个目录下的文件也不会被清空。

/proc

这个目录是驻留在系统内存中的虚拟(psuedo,伪)文件系统,其中保存的都是文本格式的系统内核和进程信息。

LINUX系统目录结构图

需要注意的是,不同LINUX发行版本的目录结构会有一些差异,这对LINUX新手来说比较纠结,但是大体上,所以LINUX的不同发行版本,都符合上面这幅图片中的路径结构。

参考文章

1.Linux Directory Structure Overview

本文来自:树莓派实验室

修改树莓派交换分区 SWAP 的正确姿势

Swap分区是磁盘上的一个特殊用途的分区。是当系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

分配太多的Swap空间,会浪费磁盘空间,而Swap空间太少,则系统会发生错误。一般在内存小于2G的情况下,交换分区应为内存的2倍。对于树莓派来说,可以设置为2GB。当然也需要考虑 microSD 卡容量和使用情况。

错误的做法

下面是错误的做法!错误的做法!错误的做法!重要的事情说三遍!!!

一直以来,我以为树莓派的 swap 和普通 linux 的差不多,也就照着某些网站上的方法修改树莓派的交换分区大小。

熟悉的套路开始了!

首先,查看内存大小:

$ free -m
total used free shared buff/cache available
Mem: 976 35 226 12 714 864
Swap: 99 0 99

然后:

$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=102400
$ sudo mkswap /swapfile
$ sudo chown root:root /swapfile
$ sudo chmod 0600 /swapfile
$ sudo swapon /swapfile
$ sudo vi /etc/fstab

接着,添加以下内容到fstab文件尾:

/swapfile swap swap defaults 0 0

查看是否有swap空间

$ free -m

重启后,你就会发现树莓派的 swap 又回到还原了。

正确的做法

如果你按照上面的方法做了,只需删除 swap 分区:

$ sudo swapoff /swapfile
$ sudo rm /swapfile

然后将自己在 /etc/fstab 文件添加的那一行删除。

下面开始正式修改树莓派的 swap 的大小:

sudo vi /etc/dphys-swapfile

将 CONF_SWAPSIZE 的值修改成你想要的大小。 一般在内存小于2G的情况下,交换分区应为内存的2倍!

然后,重新启动 dphys-swapfile 文件服务:

sudo /etc/init.d/dphys-swapfile restart

最后查看大小:

$ free -h
total used free shared buff/cache available
Mem: 976M 66M 801M 12M 108M 849M
Swap: 2.0G 0B 2.0G

后记

在修改 /etc/fstab 文件的时候,我在下面的注释里发现了这样的两句话:

# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that

不过当时并不知道 dphys-swapfile 是什么,也不知道它在哪。后来通过搜索 dphys-swapfile 查阅到这篇文章 How to change Raspberry Pi’s Swapfile Size on Raspbian,终于找到了正确修改树莓派交换分区的方法。

转载自 树莓派实验室

无线安全审计工具FruityWifi初体验

FruityWIfi是一款有名的无线安全审计的开源工具,其灵感来自于wifipineapple,目前该工具已经更新到2.4。它能够让用户通过web界面来控制和管理模块,十分方便。FriutyWifi最初的设想是能够在树莓派上使用,但是也可以安装在Debian系列的操作系统上,例如Debian,kali Linux等,甚至可以安装在NetHunter上,在某些移动设备上使用。

一、本次使用的环境

硬件为树莓派3B,系统为raspbian jessie。

二、安装方法

-下载zip压缩文件:https://github.com/xtr4nge/FruityWifi

-解压后用root权限运行对应目录下的install-FruityWifi.sh,如果树莓派系统为raspbian stretch,运行install-FruityWifi-PHP7.sh。

安装时很顺利,安装完成后,访问地址为:

http://localhost:8000

https://localhost:8443

三、使用过程

打开页面后会发现一个简约的界面,用户和密码都是admin

进入FruityWifi的web管理界面后可以看到目录上的几个选项。

status:这里可以看到安装的模块,能够控制模块的运行和停止,还能够看到网卡的信息和连接热点设备的ip和名字。

 

status-ws:和status提供的功能和信息一样,不过这里能够看到模块的当前日志信息,适合和移动设备的访问。

config:这里能够设置软AP,可以看到很多模式,能够灵活的对接口进行组合。IN口为内网接口,一般设置为能够提供软AP服务的那个网口。OUT口为外网接口,设置为连上互联网的网络接口。配置好IN口和OUT口的地址后,点击save保存。AP模式最初有两个可以提供选择,分别是Hostpad和Airmon-ng,如果安装了karma和mana后,会多出两个模式来,会增加Hostapd-Mana和Hostapd-Karma两个模式,当使用这两个模块时,配置对应的AP模式即可。当无线网卡使用Realtek芯片时,只能选择Airmon-ng模式,并且只有使用 atheros芯片的无线网卡才支持karma和mana攻击。下载好AP模块后,就能够很好的管理和启动热点。

modules:这里列出了许多可用的插件,可供下载使用。树莓派3B自带的无线网卡是不支持monitor模式的,如果想使用mdk3这种需将网卡设置为monitor模式的模块,需外置个支持monitor模式的USB无线网卡。

下面列举几个常用的基本的模块:

1、Autostart,启用FriutyWifi时自动开启相对应的模块。

2、karma和mana,karma能够响应客户端设备主动扫描的探测请求,并伪造同名热点吸引客户端的连接。由于各厂商改成了被动扫描,karma的攻击逐渐不好用了,而mana可以说是karma的改进,它能够收集周围空间的SSID信息,当收到BoradcastProbeRequest 后,会根据列表中的每一个SSID构成ProbeRsponse向客户端回复。关于karma和mana的具体原理,可以看下这两篇文章:http://www.freebuf.com/articles/77055.html ,http://www.freebuf.com/articles/wireless/145259.html

3、mdk3,能够发起能够发起Beacon Flood、Authentication Dos、 Deauthentication等模式的攻击。需要将网卡设置为monitor模式,在config界面中能够很轻松的设置, mkd3的DOS攻击配和karma|mana能够使客户端断开原来的热点并主动连接钓鱼热点。

4、DetectDeauth,一款检测eauthentication attacks的模块。能够设置周期性的检测deauthentication frame,如果超过自己设置的阈值,则会记录下来。

当客户端连上钓鱼的热点后,客户端设备的所有流量都经过钓鱼热点,这时可以使用一些模块获取想要的数据,例如ngrep来抓取cookie ,URLSnarf抓取URL信息等;也有许多中间人攻击的模块提供使用,比如ettercap ,sslstrip等。有些插件笔者使用时未能正常启动,比如nessus、DeviceFinder 等。

logs:各个模块的输出日志信息,能够很方便的查看。

四、后记

作为一个款无线安全审计工具,FriutyWifi从安装到使用都非常简单,也方便管理。有些模块在树莓派3B上未能正常的使用,希望新版能够修正这些模块,也希望这款开源工具能够越来越丰富,越来越稳定。

 本文作者scu-igroup,转载自FreeBuf.com

 

 

 

Pi0drone:Pi Zero的200美元智能无人机

故事

[树莓派官方新闻] 与绿海龟和ARRIBADA主动性一起旅行

今天,一个客座教授:Alasdair Davies,ZSL伦敦保护技术专家,Shuttleworth基金会研究员Naturebytes的共同创始人,分享了Arribada Initiative的工作。该项目使用树莓派零相机模块来跟随绿海龟的旅程。从这些宏伟的生物背面拍摄的画面是不可思议的 ~
小编独白: 海龟背上一个小小的 RPi zero 带着电池,还有一个摄像头,要一个防水外壳之类,全部加起来估计要500g 了, 要找大海龟才行.

在动物跟踪世界中获得价格合理,开放和可定制的保护技术往往是有限的。过去十年来,我一直是一名环保技术专家,共同创立Naturebytes,并在ZSL伦敦动物园工作,这是一个令我感到困扰的问题。收集必要的有价值的数据是非常昂贵的,这些数据是通报政策,指定海洋保护区或查明对物种的威胁所必需的。

今年3月,我获得了一个超级机会,成为沙特尔沃思基金会的成员,突破了这些障碍,这意味着我有时间和资源集中精力解决问题。该Arribada倡议成立,10个月后,开源Arribada PS-C绿海龟标签诞生。上面的视频是在两周前在西非普林西比岛的水域拍摄的。

View image on TwitterView image on TwitterView image on Twitter

该电子标签包含一个覆盖树莓派摄像头模块的Raspberry Pi Zero W,一个PiRA电源管理板,两个锂离子电池以及一个相当不错的外壳。它与Institute IRNAS一起建造,并且有一个不错的用户友好的无线充电箱,以便海员在海上航行后更换电子标签。当标签返回到案例中的一个坞站时,我们使用resin.io来管理它,下载视频,并远程配置电子标签。

电子标签还可以配置为定时拍摄视频剪辑,这意味着我们现在可以观察海洋垃圾,塑料碎片,由于附近的建筑,污染和其他威胁而导致的海洋环境变化之前/之后的情况。

被丢弃的渔网对海龟是致命的,所以使用这个新的电子标签 – 现在终于可能了,因为Raspberry Pi Zero有助于大幅度降低成本,同时保持出色的视频质量 – 为该领域的科学家提供了真正的价值。明年,我们将发布一个优化的,经济实惠的GPS版本。

绿海龟Alasdair戴维斯树莓派Arribada倡议

为了使这一切成为可能,我们必须设计一种将电子标签贴在海龟身上的更快速的方法,所以我们想出了“加油站”技术(这就是PS名为“Arribada PS-C”的站点对于)。就像一辆一级方程式赛车参观赛车轮胎的轮胎,当海龟返回沙滩时,我们会在海滩上切换电子标签,用快速释放的底板代替全新的电子标签。

为了实施该系统,我们首先将底板粘贴到海龟壳上(用的是环氧树脂,就是我们常说的502吧~),这使得尽可能快地减少对海龟的带来的任何压力。一旦环氧树脂(520胶)干了,我们贴上电子标签。当龟已经完成了排卵周期(他们在一个季节里每次下蛋三到四次,平均每10到14天下一次),我们只需要移除底盘即可完成采集的任务。

结束语:  看来我们还在摸索如何做更好玩儿的东西的时候, 这些科学家已经用树莓派做了太多关于生物,海洋, 生态的研究的设备了. 我们还需要努力啊~

树莓派3系统RaspAnd 7.1.2发布:支持7英寸触摸屏和智能电视

RaspAnd开发商Arne Exton发布了新版本的Raspberry Pi 3操作系统,为官方的Raspberry Pi 7英寸触摸屏和智能电视提供支持。在推出最新的Kodi 17.6 “Krypton”媒体中心和TeamViewer 13软件以允许用户从其Raspberry Pi 3 SBC控制其他计算机之前的一个星期之后,RaspAnd 7.1.2 Build 171220支持官方的树莓派7英寸触摸屏。

RaspAnd操作系统在官方Raspberry Pi 7英寸触摸屏上运行

“感谢这个网站上的一位要求支持Raspberry Pi官方7英寸触摸屏的成员,我开始尝试不同的配置。现在成功了!这些变化是如此之好,,我决定今天上传RaspAnd的新版本,“Arne Exton在发布公告中写道。

RaspAnd现在在大屏幕电视上看起来也更好了

对官方的Raspberry 7英寸触摸屏的支持也改变了RaspAnd的支持分辨率从720p(1280×720)改为1080p全高清(1920×1080),这意味着您也可以在大屏幕电视上使用它,而且看起来会好很多之前。 Arne Exton用55英寸三星电视机作为显示器进行测试。

除此之外,RaspAnd 7.1.2 Build 171220预装了Quick Reboot Pro应用程序,因此您不必使用电源开关重新启动Raspberry Pi 3单板计算机上的操作系统。这个新版本是为现有用户免费下载的,但是新用户需要支付9美元

对于那些不熟悉RaspAnd的人来说,这是一个基于Google Android移动操作系统的Raspberry Pi 3 SBC的商业操作系统,所以基本上你可以在你的Raspberry Pi上运行Android。目前,最新的RaspAnd版本是基于Android 7.1.2 Nougat。

在智能电视上运行RaspAnd操作系统

 

本文转载自cnbeta

NEC发布搭载树莓派平台的工程液晶显示器新品

12月14日消息,NEC今日在北京发布了显示器新品C系列、P系列、V系列及EX系列。NEC新款显示器搭载树莓派平台,提供多样化应用。此外,NEC在产品线方面拥有丰富的显示产品群,涉及工程、教育、商务投影机,数字电影放映机,工程液晶显示器及专业色彩显示器。

 

 

 

此次发布的新品包含C系列、P系列和V系列的三大系列的九个型号,主要覆盖40英寸到55英寸,产品亮度覆盖450nit到700nit的产品段及两款专业桌面显示器EX系列。由于内置树莓派和OPS平台的应用,使得显示器能够更便捷地与各种软硬件进行融合协作。采用模块化结构设计,四边等宽度设计,将显示器边框做到了最小化,外形更加美观,都使其在电气性能和工业品质方面表现极为出众,能够完全满足对显示器画质和耐用性要求极高的客户需求,并带来更快捷、可升级、可扩展的优势。此外C系列内置Garnet信发平台,支持开机自动播放、无信号屏保功能和紧急预警功能。此外,45mm超薄机身、表面44%雾度指标、可扩展窄边框设计以及支持7*24小时应用的特性。

发布会现场展示的曲面显示器+投影机融合的解决方案,小尺寸拼接+大尺寸拼接的影院应用方案。

本文转载自cnbeta

配置树莓派USB接口的电流限制

树莓派的USB接口是有电流限制的,默认只能达到600mA。这给外接一些对电流要求较高的设备时会遇到电流不足的问题,导致无法工作或工作不稳定。

例如外接某些移动硬盘,我们通常需要加入额外的电源来对这些设备供电。当然可以选择有源 USB HUB 来很好地解决。

而今天介绍的一种方案,只需要修改树莓派系统的配置,即可提高 USB 接口供电的电流限制(最大为 1.2A)。

首先申明一些重要的注意事项:

  • 首先需要合理评估超载的电流是否在可以接受的范围内,如超出默认值 600mA 50%以上,则墙裂建议用有源 HUB 方案。
  • 本方案不可用于树莓派 Zero。也不适用于 2017-04-10 之前的 Raspbian 系统。
  • 使用该方案之后,树莓派将失去保修的条件。
  • 分享本方案仅供专业玩家了解这个配置项,如果你无法理解或无法对负载进行合理评估请勿继续阅读,我们非常不愿意看到因为忽视了以上事项而导致你的树莓派主板因过载而报废。同时对进行该项尝试而发生的任何可能的损失免责。

因树莓派的USB接口电流大小由USB电流保护芯片进行限制,所以通过旁路USB电流保护芯片(即不让电流从电流保护芯片流过)就可以实现更大电流。

具体配置需要修改 /boot/config.txt 这个文件,在最后面添加三行。

max_usb_current=1
current_limit_override=0x5A000020
avoid_warnings=2

由于电源芯片限制,最大电流为1.2A。重新启动树莓派即可生效。

曾经有一个树莓派摆在你的面前正常工作着,你要好好珍惜哦~(采用请慎重)

 

本文来自:树莓派实验室

利用ESP8266芯片制作无线网屏蔽仪

只需花费几十块钱买一块ESP8266芯片就可以DIY一个无线网络屏蔽仪,体积小巧,使用充电宝或手机供电,可以屏蔽有效范围内的任意一个无线网络信号。原理是802.11无线网络协议中有一个解除认证帧,通常是用来断开某个无线网络连接。由于这些帧数据包不加密,因此只要获取了无线路由器和设备的无线网卡MAC地址,就可以在无线网络有效范围内断开某个设备的连接。通过这个方法,黑客还可以进行信标垃圾、随机信标垃圾攻击或干脆屏蔽所有无线网络。

完整教程视频:

http://v.youku.com/v_show/id_XMzE5MTkzMDA1Ng==.html?spm=a2h3j.8428770.3416059.1

可以在手机上下载应用程序控制无线网络屏蔽:

geni.us/PQhB

第一步:材料准备

1、 购买ESP8266芯片组(必备)。

2、 电池(选购)

第二步:下载最新版的Arduino编译软件arduino.cc/en/Main/Soft

1、 安装后打开

2、 选择“文件”,“参数”

3、 在“其他板载管理URLs”中添加以下地址:arduino.esp8266.com/sta

4、 选择“工具”,“板”,“板载管理器”

5、 输入ESP8266

6、 必须选择“版本2.0.0”

7、 选择“文件”,“参数”

8、 打开“更多”,进入编辑模式,最后记得保存文件。

9、 找到ESP8266页面,选择“硬件”,“ESP8266”,“2.0.0”,“工具”,“sdk”,“include”

10、用文本编辑器打开user_interface.h文件

11、在文件中#end标记前插入以下内容:

typedef void (**freedom_outside_cb__t)(uint8 status);
int wifi_register_send_pkt_freedom_cb(freedom_outside_cb_t cb); 
void wifi_unregister_send_pkt_freedom__cb(void); 
int wifi_send_pkt_freedom(uint8 **buf, int len, bool sys_seq);

12、保存文件

第三步:下载项目文件

1、 下载项目文件geni.us/A5cOYc

2、 打开Wifi Jammer> esp8266_deauther,用Arduino打开esp8266_deauther.ino文件

3、 在“工具”中选择对应的ESP8266型号,本文中用的是NodeMCU 0.9,如果不行可以尝试选择NodeMCU 1.0 或Generic ESP8266 Module

4、 在“工具”中,选择“编译器”> ArduinoISP

5、 在“工具”中,选择对应的端口号

6、 上传成功

第四步:如何使用

1、 ESP8266芯片加电

2、 可以使用智能手机或电脑控制芯片组,扫描无线网络名称为AndroidAP,初始密码killwifi。连接成功后,可以使用手机应用程序或在电脑浏览器中输入192.168.4.1来屏蔽周围的无线网络信号了。

3、 选择“攻击”>解除验证所有,所有的无线网络都会被屏蔽。

本文转载自 W-Pwn科技知乎专栏

 

Vivaldi浏览器登陆树莓派等ARM架构Linux设备

由Opera联合创始人Jon S. von Tetzchner创建的全新网页浏览器Vivaldi凭借着丰富的自定义选项深受消费者青睐,目前已经登陆Windows、macOS和Linux(x86、X86_64)平台,今天团队再次宣布浏览器登陆包括树莓派在内的ARM架构Linux设备。

ARM架构Linux版本可以通过关闭动画GIF、高级阅读模式等进一步提升性能,减少资源占用。von Tetzchner表示:“我们非常激动地看到Vivaldi浏览器登陆知名开发主板树莓派和其他基于ARM架构Linux版本。对于那些想要寻找更丰富功能、更灵活浏览的树莓派用户,他们会发现Vivaldi提供了令人激动的使用体验。”

 

转载自 新浪科技