目录

 一,工欲善其事,必先利其器 <https://www.cnblogs.com/whuanle/p/10626529.html#t1>

二,开机必备 <https://www.cnblogs.com/whuanle/p/10626529.html#t2>

三,更新 apt-get 源与软件搜索 <https://www.cnblogs.com/whuanle/p/10626529.html#t2>

四,安装 .NET Core <https://www.cnblogs.com/whuanle/p/10626529.html#t3>

五,文件传输 <https://www.cnblogs.com/whuanle/p/10626529.html#t5>

六,搜索与安装软件 <https://www.cnblogs.com/whuanle/p/10626529.html#t6>

七,常见缺少的 xxx.so <https://www.cnblogs.com/whuanle/p/10626529.html#t7>

八,小技巧与工具 <https://www.cnblogs.com/whuanle/p/10626529.html#t8>

<>一,工欲善其事,必先利其器

1,下载系统

树莓派官方下载系统地址

https://www.raspberrypi.org/downloads/ <https://www.raspberrypi.org/downloads/>

注意:

除了下面这三个,其它均为第三方系统。这三个是树莓派适配的自己的 Linux 系统。

NOOBS 是一个系统安装器,同时也是一个系统,适合入门的新手,自定义安装一些东西,不过实在太大了。

别急着下,先看看下一条提示。



2,CPU与系统

上面列举的树莓派官方的系统,全是 32 的,注意注意,是 32位 的!就是说无论你的树莓派 CPU 是 32 还是 64 ,都是 32 位系统!树莓派3
都出很久了,还不出 64位的系统,原因就不解释了。

ARM 、 X86,指的是 CPU  指令集(ARM:简单指令集,X86:复杂指令集),不是指 CPU型号、也不是指
32位/64位。嵌入式领域大部分的芯片是采用 ARM 指令集的。

另外,树莓派的系统,2018-11-13 出的,是 Stretch,基于Debain 9。Openssl 1.1.1,

而 2016 的版本是 Jessis,基于 Debain 8,Openssl 1.0.0。

旧版系统下载地址 http://blog.lxx1.com/raspberrypi-jingxiang
<http://blog.lxx1.com/raspberrypi-jingxiang>

3,刷系统

Win32DiskImager ,这个应该是流行度最高的了,不过笔者推荐使用 rufus

刷进去后,如果发现分配的存储空间不足,可以使用 DiskGenius工具扩展存储。有时候刷入系统,只会使用到几G的存储,剩下的存储空间没有分配。
fdisk -l        #查看系统的存储空间
4, look 系统信息
uname -a #查看系统版本与Linux内核信息 cat /etc/os-release #查看系统版本代号、官网地址等 getconf
LONG_BIT #查看系统是32位还是64位gcc -v #gcc 版本
<>二,开机必备

1,账号密码

树莓派默认账号密码
pi raspberry
注意,默认没有root。

2,加入root

默认没用 root,所以需要自己加入
sudo passwd root
然后会要求输入两次密码

因为默认不是 root,所以在使用 ssh 远程登陆时,不能直接使用 root 登陆。要先使用 pi 用户。

切换 root 用户
su root
3,开启远程 ssh 功能
/etc/init.d/ssh start   #如果不是 root 用户,要 sudo
查看 电脑 IP
ifconfig
4,开机启动

ssh 可能不是开机自启,让软件开机启动,其它需要自启动的软件也可以放进去。
nano /etc/rc.local
在 exit 0 这一行前,输入 /etc/init.d/ssh start ,然后

Ctrl + O,回车,Ctrl + X

以上 3 步是保存编辑并退出编辑模式的方法,当然也可以用 vi/vim ,添加后就会开机时自动启动服务了。

5,更新时间

shell 输入命令
date    #查看系统时间
如果显示的时间跟你本地时间不一样,先设置时区(上海)
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
6,使用 wifi

考虑到要使用 wifi,就加上了

