
我考虑的方案是:1用光盘中的Gparted修改分区大小,把/分区缩小,删除一个swap分区,并与/分区缩小的空间合并,作为/home的空间;
2挂载硬盘上ubuntu系统的/分区;
3修改fstab文件对应的条款,使系统开机后能正常挂载修改后的分区;
4挂载/home分区;
我打算这样分,如有不对,请各位留言指教。下面开始说说具体 *** 作:
a用desktop光盘进入试用ubuntu,然后选择Gparted,查看sdc的分区,如上所示,两个swap分区(sdc7和sdc9,这里我的机器只启用了sdc9,sdc7没用,之前说了swap 5G的情况,我还要研究一下哈),一个/分区(sdc8),选中sdc9右键,停止使用该swap分区,然后删除。选中Gparted上面那个勾进行删除 *** 作。(ps:如果这里你直接删除sdc7,系统会报错,提示你只能删除sdc7之后的分区,应该是按起始磁头的缘故,只能从最后开始往前一个分区一个分区的删除。修改一个分区之后最好就进行一次 *** 作,不要一起修改后再 *** 作,以免出现数据错误。)删除sdc9之后,原sdc9的空间就显示为未分配,接着选中/分区,右键选择修改分区大小,然后缩小/分区,点勾,可能要等一会儿,之后/分区大小就改变了,腾出的空间也显示为未分配空间并与之前swap分区未分配空间合并(PS:大家注意下这。我之后又缩小了一次/的大小,弄的/只剩下300M可以使用,结果这次杯具出问题了,在登录系统窗口出现了GNOME电源管理器配置问题,无法进入X,只能登录命令行,在文本模式下输入sudo dpkg --configure -a修复,reboot,还是不行,查阅了下资料,原来是因为/分区剩余空间太小了,最后只有增加/的大小才解决),右键点击sdc7,选择启用该swap分区;
b分区大小修改完毕,然后在terminal输入:
sudo mkdir /mnt/sd8 在/mnt下新建个sd8文件夹,用于挂载/dev/sdc8;
sudo mount /dev/sdc8 /mnt/sd8 挂载/dev/sdc8;
c在terminal输入:
sudo blkid 查看分区UUID(ps:UUID我在这就不解释了,因为我修改了分区大小,所以可能导致UUID发生变化,因此查看下UUID,以便修改fstab)
sudo gedit /mnt/sd8/etc/fstab 打开fstab文件,如果fstab不知道该如何 *** 作的可以看看我之前转帖的文章,不难的;
fstab文件显示自动挂载的分区有prop、/dev/sdc8、/dev/sdc9;把sdc9改为sdc7,并修改fstab中的sdc8和sdc7的UUID,保存。重启电脑进入系统。修改之后我进入了系统,烧了会机,没发现什么问题,应该是OK了。
d昨天晚上回去 *** 作了,单独挂载了/home分区,分出来的剩余空间觉得小了,于是把sdc5格式化为ext4后分给了/home,以下 *** 作最好在文本模式下进行:
sudo mkdir /mnt/home 建立个新文件夹;
sudo mount /dev/sdc5 /mnt/home 把sdc5挂载到/mnt/home下;
sudo chmod -R santi /mnt/home 设置/home的所有者为santi;
sudo cp -a /home/ /mnt/home 把/home目录下的所有文件包括隐藏文件拷贝到/mnt/home下,时间根据文件大小决定,可能要等个一会儿;ps:这部最好在文本模式下,如果在X下,可能会提示gvfs权限不够
sudo mv /home /homeold 把之前/home改名为/homeold;
sudo blkid 查看UUID;
sudo umount /dev/sdc5 卸载sdc5;
sudo mkdir /home 在/分区下新建一个home文件夹;
sudo mount /dev/sdc5 /home 挂载sdc5到新的home文件夹;
sudo cp /etc/fstab /etc/fstabbackup 修改fstab文件之前备份,以防万一;
sudo gedit /etc/fstab 修改fstab文件,以便开启自动挂载新的/home;
在fstab中/分区挂载点下添加一行,如下:
{
# this is for new /home mounting
UUID=xxxxxxx /home ext4 defaults 0 0
xxxx这里为我的dev/sdc5的UUID,通过上面运行blkid可以查看UUID
}
保存,reboot系统。
重启之后进入系统烧一会机,如果没有问题就可以把/homeold文件夹删除了,你也可以用tar命令备份一下/homeold文件夹,以便日后有问题可以恢复,假如我这里本分到/dev/sdcx,并且sdcx已经自动挂载好,如果没有挂载好请用mount挂载,命令如下:
sudo tar -zcvf /dev/sdcx/homeoldtargz /homeold 备份/homeold的文件;
sudo rmdir /homeold 删除/homeold文件夹,如果提示文件夹不能为空,请在rmdir后加入参数--ignore-fail-on-non-empty;
全部 *** 作完成,有可能按以上 *** 作会出现些小问题,请根据提示改变 *** 作步骤或则增加参数。
设计时通过将请求和响应之间的不同部分隔离来让事情变得简单。保持简单的规则让我们能更关注在一些更大的更困难的问题上。
请求和响应将解决一个特定的资源或集合。使用路径(path)来表明身份,body来传输内容(content)还有头信息(header)来传递元数据(metadata)。查询参数同样可以用来传递头信息的内容,但头信息是首选,因为他们更灵活、更能传达不同的信息。
所有的访问API行为,都需要用TLS通过安全连接来访问。没有必要搞清或解释什么情况需要TLS 什么情况不需要TLS,直接强制任何访问都要通过 TLS。
理想状态下,通过拒绝所有非TLS请求,不响应>
new ScanFilterBuilder()setServiceUuid(ParcelUuidfromString("00007777-0000-1000-8000-00805f9b34fb");
此时可以根据mandufacturerData来匹配自己设定的外围设备
在BluetoothGattCallback中的关于此问题有三步回调
1、 public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState)
2、 public void onServicesDiscovered(BluetoothGatt gatt, int status)
mBluetoothGattdiscoverServices()执行后得到的callback,如果状态为GATT_SUCCESS,则可以获取ble旁支发起广播的service和descriptor,把广播设为enable
3、 public void onDescriptorWrite(BluetoothGatt gatt, BluetoothGattDescriptor descriptor, int status)
只有这一步status == BluetoothGattGATT_SUCCESS,才可以真正的传输数据,如果在第一步或者第二步就开始传输数据,会在某些特定的case下导致未知的bug或者空指针错误
所以,在中心设备跟外围开始连接后,你可以设定一个超时时间,在超时时间过后,依然没能回调onDescriptorWrite并获得BluetoothGattGATT_SUCCESS,则此次过程失败,你可以根据实际情况进行重连或者提示错误
如果要传输大于20字节的数据怎么办?
1、 系统mtu可以支持修改到512字节,完成大数据量的传输。但是由于涉及到中心和旁支都需要修改,会造成很大的局限性和底层修改量,而且会触发比如某些设备第一次修改不生效,另一个设备一次连接中只能修改一次等bug,非常不可取,十分不建议。
2、分包传输,自己设计协议分包传输是最可取的方案,需要注意的是在分包后,每一个包之间写入数据需要设置间隔,比如100ms。
在做好5和6的基础上,依然会在一些设备上出现,由于系统原因,ble刚开始的发送第一个数据出现丢包,请对此做出特殊处理。
以上就是关于ubuntu home快满了,如何从其他分区腾出空间给home全部的内容,包括:ubuntu home快满了,如何从其他分区腾出空间给home、API 设计规范、Android ble (蓝牙低功耗) 中的坑和技巧等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)