存档

文章标签 ‘ubuntu’

如何让 WSL 支持多个独立的 Ubuntu 实例

2022年5月11日 没有评论

在 win10/win11 系统中,微软已经支持了 WSL,用户可以先安装 sub system for Linux 组件,然后通过 Store 来下载自己感兴趣的 Linux 镜像来安装享用。

但是,这么做有一个问题就是对于同一个类型,例如 Ubuntu 20.04,就只有一个实例,对于普通用户来说,不能添加多个实例。

那为什么会有多实例的需求?很简单,场景需求不同。例如,有时候想临时折腾下某个功能,然后完事了再还原回去,也就是类似快照的功能。还比如说,针对 .Net 和 Java 设置不同的环境,各自编译各自的,互不影响,系统也简洁,有点docker的味道。

微软的答案就是使用 wsl 命令,可以轻松导出或者导入发行版的副本。

首先,可以使用 wsl –list 命令,获取到当前系统上可用的实例。
wsl –export Ubuntu ubuntu.tar // 导出 Ubuntu 实例,并保持为 ubuntu.tar 文件
wsl –import Ubuntu-java .\Ubuntu-java ubuntu.tar // 导入 ubuntu.tar 文件,生成新的实例,新名称为 Ubuntu-java,新实例的文件夹为当前目录
wsl -d Ubuntu-java //启动新的实例

当然,wsl 还有 WSL 1 和 WSL 2的区别,大家可以根据自己的偏好使用即可。

像作者“衣服自己洗”这么懒的人,怎么可能用命令行呢,不方便不说,参数什么不好记。经过一番搜索,最后锁定了 “WSL Manager”这么一个开源工具,可视化操作,还是比较爽的。

经过试用,发现使用这个工具进行导出导入操作时,时间比使用命令行的方式要长些,都快要放弃的时候,界面显示操作成功。所以大家可以结合起来使用,日常的启动停止等操作就用 GUI工具,偶尔的导出导入操作就用命令行。

有个事情需要提一句,WSL 和虚拟机之类的有冲突导致蓝屏,这个是和 Hyper-V 有关,目前来看只能二选一,无解。

分类: 工具 标签:

Nautilus

2021年6月4日 没有评论

我自己使用的是 Ubuntu 系统,在每次安装软件时,对于系统目录下,又不能带文件夹遍历的方式覆盖,可能我没有找到方法吧,所以每次都是手动的通过命令行去完成,很是费劲。

终于让我无意间找到了一种可行的方式,就是使用系统自带的资源文件管理器 nautilus,命令行以管理员权限运行,就可以弹出用户界面了,在这个界面里去做文件夹的复制、替换都不再禁止了。

sudo nautilus

爽的一比,windows 的体验又回来了。

分类: 一句话 标签:

解决 Unable to locate package 问题

2019年6月5日 没有评论

今天要在服务器上安装 python 相关的一个服务,安装 pip 时提示无法找到包 python3-pip,第一次碰到喔。

在网上搜索了下,别人的答案都是说 sudo apt-get update ,以此来主动更新源。这么简单的方法我怎么可能想不到呢,就是因为没有效果嘛~

后来终于发现了有不一样的答案里,激活 ubuntu 的源:

sudo add-apt-repository main
sudo add-apt-repository universe
sudo add-apt-repository restricted
sudo add-apt-repository multiverse

这个时候再 update 就可以正常的安装了。至于为什么这些源莫名其妙地丢失了,实在是是不知道什么原因。而且有2台机器都是这样子。

分类: 日常 标签:

W: mdadm: /etc/mdadm/mdadm.conf defines no arrays

2017年12月31日 没有评论

最近发现在执行Ubuntu的升级时,每次都可以看到W: mdadm: /etc/mdadm/mdadm.conf defines no arrays这样的错误提示。

网上查询了下,发现解决起来比较简单:

  1. sudo rm /etc/mdadm/mdadm.conf
  2. sudo update-initramfs -u
  3. sudo reboot
分类: 一句话 标签:

Ubuntu安装Shadowsocks

2017年10月5日 1 条评论

以前准备安装VPN的,后来发现怎么都连接不上去,遂放弃。现在有更好的解决方案了。首先在安装前先更新下系统,然后

1, sudo apt-get install python-pip

安装完成后,可以查看pip 的版本号:pip -V

2, sudo pip install shadowsocks

3, 编辑vi /etc/shadowsocks.json

{
“server”:”IP”,#你的服务器IP
“server_port”:8389, #你要开放的接口
“password”:”******”, #密码
“timeout”:300,
“method”:”aes-256-cfb”,
“fast_open”:true,
“workers”: 1
}

4, 启动服务 sudo ssserver -c /etc/shadowsocks.json -d start

5, 加入到开机启动,编辑/etc/rc.local,exit 0之前加入上面启动服务那句话。

6,配置客户端就可以上网啦。

分类: 一句话 标签:

Ubuntu修改挂载点名称

2016年12月19日 没有评论

由于FireFly是放在单位一直做代码编译的监视工具,衣服自己洗就寻思着要不要顺便做点下载什么。家里的香蕉派一来有小朋友在,另外是因为实际情况并发效果不太好,很容易就死机了。

接上USB扩展坞,接上移动硬盘后,3个分区系统都顺利识别出来,寻思着移动硬盘应该是带不起来,所以USB有额外的提供电源。

一路安装了uget和aira2,顺便也搞了一个webui-aria2网页版,这些以后有机会再提吧。

下载的时候,发现移动硬盘的挂载点是中文的,有点担忧是否有影响。就寻思着怎么修改这个挂载点,首先发现无法像windows系统那样,直接通过右键菜单来修改,最简单的方法就是接回windows系统,然后修改为英文名称。

