diff --git a/README.md b/README.md index 1c254a4..52b5ccf 100644 --- a/README.md +++ b/README.md @@ -2,27 +2,47 @@ ![hamonikr-sun](https://img.shields.io/badge/hamonikr-sun-green) ![hamonikr-jin](https://img.shields.io/badge/hamonikr-jin-purple) -## systemback +# systemback -Upstream : https://github.com/fconidi/Systemback_source-1.9.4 +systemback 프로그램을 하모니카에서 사용할 수 있도록 새롭게 빌드한 프로젝트입니다. + - upstream : https://github.com/fconidi/Systemback_source-1.9.4 -systemback 프로그램을 하모니카에서 사용할 수 있도록 새롭게 빌드한 프로젝트. +이 프로그램은 초보자도 쉽게 자신만의 ISO 이미지를 만들어서 배포할 수 있는 프로그램으로 +사용중인 자신의 PC 환경을 라이브 이미지로 제작할 수 있는 기능을 제공합니다. -- 초보자도 쉽게 자신만의 ISO 이미지를 만들어서 배포할 수 있는 프로그램 -- 사용중인 자신의 PC 환경을 라이브 이미지로 제작할 수 있는 기능 제공 -- 자신이 수정한 자신만의 환경으로 다른 PC에 설치할수 있는 ISO 이미지를 쉽게 - 제작가능 -- 한글 인터페이스를 지원하도록 기능 추가 -- 하모니카 3.0 에서 빌드하고 검증완료 (Ubuntu 18.04, LinuxMint 19.01 지원) -- 하모니카 4.0 에서 검증완료 (Ubuntu 20.04, LinuxMint 20.01 지원) +자신이 추가한 프로그램을 포함해서 자신만의 환경으로 설정된 USB를 제작해서 +어디서나 동일한 자신만의 PC 환경을 사용할 수 있으며 +이 시스템을 다른 PC에 설치할수 있는 기능을 포함하고 있습니다. +### 주요 기능 개선 내용 +- 하모니카 3.0 지원 (Ubuntu 18.04, LinuxMint 19.01 지원) +- 하모니카 4.0 지원 (Ubuntu 20.04, LinuxMint 20.01 지원) +- `한글 프로그램 인터페이스 지원` +- `라이브 USB로 부팅 후 쓰기 기능 지원` (라이브 부팅 후 바탕화면에 생성된 `SBLIVE` 폴더에 저장하면 부팅해도 내용을 유지) +- `usb persistent 기능을 기본으로 제공`하고, ISO 변환하기 기능 비활성화 + + +## 백업하기 +* `라이브 시스템 생성` 버튼을 누르면 현재 사용 중인 시스템의 스냅샷을 생성합니다. ![screen1](doc/systemback-1.png) - ![screen2](doc/systemback-2.png) -## 설치 +## 복원하기 +* `시스템 설치` 버튼을 클릭하면 저장된 스냅샷을 하드디스크에 복원합니다. 새로 설치할 시스템의 계정 정보를 입력하고 다음을 누르세요. + +![screen3](doc/systemback-3.png) + +* 자신의 하드디스크에 설치할 파티션을 선택하고 마운트 지점을 선택한 후 `엔터`를 누르면 적용됩니다. +* EFI 파티션을 복구하는 경우에는 부트로더 설치를 선택할 수 있습니다. + +![screen4](doc/systemback-4.png) + +보다 사용법은 커뮤니티의 링크를 참고하세요. +https://hamonikr.org/used_hamonikr/95052 + +## 프로그램 설치 ### HamoniKR OS 사용자의 경우 ``` @@ -38,10 +58,13 @@ curl -sL https://pkg.hamonikr.org/add-hamonikr.apt | sudo -E bash - sudo apt install systemback ``` -## clean remove pkg +## 프로그램 삭제 +터미널에서 다음과 같이 입력합니다. + ``` sudo apt purge -y systemback systemback-cli systemback-scheduler systemback-locales libsystemback systemback-efiboot-amd64 ``` ## 이슈 또는 버그 사용 중 문제를 발견하시면 root@hamonikr.org 또는 https://hamonikr.org 에서 알려주세요. + diff --git a/debian/changelog b/debian/changelog index 09bf5d1..45bc62b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +systemback (1.9.4hamonikr4) jin; urgency=low + + * Change USB Filesystem as ext4 + + -- HamoniKR Fri, 16 Apr 2021 16:20:48 +0900 + systemback (1.9.4hamonikr3) jin; urgency=low * Disable ISO convert feature for persistent usb diff --git a/doc/systemback-1.png b/doc/systemback-1.png deleted file mode 100644 index 8b84f22..0000000 Binary files a/doc/systemback-1.png and /dev/null differ diff --git a/doc/systemback-1.png.png b/doc/systemback-1.png.png new file mode 100644 index 0000000..ff544a6 Binary files /dev/null and b/doc/systemback-1.png.png differ diff --git a/doc/systemback-2.png b/doc/systemback-2.png deleted file mode 100644 index c86f608..0000000 Binary files a/doc/systemback-2.png and /dev/null differ diff --git a/doc/systemback-2.png.png b/doc/systemback-2.png.png new file mode 100644 index 0000000..17a0e7d Binary files /dev/null and b/doc/systemback-2.png.png differ diff --git a/doc/systemback-3.png b/doc/systemback-3.png new file mode 100644 index 0000000..aa4ffc5 Binary files /dev/null and b/doc/systemback-3.png differ diff --git a/doc/systemback-4.png b/doc/systemback-4.png new file mode 100644 index 0000000..304db03 Binary files /dev/null and b/doc/systemback-4.png differ diff --git a/systemback/systemback.cpp b/systemback/systemback.cpp index 04f7b1c..33f0302 100644 --- a/systemback/systemback.cpp +++ b/systemback/systemback.cpp @@ -2647,7 +2647,8 @@ void systemback::livewrite() { if(! (sb::mkpart(ldev, 1048576, 104857600) && sb::mkpart(ldev)) || intrrpt) return err(338); sb::delay(100); - if(sb::exec("mkfs.ext2 -FL SBROOT " % ldev % (ismmc ? "p" : nullptr) % '2') || intrrpt) return err(338); + // if(sb::exec("mkfs.ext2 -FL SBROOT " % ldev % (ismmc ? "p" : nullptr) % '2') || intrrpt) return err(338); + if(sb::exec("mkfs.ext4 -FL SBROOT " % ldev % (ismmc ? "p" : nullptr) % '2') || intrrpt) return err(338); lrdir = "sbroot"; } @@ -7238,7 +7239,7 @@ void systemback::on_livenew_clicked() // Fix : casper boot fail bug if(sb::isfile("/usr/share/initramfs-tools/scripts/casper")) { - sb::exec("sed -i -E 's/(panic \"\/cow)(.+)/true/g' /usr/share/initramfs-tools/scripts/casper"); + sb::exec("sed -i -E 's/(panic \"/cow)(.+)/true/g' /usr/share/initramfs-tools/scripts/casper"); } if(did.isEmpty()) did = "Ubuntu"; @@ -7274,7 +7275,7 @@ void systemback::on_livenew_clicked() sb::crtfile("/usr/share/initramfs-tools/scripts/init-bottom/sbfinstall", [this]() -> QStr { QStr ftxt("#!/bin/sh\nif [ \"$1\" != prereqs ] && grep finstall /proc/cmdline >/dev/null 2>&1\nthen\nif [ -f /root/home/" % guname() % "/.config/autostart/dropbox.desktop ]\nthen rm /root/home/" % guname() % "/.config/autostart/dropbox.desktop\nfi\nif [ -f /root/usr/bin/ksplashqml ]\nthen\nchmod -x /root/usr/bin/ksplash* /root/usr/bin/plasma*\nif [ -f /root/usr/share/autostart/plasma-desktop.desktop ]\nthen mv /root/usr/share/autostart/plasma-desktop.desktop /root/usr/share/autostart/plasma-desktop.desktop_\nfi\nif [ -f /root/usr/share/autostart/plasma-netbook.desktop ]\nthen mv /root/usr/share/autostart/plasma-netbook.desktop /root/usr/share/autostart/plasma-netbook.desktop_\nfi\nfi\n"); - for(uchar a(0) ; a < 6 ; ++a) + for(uchar a(0) ; a < 5 ; ++a) { QStr fpath("/etc/" % [a]() -> QStr { switch(a) { @@ -7288,8 +7289,6 @@ void systemback::on_livenew_clicked() return "gdm/custom.conf"; case 4: return "gdm3/daemon.conf"; - case 5: - return "lightdm/lightdm.conf.d/90-hamonikr.conf"; default: return "mdm/mdm.conf"; } @@ -7303,8 +7302,6 @@ void systemback::on_livenew_clicked() return "sed -ir -e \"s/^#?AutoLoginEnable=.*\\$/AutoLoginEnable=true/\" -e \"s/^#?AutoLoginUser=.*\\$/AutoLoginUser=" % guname() % "/\" -e \"s/^#?AutoReLogin=.*\\$/AutoReLogin=true/\" /root/etc/kde4/kdm/kdmrc"; case 2: return "cat << EOF >/root/etc/sddm.conf\n[Autologin]\nUser=" % guname() % "\nSession=plasma.desktop\nEOF"; - case 5: - return "cat << EOF >/root/etc/lightdm/lightdm.conf.d/90-hamonikr.conf\n[SeatDefaults]\nautologin-guest=false\nautologin-user=" % guname() % "\nautologin-user-timeout=0\nautologin-session=lightdm-autologin\nEOF"; default: return "cat << EOF >/root" % fpath % "\n[daemon]\nAutomaticLoginEnable=True\nAutomaticLogin=" % guname() % "\nEOF"; }