如果是 Orange PI 的板子可以使用
nmtui      #弹出网络管理器
#剩下的就是 UI 界面操作了
如果是树莓派
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf  #修改网络配置文件
在后面加上
network={ ssid="wifi 名称,注意大小写呀" psk="wifi 密码,注意大小写" }
#注意,等号两边不要有空格
重启网络
sudo /etc/init.d/networking restart
使用 ifconfig 获取网络状态或者 curl baidu.com 是否有返回,来判断是否已经连接上wifi。

如果没有连接上,那就重启机器
#以下命令都可以重启,需要 root reboot shutdown -h now
<>三,更新 apt-get 源与软件搜索

 1,更新
apt-get update #更新apt列表 apt-get upgrade #更新系统
上面的命令备用

2,修改 apt 源

备用!一般不需要修改!
nano /etc/apt/sources.list
随便你用 nano 还是 vi/vim。

如果你的源,是 https:// 开头的,建议改成 http://

如果你的系统是 Debain
deb http://ftp.debian.org/debian sid main   #官方源
Debain、Raspbain 系统的源-官方文档 
https://docs.saltstack.com/en/latest/topics/installation/debian.html
<https://docs.saltstack.com/en/latest/topics/installation/debian.html>

163 开源 Debain 镜像源(非常齐全,i386、amd64、source 架构)  
http://mirrors.163.com/.help/debian.html
<http://mirrors.163.com/.help/debian.html>

apt 安装软件、更新源、更新系统出错、无法使用 HTTPS 等问题,请参考笔者的另一篇文章

https://www.cnblogs.com/whuanle/p/10540584.html
<https://www.cnblogs.com/whuanle/p/10540584.html>

<>四,安装 .NET Core

笔者是学 dotnet 的~

1,下载 .NET Core

打开 https://dotnet.microsoft.com/download
<https://dotnet.microsoft.com/download>,获取相应版本的下载地址。

.NET Core ARM 版本的 SDK/Runtime 是 . tar.gz 后缀

在你的 Linux,打开 /var目录,创建一个 dotnet 的目录(为了安装 .NET Core)。其实安装目录可以随意,笔者建议放在 /var 下吧。
mkdir /var/dotnet cd /var/dotnet
下载 软件包(下面的是 Runtime 2.2.3,根据实际替换下载地址)
wget https://
download.visualstudio.microsoft.com/download/pr/280390c7-10ab-46bc-bd62-886751517624/b6b98756380556e39a6a96a920aa4b67/aspnetcore-runtime-2.2.3-linux-arm.tar.gz
PS:如果提示 wget 无法下载 https 链接的文件,加上 参数 --no-cookie --no-check-certificate
wget --no-cookie --no-check-certificate https://地址
笔者的另一篇文章: 嵌入式开发板LInux更新系统、安装软件、下载资源碰到的问题

https://www.cnblogs.com/whuanle/p/10540584.html
<https://www.cnblogs.com/whuanle/p/10540584.html>

2,“安装” .NET Core

ARM(开发板) 上,无论是 SDK 还是 Runtime,其实不算真正的安装。而是把 dotnet 脚本命令放到系统里。 .NET Core
不会驻扎在后台,只有你使用 dotnet 命令时才会出现,平时不会消耗任何资源。

解压 .NET Core 包
tar -vxf xxxxxx压缩包的名称xxxxxx.tar.gz
如果名字太长,可以输入前面几个字母,按 Tab 键自动补全。小技能:Tab 键可以自动补全命令、目录文件名称等。
ls #查看目录文件 #或者使用 ls -lah
你可以看到目录下有个 dotnet 文件,把此文件链接到 /usr/bin 下。
ln -s /var/dotnet/dotnet /usr/bin/dotnet -f #注意养成习惯,有些地方最好填上绝对路径
测试是否成功
dotnet dotnet --info
如果失败的话,检查是不是路径有问题,先将创建的软链接删除,再重新创建试试。
rm /usr/bin/dotnet #删除创建的链接
另一种安装方法
export DOTNET_ROOT=/var/dotnet/dotnet export PATH=$PATH:/var/dotnet/dotnet
#以上命令是创建环境变量
然后试试输入 dotnet 命令测试。

