在装ubuntu的过程中,boot默认设置成了200M,不过200M对存放内核来说是不够用的,所以容易出现更新内核容量不够,更新initrd容量不够等问题
这里说明怎么扩容boot分区。
root@ywen233:~# lsblk sda 8:0 0 111.6G 0 disk ├─sda1 8:1 0 94M 0 part /boot/efi ├─sda2 8:2 0 191M 0 part └─sda3 8:3 0 111.3G 0 part / sdb 8:16 0 931.5G 0 disk ├─sdb1 8:17 0 193.4G 0 part ├─sdb2 8:18 0 403.6G 0 part ├─sdb3 8:19 0 513M 0 part ├─sdb4 8:20 0 2G 0 part /boot └─sdb5 8:21 0 332.1G 0 part
通过fdisk可以创建一个2G的分区
fdisk /dev/sdb n 4 /dev/sdb4 2048 4095999 4093952 2G Linux 文件系统 w
将原boot文件放到新的分区下
mkfs.ext4 /dev/sdb4 mount /dev/sdb4 /mnt cp -rf /boot/ /mnt
修改fstab为新的boot分区
root@ywen233:~# ls -lh /dev/disk/by-uuid/ | grep sdb4 lrwxrwxrwx 1 root root 10 3月 30 14:57 2ba486d2-9605-49dc-a8cf-4f27b1fcbc71 -> ../../sdb4 vim /etc/fstab UUID=2ba486d2-9605-49dc-a8cf-4f27b1fcbc71 /boot ext4 defaults 0 2
然后重启即可。
[name] --共享的名字 comment=this is Linux share directory --说明 path=/home/share --目录路径 public=yes --是否可见,no为看不到 read only=yes --是否只读 create mode=0700 --建立的文件默认的权限掩码 directory mode=0755 --如果有可写权限,建立的目录默认的权限掩码 guest ok = yes --来宾是否可见,和public是差不多的 browseable = yes--指定该共享是否可被浏览 writable=yes --是否允许用户在此目录下可写,no为不可些,如果可写,还需要目录具有w权限 [work] comment=this is Linux share directory path=/root/ public=yes read only=yes create mode=0777 directory mode=0777 guest ok = yes browseable = yes writeable = yes
sudo vim /etc/samba/smb.conf
在配置文件的“[global]”节的最后,加上下面三条设置:
follow symlinks = yes wide links = yes unix extensions = no
然后保存退出,最后重启下samba
sudo /etc/init.d/samba restart
sudo cp /usr/share/samba/smb.conf /etc/samba/
需要增加
security = user map to guest = Bad User
然后用 testparm smb.conf 测试conf是否正常
在平时调试过程中,经常会遇到编译的-O参数选择问题,作为这个小知识点,通过查阅资料,学习,总结如下:
总共的选项包括:-O/-O1, -O2, -O3, -O0, -Os, -Ofast, -Og, -Oz
-O/-O1 相对于O0,减少了代码体积,提升性能 代价是花费更多的编译时间和内存 -O2 相对于O1,花费较多的编译时间和内存空间,尽可能的提升代码的性能。增加的参数在参考链接可查 -O3 在O2上更进一步优化,花费更多的编译时间和更多的内存,但不保证代码因为优化导致的异常运行 -O0 默认选择的优化,其编译耗时最短,但也尽量开启了一下优化 -Os 在O2基础上,取消了对于空间换性能的参数,来追求二进制的体积 -Ofast 在O3上,启动更多的优化,比O3优化更不可靠 -Og 优化调试体验,在O1上去除了一些干扰调试的参数 -Oz 更加极致的优化空间,通过更多的指令才换取更小的二进制
参考:
# 设置log等级 ffmpeg -y -loglevel 48 # 软编码 ffmpeg -y -f v4l2 -channel 0 -video_size 640x480 -i /dev/video10 \ -r 60 -b:v 1500k -c:v libx264 test.mp4 •可用的bit流 :ffmpeg -bsfs •可用的编解码器:ffmpeg -codecs •可用的解码器:ffmpeg -decoders •可用的编码器:ffmpeg -encoders •可用的过滤器:ffmpeg -filters •可用的视频格式:ffmpeg -formats •可用的声道布局:ffmpeg -layouts •可用的license:ffmpeg -L •可用的像素格式:ffmpeg -pix_fmts •可用的协议:ffmpeg -protocols ffmpeg -decoders | grep "^ V" ffmpeg -encoders | grep "^ V" # 播放rtsp地址 rtsp://172.25.81.135:554/user=admin&password=&channel=1&stream=0.dsp? 是rtsp播放地址 ffplay -vcodec h264_rkmpp -rtsp_transport tcp "rtsp://172.25.81.135:554/user=admin&password=&channel=1&stream=0.dsp?"
RTSP 简易服务器
./rtsp-simple-server 运行服务器 ffmpeg -re -i Forrest_Gump_IMAX.mp4 -c copy -f rtsp rtsp://localhost:8554/test_stream 推流 ffplay -rtsp_transport tcp "rtsp://172.25.80.136:8554/test_stream" 播放
# gst-launch 播放视频(h264) gst-launch-1.0 filesrc location=/home/kylin/Forrest_Gump_IMAX.mp4 \ ! qtdemux ! h264parse ! mppvideodec ! rkximagesink # 播放测试视频 gst-launch-1.0 -v videotestsrc pattern=snow ! video/x-raw,\ width=1280,heigh=720 ! rkximagesink # uridecodebin 播放视频 gst-launch-1.0 uridecodebin \ uri=file:///home/kylin/Forrest_Gump_IMAX.mp4 ! rkximagesink # 用mpph264enc编码测试视频为ts gst-launch-1.0 videotestsrc num-buffers=512 ! \ video/x-raw,format=NV12,width=1920,height= 1080,framerate=30/1 ! \ queue ! mpph264enc ! queue ! h264parse ! mpegtsmux ! \ filesink location=/home/kylin/2k.ts # 编码h264 gst-launch-1.0 -v uridecodebin \ uri=file:///home/kylin/Forrest_Gump_IMAX.mp4 ! queue ! \ videoconvert ! mpph264enc ! mpegtsmux ! filesink location=out.h264 # 编码vp8 gst-launch-1.0 -v uridecodebin \ uri=file:///home/kylin/Forrest_Gump_IMAX.mp4 ! queue ! \ videoconvert ! mppvp8enc ! qtmux ! filesink location=out.vp8 # 播放 gst-launch-1.0 uridecodebin uri=file:///home/kylin/out.vp8 ! \ rkximagesink gst-launch-1.0 uridecodebin uri=file:///home/kylin/out.h264 ! \ rkximagesink # jpeg编解码 gst-launch-1.0 -v videotestsrc ! \ "video/x-raw,width=1920,height=1080" ! queue ! jpegenc ! queue ! \ jpegparse ! queue ! mppjpegdec ! rkximagesink gst-launch-1.0 -v videotestsrc ! \ "video/x-raw,width=1920,height=1080" ! queue ! mppjpegenc ! \ queue ! jpegparse ! queue ! jpegdec ! xvimagesink # 播放rtsp地址 rtsp://172.25.81.135:554/user=admin&password=&channel=1&stream=0.dsp? 是rtsp播放地址 gst-launch-1.0 playbin uri="rtsp://172.25.81.135:554/user=admin&password=&channel=1&stream=0.dsp?"
对于在Linux上测试TCP/IP的端口是否连通,这里可以使用nc和ss命令搭配。方法很简单,如下:
sudo nc -lu 554
nc -uv 172.25.80.122 554
如果这时候正常了,也就可以利用了udp的554端口进行通信了。
554端口的机器:
~# ss -u Recv-Q Send-Q Local Address:Port Peer Address:Port Process 0 0 172.25.80.122:rtsp 172.25.80.124:36471
连接554端口的机器:
~$ ss -u Recv-Q Send-Q Local Address:Port Peer Address:Port Process 0 0 172.25.80.124:36471 172.25.80.122:rtsp
tcp的判断方法很多,如果通过nc命令,与上述差不多,只需要把u改成t就行。
sudo nc -lt 554 nc -tv 172.25.80.122 554
其他方法就不列举了。