Appearance
Install Ubuntu on i386
大学期间买了台笔记本电脑,直到我上班几年后它才退休,陪伴我很长时间,可谓感情深厚, 就一直保存到现在。
还记得当时用这台电脑安装了各种linux版本, 什么ubuntu,centos,kali,双系统,使用U盘做启动盘反复安装和格式化,当时最怕的就是硬盘被我折腾坏,还好一直到现在它还是坚挺着,320G硬盘2G内存一直都够用,休闲时还能用来打游戏。
最近把它安装上了win7,发现效果不理想,不只是速度慢了,键盘按键也不灵敏了,需要用力按压,于是给它配上了一个外接键盘和风扇,并且更换成ubuntu系统,没想到效果还不错。
虽然你四角已经严重破损,按键没了弹性,还是32位的CPU, 但你是我的青春啊!
前面只是感慨一下,接下来言归正传把这台32位系统安装ubuntu的经过记录一下。
i386 x86 32位 x86_64 AMD64 64位
说来也惭愧,做了这么多年的程序直到现在也没去总结和归纳这几个名词的含义。当时第一个ubuntu版本下载的是 ubuntu-24.04-desktop-amd64
, 接着就用它去做U盘启动盘了, 还需要使用到另外一个工具就是 UltraISO
, 记得很早以前用的就是它,用起来非常顺手。结果没有意外的启动报错了'grub_calloc' symbol not found.
接着我连续下载了22,20,18和16直到 ubuntu-16.04.6-desktop-i386.iso
才拯救了这台机器。
后来发现这台机器只能安装32系统,而i386正是兼容32位,后来在网上搜索说最后一个支持32版本的ubuntu系统是18.0.4,但是在官网上没找到。
i386,x86都是32位系统, x86_64,AMD64都是64位系统。不少软件会把这些作为文件名后缀,希望今后自己对号入座。
The 'grub-pc' package failed to install into /target/
这是ubuntu的一个bug,使用中文语言安装向导会出现这个错误,使用英文就可以了
ubuntu忘记密码
安装成功还沉浸在喜悦中的我突然发现,我进不去系统!! 切换了N个密码始终进不去,后来发现我不是忘记了密码,我是忘记了用户名!!!
这次ubuntu安装次数太多,我已经忘记了我使用哪个用户名了,而且还是无意识的,所以一直在尝试换密码进去,最后重启机器进入恢复模式。下面是流程
- 开机选择
Advanced options for you
- Ubuntu, with Linux 4.xxx-generic (recovery mode)
- root Drop to root shell prompt
接着进入命令行,权限是root, 你就可以为所欲为了。
使用U盘启动盘作为apt源
- 查找U盘
bash
sudo fdisk -l
- 挂载U盘
bash
sudo mkdir /mnt/u
sudo mount /dev/sda2 /mnt/u
- 修改源文件
bash
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
sudo touch /etc/apt/sources.list
写入 deb file:///mnt/u xenial main restricted
其中 xenial
是ubuntu 16.04版本代号, main和restricted是对应目录
- 安装 gcc试试
bash
sudo apt update
sudo apt install gcc
done!!!
networking 网络
linux下查看主机ip地址使用 ifconfig
,但是如果这台机器的网卡没有联网,那么使用这个命只能获取到 lo0
本地回环接口,所以需要使用到另外一个命令了
bash
ip a
用于显示网络接口信息,于是我顺利拿到了 enp3s0 和 wifi 对应的网卡,接着使用 sudo dhclient enp3s0
打开网线对应的网卡(从柜子里找到了封印已久的一条网线),顺利实现了上网。
接着发现机器重启就要执行这个命令,这怎么能忍?搜索一番发现需要修改 /etc/network/interfaces
,增加dhcp,增加内容如下
auto enp3s0
iface enp3s0 inet dhcp
顺利实现重启联网!
还可以指定局域网地址,保证每次启动都是用固定的ip,修改成如下
iface enp3s0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
ubuntu mount exfat
列出所有磁盘分区信息,查找有哪些硬盘和分区
bash
sudo fdisk -l
由于笔记本电脑很老的缘故,之前的机械硬盘320G也不够用了,于是我给它增加了一个外接的ssd硬盘。可是挂载的时候遇到麻烦了,这个硬盘是exFAT格式, 之前我使用了mac本对ssd做了格式化,不知道ntfs是否可以顺利挂载,查找后安装了两个依赖问题解决
bash
sudo apt install exfat-fuse exfat-utils
甚至连ntfs格式的支持一并安装上了
bash
sudo apt install fuse ntfs-3g
最后执行下面命令,就可以顺利挂载
bash
sudo mount -t exfat /dev/sdb1 /mnt/ssd
写入文件时又发现权限不足的错误, 使用这个命令挂载的外接盘内部所有操作都是root用户,如果需要普通用户有权限,需要增加 -o 选项
bash
sudo mount -o uid=username,gid=groupname /dev/sdb1 /mnt/ssd
Cannot set LC_CTYPE to default locale: No such file or directory
- 检查当前语言环境设置
运行以下命令查看当前的 locale 设置:
bash
locale
- 生成缺失的 locale
bash
sudo locale-gen en_US.UTF-8
sudo locale-gen zh_CN.UTF-8
- 更新 locale 设置
bash
sudo update-locale
- 检查并修改 /etc/default/locale
确保 /etc/default/locale 文件存在且包含合适的设置。可以用以下命令编辑该文件:
bash
sudo vi /etc/default/locale
确保文件内容类似于:
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
LC_ALL="en_US.UTF-8"
关闭屏幕后保持系统活跃
配合外接键盘使用,需要把笔记本合上屏幕竖立起来,但是发现只要关闭屏幕后台就不能使用了,使用 caffeine
- 安装 caffeine
bash
sudo apt install caffeine
- 编辑 /etc/systemd/logind.conf
修改成
HandleLidSwitch=ignore
- 重启服务
bash
sudo reboot
nvm使用阿里云源
bash
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/
node版本14.x支持32位, python3.5支持32位,docker 18.x支持32位
修改字体支持gb2312
可以先查看文件编码
bash
file -bi text.md
选择 zh_CN.GB2312 或 zh_CN.GBK 作为您的区域设置。推荐使用 UTF-8 区域设置:zh_CN.UTF-8
bash
sudo dpkg-reconfigure locales