但是,使用 export 命令创建的变量,只能在当前终端使用,重新连接、关机后、使用别的账号,都无法使用,只是是临时的。

这个方法可以自动执行 export 命令
nano ~/.bashrc #或者 vim ~/.bashrc
在后面加上
export DOTNET_ROOT=/var/dotnet/dotnet export PATH=$PATH:/var/dotnet/dotnet
这样,只有当前用户才能使用 dotnet。

想全局生效、对所有用户都生效:可以编辑 /etc/bashrc 文件

<>五,文件传输

1,跨屏传输文件

安装 ZMODEM
apt-get update #更新apt列表,要经常更新 apt-get install przsz #安装跨屏传输软件
这个软件可以在任何 Linux 系统下使用,只要你拖动需要的文件,即可丢到终端里(会存放到你当前在终端的工作目录)。



那么,如果从 Linux 里获取文件呢?
sz 文件名
就会提示保存文件了。是不是很方便呢~快给小编点个赞吧。

  <>六,搜索与安装软件

输入
apt-get search xxx #例如 apt-get search openssl
即可搜索某个名称的软件包。

这样可能看着不方便。

Debain 官方地址 https://packages.debian.org/index
<https://packages.debian.org/index>

在里面搜索相关名称,就可以获取不同CPU、不同系统、不同版本的软件包名称啦,还可以看到软件介绍~

输入 apt-get install xxx 即可安装。

另外,经常会碰到缺少 xxx.so 文件,缺少 xxx 依赖等情况,到这个网站什么搜索,就知道是缺少哪个软件出的问题了。

 

有些小伙伴,刚入门,这里提醒一下。Linux 发行版本很多,有 apt、rpm、yum 等安装软件的方法,Debain、Ubuntu 等是使用 apt
安装,Centos 等使用 yum 命令。

有些小伙伴在网上找教程安装软件时,试了很多次:找不到 yum 命令。。。

<> 七,常见缺少的 xxx.so

