-
如果有什么传感器可以自动收集我大脑的活动信号,进而复原到另一个什么载体上(比如人或者机器人等)那真是太好了,因为我装了一晚Ubuntu系统,即使有很多想法很多抱怨,但没有力气说或者写出来了。
-
昨天下午8点多的时间吧,打算给桌面的dock栏美化一下,我只想居中一下也好的,所以就google了一下,(此处省略24小时)。
-
没错,我这一天什么都没干(正事儿),全都在装系统和软件。因为我安装一个美化桌面的小软件github上开源的,依赖一个什么Lib,apt安装不了,提示“but it will not be installed”,应该是和已安装的版本冲突了,我当时没有多想,就强制的安装了提示里指定的版本,哦吼,这不装不要紧,一装!直接给我黑屏了,就剩一个光标下划线提示符在屏幕的左上角闪烁……。于是,我想肯定是那个强制安装的依赖把桌面的那个依赖给破坏了。搜索后“Ctrl+Alt+F2”切换到“隔壁”补救。因为不是第一次把桌面搞崩,所以我当时并没有小心翼翼,而是“搜索引擎乱求医”,最后压倒骆驼的最后一根稻草:apt autoremove。此条命令过后,直接无法联网……,网络无法连接,桌面又进不去,算了重装系统吧!!!!
-
这还不是最令人失望的,最令人失望的是,我进入黑框把重要资源打包一下,决定搬到移动硬盘上,“mv *.tgz /newdisk/”可是显示文件太大无法搬运,哦吼!我压缩了1个多小时,结果告诉我用不上压缩包!!!好吧,那我直接“mv 文件夹”,but,(凡事都有个but)提示ERROR: Operation not permitted!,有ERROR你倒是给我停下呀,这不是COPY,为了减小损失到最低我直接“Ctrl+C”给停掉了。这下可咋办,我仔细斟酌了一下,这个提示可能是在移动过程中没有保留文件的可读可写可执行的权限信息,所以就硬着头皮继续移动了,减小损失到最低吧。后来事实证明,有的文件不完整了,有的还可以用。
-
本周期年第一次崩溃是去年9月刚开学,我用了一个暑假的Ubuntu,被我美化的桌面可花了我不少时间,由于硬盘有一个读不出来,我就给重新换了位置,阴差阳错,承载了3个多月的FederatedLearning“训练生”被我搞丢了……,似乎还在那个硬盘上,或者已经被我格式化了,我对她的“哎”消失了。
-
第二次是买了固态硬盘,那个装在机械硬盘上的ubuntu系统开机太慢了,果断给格式化了。
-
有了以上“三顾茅庐”的经历,我得出的结论是:
【Ubuntu】不够稳定,终究不可以白头偕老,恰似少年青春的萌动,翻飞的涌动,可时光荏苒,曾经的少年不再年少,带着一颗装满了故事而疲惫的心,又回到了【Windows】大地的怀抱。
但是1
他们各有千秋:ubuntu实体机可以支持很方便的深度学习加速训练和模拟器(CARLA之类)的运行,而windows有很稳定的桌面,可以写PPT,画图,微信,QQ,打游戏。虽然可以用linux系统,但是他要提前安装docker,而docker和虚拟机又是一山不容二虎的,况且子系统里的cuda加速还要做穿透,嫌麻烦,而虚拟机又不可以虚拟GPU,所以二者各有千秋。我决定为ubuntu做一个很便捷的安装脚本,就是每次重新安装好后,无论在虚拟机里还是物理机,开机后,只需执行一个脚本就可以恢复大多数以前的软件环境。以下是一个脚本。当然脚本要和提前下好的软件放在一起,当作系统软件环境的【有组织的备份】。
application_bak/
├── mustApp
│ ├── Aikedaer.sh
│ ├── Anaconda3-5.3.0-Linux-x86_64.sh
│ ├── baidunetdisk_4.17.7_amd64.deb
│ ├── CARLA_0.9.10.1.tar.gz
│ ├── clash.tgz
│ ├── google-chrome-stable_current_amd64.deb
│ ├── jdk-8u271-linux-x64.tar.gz
│ ├── leaderboard.tar.gz
│ ├── NVIDIA-Linux-x86_64-530.41.03.run
│ ├── OpenUtau.tgz
│ ├── pycharm-community-2023.1.1.tar.gz
│ ├── scenario_runner.tar.gz
│ ├── sources.list
│ ├── TencentMeetingx86_64.deb
│ └── Typora.deb
└── optionApp
├── jdk-11_linux-x64_bin.tar.gz
├── navicat16-premium-cs.AppImage
└── VMware17_linux
其中Aikedaer.sh的内容如下:
# boot the applications
sudo bash
# aliyun apt source
cat sources.list > /etc/apt/sources.list
# flameshot
sudo apt update && upgrade
sudo apt install -y flameshot vim git htop nvtop curl wget net-tools
# Nvidia driver for RTX 3060
suggest to install in the software and update, it can automaticly remove old version and install new version. After installation, you can use nvidia-smi to verify it.
#anaconda
bash Anaconda3-5.3.0-Linux-x86_64.sh
sudo mkdir ~/myapp/
# Utau
tar -xzvf OpenUtau.tgz -C ~/myapp/
# JDK
tar -xzvf jdk-8u271-linux-x64.tar.gz -C ~/myapp/
echo 'export JAVA_HOME=$HOME/myapp/jdk1.8.0_271/' >> ~/.bashrc
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> ~/.bashrc
source ~/.bashrc
echo `java -version`
# clash
tar -xzvf clash.tgz -C ~/myapp/
echo 'to start clash, you need to update the URL in start.sh, then execute:sudo bash $HOME/myapp/clash/start.sh'
# Pycharm
tar -xzvf pycharm-community-2023.1.1.tar.gz -C ~/myapp/
echo 'PATH=$PATH:$HOME/myapp/pycharm-community-2023.1.1/bin' >> ~/.bashrc
# carla
mkdir $HOME/myapp/carla
export CARLA_HOME=$HOME/myapp/carla
tar -xzvf CARLA_0.9.10.1.tar.gz -C $CARLA_HOME
tar -xzvf scenario_runner.tar.gz -C $CARLA_HOME
tar -xzvf leaderboard.tar.gz -C $CARLA_HOME
echo 'export CARLA_HOME=$HOME/myapp/carla
export CARLA_ROOT=$CARLA_HOME/CARLA_0.9.10.1
export LEADERBOARD_ROOT=$CARLA_HOME/leaderboard
export SCENARIO_RUNNER_ROOT=$CARLA_HOME/scenario_runner
export PYTHONPATH=$CARLA_ROOT/PythonAPI/carla/:$SCENARIO_RUNNER_ROOT:$LEADERBOARD_ROOT:$CARLA_ROOT/PythonAPI/carla/dist/carla-0.9.10-py3.7-linux-x86_64.egg:$PYTHONPATH
## this is for running the vehicle
export TEAM_AGENT=$CARLA_HOME/team_code_v2/lav_agent.py
export TEAM_CONFIG=$CARLA_HOME/team_code_v2/config.yaml
export SCENARIOS=${LEADERBOARD_ROOT}/data/all_towns_traffic_scenarios_public.json
export REPETITIONS=1
export CHECKPOINT_ENDPOINT=results.json
export DEBUG_CHALLENGE=0
export CHALLENGE_TRACK_CODENAME=SENSORS' >> ~/.bashrc
echo 'source ~/.bashrc'
source ~/.bashrc
这个文件夹要长期放在downloads下,每当新的软件安装时,都要更新。
但是2
但是如果系统的东西太多了,这样显然不是最简单的。第四次系统崩溃,是cuda环境安装过程中,产生了冲突,误删导致系统内核损坏,修复系统内核的方法:
-
在usb上写入和ubuntu一样版本的系统硬盘映像
-
开机选择从USB启动,Try Ubuntu,进入后,打开终端
-
一般会自动挂载损坏的系统所在扇区,例如其已经挂载到【/media/ubuntu/8898939】
-
cd /media/ubuntu/8898939
-
sudo mount --bind /media/ubuntu/8898939 boot
-
sudo mount --bind /proc proc
-
sudo mount --bind /dev dev
-
sudo mount --bind /sys sys
-
sudo cp /etc/resolv.conf etc/resolv.conf
建立域名解析文件 -
chroot .
-
sudo apt install linux-image-generic
如果一切顺利,核查一下/boot/grub/grub.cfg是否已经有内核菜单。
但是往往不顺利,如果最后一步在安装是遇到问题:Sub-process /usr/bin/dpkg retutned an error code (1)
,还需要进行下面的操作:
- 进入目录:cd /var/lib/dpkg
- 删除文件:sudo mv info info.bak
- 重新创建:sudo mkdir info
sudo apt install linux-image-generic
- 安装好后,拷贝新
info
目录下的内容到info.bak
,恢复为info目录
关机重启系统。
开机找不到 /sbin/init
/sbin/init: No such file or directory Kernel panic
因为/
下的sbin
是/usr/sbin
的软连接,所以手动ln -s /usr/sbin /sbin
可以解决这个问题。
还可以尝试:
First thing to do is:
1- boot your linux distribution on USB or CD
2- live boot your system on the USB or CD key
3- in command line type: mount /dev/sda1(or your dist partition) /mnt
4- chroot /mnt
5- nano /etc/resolv.conf (in this file, put this line: nameserver 8.8.8.8)
6- apt-get install init
after reboot your system. It will work fine. Enjoy
系统日志
在Linux系统中,/var/log
目录是用于存储系统日志文件的默认位置。系统的各个组件、服务和应用程序会将其日志文件放在 /var/log
目录中,以便记录系统的运行状态、事件和故障信息。
以下是一些常见的 /var/log
目录中的日志文件和其作用:
/var/log/syslog
:包含系统整体的日志消息,包括内核、启动过程、系统服务和应用程序的消息。/var/log/auth.log
:记录系统身份验证和授权方面的事件,例如用户登录、sudo命令使用等。/var/log/messages
:用于记录系统的重要事件和通用系统消息。/var/log/dmesg
:包含内核环缓冲区的内容,记录了系统启动时的内核信息和硬件设备信息。/var/log/kern.log
:包含内核相关的消息和警告。/var/log/boot.log
:记录系统启动过程中的日志消息。/var/log/cron
:包含定时任务(cron)的执行日志。/var/log/mail.log
:用于存储邮件传输代理(MTA)的日志消息,例如Sendmail、Postfix、Exim等。/var/log/mysql/error.log
:MySQL数据库服务器的错误日志文件。/var/log/apache2/error.log
:Apache HTTP服务器的错误日志文件。
除了上述常见的日志文件之外,各个应用程序和服务还可能在 /var/log
目录中创建特定的日志文件,用于记录其运行过程和事件。
通过查看这些日志文件,您可以了解系统的运行情况、故障排除和监控系统性能。它们对于诊断和解决问题以及进行系统审计非常有价值。
请注意,具体的日志文件和其作用可能因不同的Linux发行版和系统配置而有所不同。因此,如果您在特定的Linux发行版或系统中使用,请参考相应的文档或手册以了解更多详细信息。
打赏作者