Linux迷+Python粉 - 智能家庭https://blog.pythonwood.com/2017-12-05T10:12:00+08:00树莓派SD卡Linux系统盘复制,10分钟克隆新机,raspbain备份恢复2017-11-30T15:02:00+08:002017-12-05T10:12:00+08:00pythonwoodtag:blog.pythonwood.com,2017-11-30:/2017/11/树莓派SD卡Linux系统盘复制,10分钟克隆新机/<p>有旧和新树莓派二个,发现<span class="caps">SD</span>卡的raspbian系统可在不同树莓派之间通用,挺好。</p> <h3 id="_1">学通树莓派系统克隆,兼备安装、备份与恢复能力。<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h3> <p>在家里,用了一周时间,将新买的树莓派3,<a href="https://s.click.taobao.com/t?e=m%3D2%26s%3DyO9jlKzcxlwcQipKwQzePOeEDrYVVa64K7Vc7tFgwiHjf2vlNIV67jeJ0D4P3i%2B8UOZr0mLjuses9V29auOuBOBgn3DwXo5fs9cRaxJdiKw3LnkA3bZiA%2F6gPESVKznnDfaTZ11r%2FGF6awgoXsc5TKo%2FiSVAKeldcSpj5qSCmbA%3D&amp;pvid=10_120.239.178.6_72377_1512026724825" title="华趸hdmi转vga线带音频带供电"><span class="caps">HDMI</span>转<span class="caps">VGA</span>带供电</a>(性价比推荐),旧显示屏,旧音箱。组成家庭媒体中心。手机使用bubbleupnp投屏和推送音乐播放 …</p><p>有旧和新树莓派二个,发现<span class="caps">SD</span>卡的raspbian系统可在不同树莓派之间通用,挺好。</p> <h3 id="_1">学通树莓派系统克隆,兼备安装、备份与恢复能力。<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h3> <p>在家里,用了一周时间,将新买的树莓派3,<a href="https://s.click.taobao.com/t?e=m%3D2%26s%3DyO9jlKzcxlwcQipKwQzePOeEDrYVVa64K7Vc7tFgwiHjf2vlNIV67jeJ0D4P3i%2B8UOZr0mLjuses9V29auOuBOBgn3DwXo5fs9cRaxJdiKw3LnkA3bZiA%2F6gPESVKznnDfaTZ11r%2FGF6awgoXsc5TKo%2FiSVAKeldcSpj5qSCmbA%3D&amp;pvid=10_120.239.178.6_72377_1512026724825" title="华趸hdmi转vga线带音频带供电"><span class="caps">HDMI</span>转<span class="caps">VGA</span>带供电</a>(性价比推荐),旧显示屏,旧音箱。组成家庭媒体中心。手机使用bubbleupnp投屏和推送音乐播放,听音乐的享受更舒服了,显示屏再大些就更好。</p> <p><img alt="房间树莓派媒体中心" src="https://blog.pythonwood.com/uploads/2017/房间树莓派媒体中心.jpg" title="房间树莓派媒体中心"></p> <p>在工作室,还有一个树莓派和支持<span class="caps">HDMI</span>输出的投影仪。如果能复制现有树莓派的系统<span class="caps">SD</span>卡,将省事不少。(重复的事应少做)</p> <h3 id="_2">开始折腾尝试<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h3> <p>借助我的个人电脑是ubutnu,可以看见树莓派分区情况,第二个分区14G采用了3G,很多空间是多余的。</p> <p><img alt="gparted看树莓派分区" src="https://blog.pythonwood.com/uploads/2017/gparted看树莓派分区.jpg" title="gparted看树莓派分区"></p> <p>用了1天的不断努力尝试终于才成功,囧。</p> <h3 id="1ddddrescue">失败1:使用<span class="caps">DD</span>或ddrescue<a class="headerlink" href="#1ddddrescue" title="Permanent link">&para;</a></h3> <p>不幸的是我是从14.6G卡克隆到14.4G卡,使用dd失败是注定的。使用dd的必要条件是目标卡要更大。</p> <h3 id="2linuxssdetc">失败2:源自笔记本linux系统迁移<span class="caps">SSD</span>的经验——分区一样,复制文件,改etc配置法。<a class="headerlink" href="#2linuxssdetc" title="Permanent link">&para;</a></h3> <p>linux磁盘迁移,只需分区格式化,复制文件,修改etc下的fstab和udev目录的网卡信息,chroot+grub安装。就能完成。</p> <p>然而实践得知,不适用树莓派迁移。启动时卡在&rdquo;smsc95xx 1-1.1:1.0: eth0: register &lsquo;smsc95xx&rsquo;&nbsp;&hellip;&rdquo;之后。无法启动。</p> <p>比较发现,复制时,不会有dev/by-partuuid/目录,而本身树莓派是有这个目录的。</p> <h3 id="ddrawresize2fsqemu-imgdiskdd">成功:dd读取为raw镜像盘、resize2fs缩容分区、qemu-img缩容disk、dd写入成功启动树莓派<a class="headerlink" href="#ddrawresize2fsqemu-imgdiskdd" title="Permanent link">&para;</a></h3> <h4 id="ddrawsd">先dd读取物理盘为raw格式镜像盘。这样就可以方法搞,最坏情况也不影响已有的系统sd卡内容。<a class="headerlink" href="#ddrawsd" title="Permanent link">&para;</a></h4> <div class="highlight"><pre><span></span>$sudo dd if=/dev/sdb of=/home/16G.img bs=128K </pre></div> <h4 id="loopgparted">挂载loop设备以便于gparted能操作<a class="headerlink" href="#loopgparted" title="Permanent link">&para;</a></h4> <div class="highlight"><pre><span></span>$sudo losetup /dev/loop0 /home/16G.img $sudo partprobe /dev/loop0 # 运行后才会出现分区/dev/loop0p1,/dev/loop0p2 </pre></div> <h4 id="14g6gblock6g">第二分区从14G缩容到6G(实际是把分散的Block数据集中到前6G位置。非真正改变分区大小)<a class="headerlink" href="#14g6gblock6g" title="Permanent link">&para;</a></h4> <div class="highlight"><pre><span></span>$sudo e2fsck -f /dev/loop0p2 $sudo resize2fs /dev/loop0p2 6G </pre></div> <h4 id="gparted-fdisk-6g">GParted / Fdisk 更改第二分区为6G<a class="headerlink" href="#gparted-fdisk-6g" title="Permanent link">&para;</a></h4> <p>GParted&nbsp;/dev/loop0打开,然后选择第二分区右击,选择&rdquo;更改/移动大小&rdquo;。设置。</p> <h4 id="loop">卸载恢复loop设备:<a class="headerlink" href="#loop" title="Permanent link">&para;</a></h4> <div class="highlight"><pre><span></span>$sudo partprobe -d /dev/loop0 $sudo losetup -d /dev/loop0 </pre></div> <h4 id="raw">raw虚拟磁盘缩容<a class="headerlink" href="#raw" title="Permanent link">&para;</a></h4> <div class="highlight"><pre><span></span>$sudo qemu-img resize /home/16G.img -8G $qemu-img info /home/16G.img image: xxx.img file format: raw virtual size: 5.9G (6380060672 bytes) disk size: 5.9G </pre></div> <h4 id="ddsd">使用<span class="caps">DD</span>写入新<span class="caps">SD</span>卡,启动成功。<a class="headerlink" href="#ddsd" title="Permanent link">&para;</a></h4> <p>可选:写入sd后可以用resize2fs扩容分区完全用上<span class="caps">SD</span>卡空间,参考上面缩容。</p> <h3 id="_3">总结提升<a class="headerlink" href="#_3" title="Permanent link">&para;</a></h3> <ol> <li>linux下安装树莓派系统到<span class="caps">SD</span>卡,使用dd刻录后还有剩余空间,用resize2fs可让最后分区来占满。</li> <li>使用dd来备份整个硬盘太慢,可以用resize2fs将数据块移动到前面,parted缩小分区,然后刻录硬盘前面有数据部分即可。这样备份文件就不会臃肿。</li> <li>备份镜像恢复时,过程类似初次安装系统。</li> </ol> <h3 id="_4">参考<a class="headerlink" href="#_4" title="Permanent link">&para;</a></h3> <p>把一块硬盘上的 Linux 系统整个复制到新硬盘上的方法. <a href="https://www.v2ex.com/t/183310">https://www.v2ex.com/t/183310</a></p> <p>openstack文档 <a href="http://docs.ocselected.org/openstack-manuals/kilo/image-guide/content/ch_modifying_images.html#losetup-kpartx-nbd">http://docs.ocselected.org/openstack-manuals/kilo/image-guide/content/ch_modifying_images.html#losetup-kpartx-nbd</a></p> <p>使用qemu-img改变镜像文件大小 <a href="http://niusmallnan.com/_build/html/_templates/knowladge/resize_raw_file.html">http://niusmallnan.com/_build/html/_templates/knowladge/resize_raw_file.html</a></p> <p>笔记本硬盘更换记(使用<span class="caps">LVM</span>进行在线数据迁移) <a href="http://cathay4t.blogspot.hk/2009/05/lvm.html">http://cathay4t.blogspot.hk/2009/05/lvm.html</a></p> <p>新电脑+旧系统:教你在不同机器间转移Linux <a href="http://www.geekfan.net/1860/">http://www.geekfan.net/1860/</a></p> <p>usb-creator-gtk 方法和&nbsp;clonezilla方法没有深入研究。</p>[译]安卓6款最佳DLNA,UPNP流媒体客户端APP2017-11-29T04:12:00+08:002017-11-29T04:12:00+08:00pythonwoodtag:blog.pythonwood.com,2017-11-29:/2017/11/[译]安卓6款最佳DLNA,UPNP流媒体客户端APP/<p><img alt="0" src="https://www.maketecheasier.com/assets/uploads/2017/06/dlna-streaming-android.jpg"></p> <p><span class="caps">DLNA</span>(数字生活网络联盟)是数码生活中一个非常方便简单实用的技术名字。它做了一件伟大的事情,就是连接到支持<span class="caps">DLNA</span>的设备,并通过无线方式无缝传输数据 ——&nbsp;照片,音乐,视频甚至是手机屏幕上的数据。(随时+实时的多屏互动,适合家庭分享)</p> <p>这是一个非常古老而富有活力的格式。曾经,微软和索尼都试图从Xbox One和<span class="caps">PS4</span>上分别去掉这功能 …</p><p><img alt="0" src="https://www.maketecheasier.com/assets/uploads/2017/06/dlna-streaming-android.jpg"></p> <p><span class="caps">DLNA</span>(数字生活网络联盟)是数码生活中一个非常方便简单实用的技术名字。它做了一件伟大的事情,就是连接到支持<span class="caps">DLNA</span>的设备,并通过无线方式无缝传输数据 ——&nbsp;照片,音乐,视频甚至是手机屏幕上的数据。(随时+实时的多屏互动,适合家庭分享)</p> <p>这是一个非常古老而富有活力的格式。曾经,微软和索尼都试图从Xbox One和<span class="caps">PS4</span>上分别去掉这功能,但是由于需求的人众多,后来有重新加入去。所以,让我们高呼<span class="caps">DLNA</span>万岁吧!</p> <p>有部分很好的(也有很多糟糕的)Android应用程序使用<span class="caps">DLNA</span>流媒体技术,所以我们选择了6款最好的<span class="caps">DLNA</span>客户端<span class="caps">APP</span>推荐给你。</p> <h2 id="1-mediamonkey">1. MediaMonkey<a class="headerlink" href="#1-mediamonkey" title="Permanent link">&para;</a></h2> <p><img alt="1" src="https://www.maketecheasier.com/assets/uploads/2017/10/best-dlna-streaming-apps-android-mediamonkey.jpg"></p> <p>MediaMonkey远不只是<span class="caps">DLNA</span>客户端,它还可以让你通过WiFi,UPnP,蓝牙以及<span class="caps">DLNA</span>,在多个设备上同步和流媒体。 特点是整洁的界面和丰富的媒体管理小工具,维护多媒体库 ——&nbsp;包括播放列表管理,批量文件编辑和书签管理等等。</p> <p>遗憾的是你需要支付才能使用额外的部分功能,例如无限制的<span class="caps">DLNA</span>播放器。然而,花点小钱就能得到一个最完整的流媒体应用之一的<span class="caps">APP</span>所有功能,在我们看来还是可接受的。</p> <h2 id="2-airwire">2. Airwire<a class="headerlink" href="#2-airwire" title="Permanent link">&para;</a></h2> <p><img alt="2" src="https://www.maketecheasier.com/assets/uploads/2017/06/airwire-dlna-android.jpg"></p> <p>在苹果商店上Airwire是评分最高的<span class="caps">DLNA</span>应用程序之一。对大部分挑剔的安卓版本用户来说,安卓版airwire仍是投屏到大屏幕上的不错选择。发现设备速度很快,并且保持很好的同步和质量。尽管已经没有更新,AirWire仍然是最可靠的<span class="caps">DLNA</span>流媒体播放选择之一。</p> <p>AirWire兼容多种设备,包括最新的控制台和许多较老的大品牌智能电视。</p> <h2 id="3-bubbleupnp">3. BubbleUPnP(译者推荐)<a class="headerlink" href="#3-bubbleupnp" title="Permanent link">&para;</a></h2> <p><img alt="3" src="https://www.maketecheasier.com/assets/uploads/2017/06/bubbleupnp-android.png"> 安装BubbleUPnP UPnP/<span class="caps">DLNA</span>这款软件,能直接从手机向支持<span class="caps">DLNA</span>的设备广播您的内容。 它支持Chromecast,有<span class="caps">DLNA</span>功能的电视和最新的游戏控制器。&nbsp;除了基本的流媒体功能外,它还具有播放队列,编辑播放列表,刻录,定时睡眠和随机播放模式等各种功能。更令人满意的是,它还有全屏图像查看器和遥控功能。</p> <p>正如好些极客软件一样,不仅好用,而且还不收费!</p> <p><span class="caps">APK</span>下载地址:<a href="https://www.bubblesoftapps.com/bubbleupnpserver/core/BubbleUPnPServerLauncher.apk" title="offical">BubbleUPnP&nbsp;Server官网下载</a></p> <h2 id="4-mediahouse-upnpdlna">4. MediaHouse UPnP/<span class="caps">DLNA</span> 浏览器<a class="headerlink" href="#4-mediahouse-upnpdlna" title="Permanent link">&para;</a></h2> <p><img alt="4" src="https://www.maketecheasier.com/assets/uploads/2017/06/mediahouse-dlna-android.jpg"></p> <p>如果你喜欢有更多功能的<span class="caps">APK</span>,请考察下MediaHouse UPnP/<span class="caps">DLNA</span>浏览器。包含多种<span class="caps">DLNA</span>流媒体功能,用您想要的方式共享视频和音乐。例如,它会自动扫描您的WiFi网络,查看是否有任何<span class="caps">DLNA</span>设备,之后可选连不连接。 它将扫描到的<span class="caps">DLNA</span>设备分为两类,第一类是可以将内容流式传输的设备,第二类是可以从中读取文件的设备。支持为音乐文件创建播放列表,附带图像查看,并可工作在横向模式。</p> <h2 id="5-imediashare-personal">5. iMediaShare Personal<a class="headerlink" href="#5-imediashare-personal" title="Permanent link">&para;</a></h2> <p><img alt="5" src="https://www.maketecheasier.com/assets/uploads/2017/06/imediashare-personal-dlna-android.jpg"></p> <p>如果你想要一个界面炫酷的<span class="caps">DLNA</span>应用程序,那iMediaShare个人版很适合你。 这个<span class="caps">APP</span>可以将数字媒体直接从Android设备(手机/平板)传输到电视机而无需使用任何电缆。 在您的电视上播放媒体时,该<span class="caps">APP</span>还作为您控制媒体的遥控器。&nbsp;支持使用手势来控制播放过程,比如暂停,继续等等。</p> <h2 id="6-allcast">6. AllCast<a class="headerlink" href="#6-allcast" title="Permanent link">&para;</a></h2> <p><img alt="6" src="https://www.maketecheasier.com/assets/uploads/2017/06/allcast-dlna-android.jpg"></p> <p>尽管上面列出的<span class="caps">APP</span>都能将内容流式共享到任何<span class="caps">DLNA</span>设备,但AllCast是其中兼容性最好的。 它可以将媒体流式传输到Chromecast,Amazon Fire <span class="caps">TV</span>,Apple <span class="caps">TV</span>,Xbox 360和Xbox One,<span class="caps">PS4</span>以及其他所有支持<span class="caps">DLNA</span>的设备。&nbsp;它也可以让你从你的Dropbox输入,直接读取视频流内容,无需先下载。</p> <h2 id="_1">结论<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2> <p>只需让老旧硬盘通过无线你就可以做这么美好的事情。设置<span class="caps">DLNA</span>可能听起来有点复杂,只是因为它是一个长的复杂的技术术语,但它其实真的很容易。 以上应用程序都非常好,挑选最适合您的那个<span class="caps">DLNA</span>客户端<span class="caps">APP</span>,然后按照屏幕指示操作,你就向无线媒体中心型的数码生活更进一步了。</p>