1,Openssl
root@instance:/tmp# ldd /usr/bin/openssl linux-vdso.so.1 => (0x00007ffe94bc0000
) libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f62aacf4000)
libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (
0x00007f62aa8b0000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (
0x00007f62aa4e6000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (
0x00007f62aa2e2000) /lib64/ld-linux-x86-64.so.2 (0x00007f62aaf5d000)
安装一些软件或者编译一些软件时,会提示缺少 libssl.so.1.x,libcrypto.so.1.x,
openssl version #查看openssl版本 ldd /usr/bin/opens #查看其动态链接库文件
#有时候安装了openssl,但还是提示缺少文件,可能时版本不同~使用上面的命令可以检查一下
查看 openssl 安装目录
which openssl
卸载 openssl

使用
apt remove openssl  #卸载openssl rm -rf /etc/ssl #删除配置文件
或者
apt-get purge openssl #卸载openssl rm -rf /etc/ssl #删除配置文件
安装最新的 openssl
apt-get update apt-get-install openssl
安装特定版本的openssl:

特定版本的 openssl 下载地址 https://oomake.com/download/openssl
<https://oomake.com/download/openssl>

下载后放到 Linux 中,随便放到一个目录,建议放到一个目录
#tar zxvf openssl.tar.zip   #要修改压缩包的名称
cd xxxxx              #打开解压后的目录
创建 openssl 目录
mkdir /usr/local/openssl #此目录用于存放编译后的openssl文件
配置 openssl 源代码

这样会把编译的文件和生成的动态链接库放到指定的目录
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
-Wl,-rpath,/usr/local/openssl/lib shared
安装 openssl
make make install
创建软链接
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
使用 ldd /usr/bin/openssl 来检查是否正常。出现 libssl.so.1.x 和 libcrypto.so.1.x 说明正常了



 

<>八,小技巧与工具

1,ZMODEM

上面第 五 已经说了,这里就不列出来了

2,tree
apt-get install tree
可以已树形形式列出目录,试一下输入 tree 命令



指定只列出几层的 “树”
#tree -L N ,N代表层数 tree -L 1 结果:
. ├── aspnetcore-runtime-2.2.3-linux-arm.tar.gz ├── dotnet ├── host ├──
LICENSE.txt ├──shared └── ThirdPartyNotices.txt
 3,alias

假如说,我做了一个.NET Core 软件,要启动这个项目,需要到相应目录下运行 dotnet xxx.dll

如果我想高逼格、公司品牌需要,可以这样
alias 命令名称='dotnet /xxxx.dll'
注意 =号两边没有空格,实例:
alias xfan='dotnet /var/test/ConsoleApp1.dll'
那么,我在终端只输入 xfan 即可 启动项目。如果你不明白 alias 的作用。。。有 Linux 的小伙伴可以看懂下面的内容:
alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='
grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls
='ls --color=auto'
需要注意的是,alias 是临时的,只对当前有效,下次登陆就没用了。

持久化方法:
nano ~/.bashrc
在里面相应位置上,添加你的 alias 命令,例如 alias xfan='dotnet /var/test/ConsoleApp1.dll'

然后,更新文件立即生效
source ~/.bashrc #或者 . ~/bashrc
注意注意,~ 是当前用户的目录路径,只对某个用户有效。

想全局生效、对所有用户都生效:可以编辑 /etc/bashrc 文件

4,arm 开发板更新 gcc/gcc++ | Debain 更新 gcc,无需编译直接更新 gcc

可以看笔者的另一篇文章 https://www.cnblogs.com/whuanle/p/10546634.html
<https://www.cnblogs.com/whuanle/p/10546634.html>

5,树莓派引脚分布



 6,查看 cpu 、内存等消耗
top
然后就可以看到进程消耗的系统资源
#top -p PID号
#例如
top -p 1236
可以查看特定的进程

按 f 键,可以添加或减少显示的项

* 按 空格 键选择或取消显示某项
* 按 Esc 返回监控界面
监控界面,按 e 键,可以更改显示单位,k、m、g、t、p。默认单位 k。

7,关机开机重启、终止命令、后台运行
logout         #退出登陆 exit        #退出登陆 shutdown -h now #马上关机 shutdown -r now
#马上重启 reboot #重启
Ctrl + C,终止当前命令

Ctrl + Z,使当前命令后台运行(可以后台多个命令)

终端输入 fg ,可以打开后台运行的命令(前提是这个命令还在运行、没有结束)

当存在多个后台命令时,输入 fg n (n表示序号),可以打开某个后台的命令。

8,挂载 U 盘

把 u盘 插到 Linux 设备上,要挂载才能使用。下面得命令针对 fat文件系统的 u盘。

查看 u盘编号,记下 u盘 的“Device”, 如 /dev/sda1 
fdisk -l
挂载 U盘 (红色部分根据实际情况修改)
#mount -t vfat Device字符串 要挂载到的目录 mount -t vfat /dev/sda1 /mnt/usb
9,生活解压妙招
rm -rf /*
这条命令一经使用,就会全身放松,减轻疲劳!
rm -rf /* & #加个 & 后台运行,不知不觉
向不会电脑的人装逼:
#Win下 dir /s #Linux下 find / *
上面的两个命令是列出电脑的所有文件,只见电脑飞快出现一堆字符串,其实人畜无害。
cd /&& tree
以树的形式列出所有文件,有得等了~可以装逼

笔者的笔记本电脑坏了,寄去商家修理,这周就只发这篇了~

* 如何使用树莓派的引脚?接 Led 灯、传感器?
* 如何在 vs 2017 上点亮 Led 灯、使用传感器?
* 如何在 vs 2017上创建项目在树莓派上调试?
* 如何使用 .NET Core 进行嵌入式开发(小灯)?
欢迎收看下期预告。。。
个人经验不足,如果出现错误,恳请批评指定,笔者马上修改~

平常还碰到哪些坑,可以联系小编补上~

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信