遗憾的是,在window上修改后,再次连上FireFly,发现还是显示原来的内容。拔掉移动硬盘,检查挂载点,发现在 /media/ubuntu/下果然还有3个文件,删除之。

再次插入U盘,发现还是显示中文的挂载点,在/media/ubuntu/目录下又出现了3个中文名称。奇怪的不要不要的。

后来才偶然间发现,原来挂载点信息保存在 /etc/fstab 文件中,修改里面的挂载点名称,顺利解决了。

分类: 一句话, 日常 标签: ,

解决移动 硬盘和U盘在ubuntu 下无法写入的问题

2016年12月13日 没有评论

今天带了块移动硬盘到单位,接入到Firefly后,发现无法向设备内写入文件,换成U盘也是一样的问题。插入后系统可以很快地识别出来,但就是只读的。可以浏览,写入就不用想了。

因为Firefly是基于arm架构的,不知道是不是和这个有关系,网上搜索的结果也各种各样,但是都没有什么效果。

最后,找到了一个解决问题的方法了。

sudo apt-get install ntfs-config

sudo ntfs-config

这个时候系统会弹一个窗体出来,勾选对应的移动硬盘,并允许写入就可以了。实际上,ntfs-config在Firefly上安装是没有问题的,配置的时候报了一堆的python错误,不过看起来没有什么大问题。

分类: Firefly, 一句话 标签: ,

服务器系统升级

2016年7月5日 没有评论

在很久前衣服自己洗使用phpmyadmin的时候,页面上总提示mysql的版本太旧了不让使用。但发现mysql也没有一种比较好的升级方式,实在是太悲催了。当时就放在那里了,也一直没有管。

前不久Ubuntu 16.04 发布了,我还寻思着要不要给升级下系统,记得以前升级到14.04的时候,在后台界面上就有按钮可以一键升级。现在反而没有了,通过官方的FAQ引导运行命令貌似总是出错中断。

我这一怒之下,就把服务器格式化了,重新安装了Ubuntu 16.04,干脆彻底。虽然这个过程也是慢慢地摸索的,大不了网站全部推倒重来。

接下来,就按照这个帖子里的内容安装了nginx,php,mysql。phpmyadmin 再也不会提示我版本过旧了,另外php7 我也安装上了,幸好是ubuntu 16.04,不然还得编译安装。臣妾不会,做不到啊。

忘记了mysql密码了,好在下面的代码可以解决:

# /etc/init.d/mysql stop
# mysqld_safe –user=mysql –skip-grant-tables –skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET authentication_string=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>

注意这里新版本的mysql 已经替换 Password 列名为 authentication_string 了。

修改用户的Host列值为 % 以支持远程访问,localhost弱暴了。但是发现还是无法远程访问。

首先查看端口是否打开 netstat -an|grep 3306,打开mysql配置文件vi /etc/mysql/mysql.conf.d/mysqld.cnf,将bind-address = 127.0.0.1注释掉。重启系统。这次再看看端口应该是已经可以了,也应该可以远程连接了。

还原数据库,上传文件夹,终于可以看到熟悉的文章页面了。

至此,服务器系统升级完成。感觉服务器被我浪费了,就跑一个网站。

分类: 日常 标签: , ,

Ubuntu 下Sox无法播放mp3音频的问题

2015年9月18日 没有评论

在衣服自己洗的香蕉派上,有安装sox去播放音频文件,最近在使用play命令播放mp3文件时,提示错误信息为:

play FAIL formats: no handler for file extension ‘mp3’

原因在于mp3解码是有版权风险的,所以使用apt-get安装sox默认是不支持的,一种解决方法是编译带参数安装sox,我觉得很麻烦,于是找到第二种方法。

sudo apt-get install libsox-fmt-mp3

这样就可以使用 play 播放了。此外,还可以使用 libsox-fmt-all 来支持尽可能多的音频格式。

分类: Banana Pi, 一句话, 日常 标签: , ,

Linux中访问USB摄像头

2015年3月5日 没有评论

衣服自己洗的香蕉派是基于Lubuntu的arm系统,在前几天刚完成语音合成的技术难题。今天头脑发热,就想看看视频这块。

其实在衣服自己洗的另外一个香蕉派上,已经有一个处理模块了。定时每2分钟,从局域网里的摄像头上获取图片,并上传到yeelink上。当初写这个模块是为了熟悉物联网的概念,所以视频图片并不是从本机获取的。

恰好手头上有一个几年前淘汰的USB摄像头,打算用来练练手。
首先插上USB摄像头,然后运行命令

ls /dev

如果USB摄像头被识别的话,里面应该可以看到video0。

接着查看当前的USB设备

lsusb

我这里运行结果如图所示:

lsusb如红线标记,Z-Star传说是国内比较大的山寨厂商,记录摄像头设备的硬件ID,0ac8:303b,然后访问http://mxhaard.free.fr/spca5xx.html查看spca5xx是否支持你的USB摄像头。

接下来安装camorama,

sudo apt-get install camorama

接下来,可以在远程桌面里访问这个程序,当然香蕉派系统自带的guvcview程序也是可以查看视频的。网上也有下面的方式

sudo apt-get install mplayer

sudo mplayer tv://

不过衣服自己洗用这个方式虽然可以查看视频,不过有一些错误信息。

如果各位同学的摄像头不是免驱动的话,要么就是下载对应的驱动安装,不过最快的就是换个别的型号的摄像头。

分类: 一句话, 日常 标签: , ,