Living a Simple Life is a Happy Life

有饭吃,自由自在,就非常开心

How to Resize Partition on Linux

| Comments

之前操作Linux,扩容已有分区,一直是手工fdisk删除分区重建搞定的,这种方式不直观且容易出错;最近采用parted操作了以下,发现很直观;

比如我要对 /dev/sda1 从 100GB,扩容至200GB,操作如下

查看当前分区情况

1
2
3
4
5
6
7
# 进入 parted 工具
$ sudo parted
GNU Parted 3.4
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
# 查看磁盘信息
(parted) print /dev/sda

我只有 /dev/sda1 一个分区,因此很好办

根分区扩容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 进入 parted 工具
$ sudo parted /dev/sda
# 查看磁盘信息
(parted) print
# 此时应该只有一个分区,直接扩展这个分区
(parted)resizepart 1
Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?
# 直接输入 yes 确认
Yes/No? yes
# 输入新的结束点
# 这里输入的数值,就是上方输出中 Disk: 后方的数值
End?  [200GB]? 200GB
# 扩展完成之后退出 parted
(parted) quit

用resize2fs 工具扩展文件系统

1
$ sudo resize2fs /dev/sda1

不出意外,应该搞定了;

注意事项

扩容之前,最好用 lsof 查看以下扩容分区,把所有的读写进程都停掉,如果条件允许,umount 这个分区再扩容,更加安全

新纪元共鸣:智能的觉醒-V2

| Comments

基于上一个小说扩写大师; 我将 <新纪元共鸣:智能的觉醒> 这篇文章扩写了一下;

对话的完整过程在这里

这个版本是第二版,虽然有了明显的进步,但是离一篇成熟的作品还很远,我认为目前的ChatGPT能力下,还有许多能够提升的空间;

但是,与其继续优化Promots和交互来提升,我更倾向于提升ChatGPT的能力来做这件事,我期待着GPT5的到来;

文中配图用Dalle3生成;

新纪元共鸣:智能的觉醒

| Comments

ChatGPT4目前最大的限制是输出Token数目,目前一次最多输出1000个Token左右;虽然可以通过切割章节等手段规避,但是目前很难一口气写出情节连贯的故事;同样的,它也没有办法分析中等代码量的一整个编程项目;

这是一篇chatGPT4写的科幻小说,平铺直叙就像说明文,只能算第一版,我希望能找到更好的跟AI交互的方法,用更细致的promots把它改写成一篇引人入胜的故事;

How to Setup Your ownAI With Ollama

| Comments

AI大潮汹涌,一年时间,各种大模型层出不穷;用多了ChatGPT,自然想要自己本地搭建一个,看看单机版大模型的表现如何;

目前最简单的,还是用ollama,简单记录一下本地搭建流程。

比特币,AI,以及共产主义

| Comments

从中学的政治课本里面,就一直强调共产主义是我们社会发展的高级形态;但是共产主义社会到底是什么样子的?国家制度什么样子的,婚配制度什么样子的?还有没有警察局,还有没有死刑,还有没有法院….没有人能说清;

但是所有的课本上,所有的理论家,都信誓旦旦的预言,共产主义会实现 生产力极大发展,财产公有,按需分配

这个财产公有,按需分配 ,一直是我的最大疑惑;人性是贪婪无度的,基因是自私的,把自己的东西白送给集体违背人性;也许在某个时期,在某些领袖的权威和人格魅力感染之下,会部分实现这个按需分配,但是长时间的维系这个制度,我是很怀疑的;

而且这个美好的前景的最大漏洞在于: 按需分配,谁来分配呢?怎么保证这个分配者不会腐化呢?

原来我是一直对于这个财产公有,按需分配有怀疑的,毕竟人类自私的基因是几千万年来优胜劣汰留下来的,很难想象会通过某种制度发生改变;

Enable /etc/rc.local With Systemd on Ubuntu 20.04

| Comments

setup systemd service file

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sudo vi /etc/systemd/system/rc-local.service


[Unit]
 Description=/etc/rc.local Compatibility
 ConditionPathExists=/etc/rc.local
[Service]
 Type=forking
 ExecStart=/etc/rc.local start
 TimeoutSec=0
 StandardOutput=tty
 RemainAfterExit=yes
 SysVStartPriority=99
[Install]
 WantedBy=multi-user.target

enable systemd service

1
sudo systemctl enable rc-local

create rc.local

1
2
3
4
5
6
7
sudo vi /etc/rc.local

#!/bin/bash
...


sudo chmod +x /etc/rc.local

Ios Dev and Xcode Cheat

| Comments

自学Swfit开发了一个App,记录一下坑:

  • Swift和ObjectC混编的时候,检查 ProjectName--Bridging-Header.h 文件是否被指定为桥接文件 : Target-> Build Settings ->Swift Compiler -> Install Object-C Compatibility Header 设置为Yes, Target->Build Settings -> Swift Compiler ->Object-C Briding Header 是否设置为这个文件

  • xxx-Bridging-header.h 文件内容一般是 swift的头文件和公共的头文件,内容一般是

1
#import "xxx.h"
  • 当引用类似 #import "happynet-Swfit.h" 提示找不到的时候, 请检查引用次序,类似:
1
2
3
4
5
@import TestDylib;

#include "xxx-Swift.h"

#import "xxxmanager.h"
  • 编译提示少符号的时候,检查 Target-> Build Phases-> Compile Sources 是否把所有文件添加进去了
  • 调试第三方库,例如Tunnel的时候,先用 Debug->Attach To Process by PID Or Name 挂载进程
  • 如果是线程错误,xcode会弹出一个Text Table,显示汇编指令哪一行有问题,同时临近的Table回显示代码文件中对应的哪一行,一般是淡绿色标注那一行
  • 如果出现莫名其妙的编译错误,先Build -> Clean Build xxx;清理一下,重新编译试试