Macam sudah tak ada kerja sangat. Sebolehnya cuba macam-macam walaupun tak digunakan dan tak diperlukan.
Kali ini cuba pasang FreeBSD pula sebagai VM dengan menggunakan Virt-Manager
melalui libvirt
. Seperti biasa; hos-nya Arch Linux, tetamu-nya FreeBSD.
Berbanding sistem-sistem lain yang tiada masalah untuk berkongsi fail / direktori, dengan FreeBSD ini ada isu pula, iaitu:-
NFS
tak berjaya. Mungkin masalahnya adalah pada konfigurasi.Custom Kernel
untuk VirtFS di sistem tetamu FreeBSD tak berjaya.qcow2
untuk FreeBSD ini di sistem hos pula; sistem berformat UFS ini hanya boleh dibaca, tiada akses menulis bagi-nya.Jalan terakhir (last resort) yang mampu difikirkan, setup git di kedua-dua sistem.
Atau kalau tidak mahu susah-susah set up git, boleh juga manfaatkan simpanan awan (cloud storage) yang tumbuh bak cendawan dewasa ini.
Pastikan tetapan bagi cakera maya
-nya adalah seperti berikut:-
Untuk Virtual Network Interface
pula, pastikan yang berikut:-
Link state
-nya aktif.Biarkan installer yang menjalankan kerja untuk berhubung dengan rangkaian Internet.
Exit
.
Kemudian di bahagian Manual Configuration, pilih <YES>
untuk berada di dalam situasi chroot
.chroot
Boleh rujuk hantaran saya yang lain di QEMU/KVM, FreeBSD & ZFS#Chroot.
chroot
apabila habis urusan:-exit
<Live CD>
. Login sebagai root, dan tutup sistem dengan baris berikut:-shutdown -p now
virt-manager
, dan berlaku sekatan di 'sleeping for retry'.Tekan Ctrl + C
untuk login di tty
.
Kemudian, masuk semula sebagai root dan tutup sistem dengan perintah baris seperti yang dinyatakan sebelum ini.
Sesudah itu, bolehlah buang CDROM yang ditambah untuk pemasangan tadi dan jalankan semula sistem FreeBSD di sistem maya dengan virt-manager
.
visudo
bagi menambah pengguna ke dalam sudo
.shell
kepada zsh
.chsh -s /usr/local/bin/zsh user
pwd
untuk memastikan pengguna di dalam direktori mana. Pastikan berada di /home/user
, atau dua istilah lainnya adalah $HOME
atau ~
.~/.xinitrc
dengan arahan berikut:-echo ". /usr/local/etc/xdg/xfce4/xinitrc" > .xinitrc
chmod +rx .xinitrc
tty
,startx
Arch
, jalankan virt-viewer
sebagai superuser untuk memudahkan proses melihat skrin penuh hanya dengan menekan papan kekunci F11
.fbsd-share
untuk kegunaan berkongsi fail ini.git config --global user.name "nama-pengguna"
git config --global user.email "alamat-emel-pengguna"
git config --global pull.rebase false
.ssh
di $HOME
.mkdir .ssh
SSH
:-ssh-keygen -f .ssh/id_rsa.fbsd-share
Seandainya menggunakan GitHub, pergi ke:-
~/.ssh/id_rsa.fbsd-share.pub
dan tandakan kotak 'Allow write access'.~/.ssh/id_rsa.fbsd-share.pub
dan tandakan kotak 'Write access allowed'..ssh/config
.# akaun untuk berkongsi fail di antara hos Arch dan tetamu FreeBSD di GitHub
Host github.com-fbsd-share
HostName github.com
User pengguna
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa.fbsd-share
# akaun untuk berkongsi fail di antara hos Arch dan tetamu FreeBSD di GitLab
Host gitlab.com-fbsd-share
HostName gitlab.com
User pengguna
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa.fbsd-share
git clone git@github.com-fbsd-share:pengguna/fbsd-share.git
git clone git@gitlab.com-fbsd-share:pengguna/fbsd-share.git
github.com-fbsd-share
atau gitlab.com-fbsd-share
selepas git@
adalah sama dengan Host
yang di-highlight-kan di fail .ssh/config
di atas.Cloning into 'fbsd-share'...
The authenticity of host 'gitlab.com (172.65.251.78)' can't be established.
ECDSA key fingerprint is SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw.
No matching host key fingerprint found in DNS.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitlab.com' (ECDSA) to the list of known hosts.
remote: Enumerating objects: 59, done.
remote: Counting objects: 100% (59/59), done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 59 (delta 25), reused 32 (delta 9), pack-reused 0
Receiving objects: 100% (59/59), 18.04 KiB | 1.06 MiB/s, done.
Resolving deltas: 100% (25/25), done.
commit
sebagai satu skrip zsh
seperti berikut:-#!/usr/bin/env zsh
# Add changes to git.
git add .
# Commit changes.
msg="update `date`"
if [ $# -eq 1 ]
then msg="$1"
fi
git commit -m "$msg"
# Push source and build repos.
git push -u origin main
./commit