使用Linux记录

更新时间: 2021-03-05

Linux Usage

2021-04-08 解决linux时间与win相差8小时的问题

  • timedatectl set-local-rtc 1

2021-03-05 wine

  • 把一些常用应用搬到linux下,起因是发现了RemoteAPP,win对win下倒是玩得挺爽,linux下死都不行,那就走virtualbox的无缝模式,用起来也挺好,就是比较耗资源
  • 偶尔想试试wine,于是搜到了这篇 (http://sunyongfeng.com/201605/linux/wine_rtx)
  • 记得先用v2raya来翻Q
sudo apt install wine winetricks
WINEARCH=win32 WINEPREFIX=~/.wine winetricks msxml3 gdiplus riched20 riched30 ie6 vcrun6 vcrun2005sp1 allfonts
  • 搞定后(安装到最后貌似出错了,不过能用后,我就没再复现这个错误),安装rtx qq之类的没大问题wine xxxSetup.exe
  • 程序启动后发现中文字都是方块,搜索是字体问题: (https://my.oschina.net/wolfx/blog/664463),导入reg后可以用了
  • 托盘可以显示图标,不过单击,双击什么的和win下的不同,略有点蛋疼,其他ok
  • 除了odbc的mysql没法用,这个自己用go在linux实现了查询,和模拟键盘鼠标,注意xdotool这个工具,可以模拟发送按键,移动鼠标什么的
  • 另外就是一些只有win下的key的驱动没法,这个只好远程了

2018-12-12 安装19.1 beta版

  • https://mirrors.tuna.tsinghua.edu.cn/linuxmint-cd/testing/linuxmint-19.1-cinnamon-64bit-beta.iso
  • 先备份 environment fstab 40_custom hostname 文件
  • 参照之前的 menuentry 'Mint Live CD' 写法,将iso中文件解压到指定分区根目录
  • 进 slax 备份根分区 tar czvfp root19.tgz ./
  • 然后进 live cd ,然后安装系统,装好后,可以修改新的root分区里面 environment fstab 40_custom 内容
  • 进系统,卸载office及其他用不着的软件,更换更新源以提速,然后安装需要的软件
  • 任务栏变化很大,win+数字 可以启动任务栏上的图标了,但不能修改每个图标的启动命令及参数了
  • ~/.local/share/applications/ 目录下创建 xxx.desktop 文件(该文件可以在桌面右键新建启动器创建),可以在菜单的其他分类中显示,然后可以添加到任务栏了,变相解决了上面的问题
  • 一直都希望在nemo中有 解压到指定文件夹 的菜单,今天搜索发现如下骚操作,在~/.local/share/nemo/actions/下创建extracto.nemo_action文件,内容如下:
[Nemo Action]
Active=true
Name=fox解压到...
Comment=Extract To
Exec=file-roller -f %F
Icon-Name=extract-archive-symbolic
Selection=Any
Extensions=zip;7z;rar;ar;cbz;cpio;exe;iso;jar;tar;tgz;tbz2;apk;tar.Z;tar.bz2;tar.gz;tar.lz;tar.lzma;tar.xz;
  • 然后在压缩文件上点右键,就有 fox解压到... 菜单了,66666

2018-12-06 root分区不够,重新分区

  • root分区不够用了(已用11G,共12G),需增大,不知道怎么无损调整(DiskGenius貌似只能处理fat32/ntfs)
  • 老办法,tar备份根分区及home分区,pe下备份win分区,预计将120G的SSD分为3个主分区,依次为18G的/分区,20G的win,73G的/home
  • 备份使用 tar cvfp /a/b/xxx.tar ./*,恢复使用 tar xvfp /a/b/xxx.tar,如果要压缩加z
  • 恢复后进slax,挂载各新分区,使用 lsblkid /dev/sdax这样的命令列出分区的UUID,要用这个替换fstab和grub.cfg中旧的UUID
  • 搜索学会一个新技能,使用grub2引导bootmgr或grldr
  • 有时候从grub2引导grldr,然后引导PE.iso到内存,会间歇性出现黑屏,蓝屏现象,使用U盘直接引导反而没有这种现象,原因不明,多重启几次,总会可以的
  • 使用0.4.6a版的grldr引导kernel /boot/grub/i386-pc/core.img进入mint系统,需要grub-install /dev/sda,修改好菜单后update-grub

2018-07-01 升级到19版,基于 ubuntu bionic

  • 升级时碰到找不到媒介的问题,翻了搜索引擎没靠谱的,结果换了个U盘做启动盘就好了,用的工具是livecd自带的
    • 研究了一下init脚本,发现只要在grub2引导时在kernel参数加入 live-media=/dev/sda1 这样的参数就能找到squashfs文件了,测试了一下ext4,ntfs分区都可以引导,这样以后升级就可以将iso里面的东西拷到硬盘跟分区,然后修改一下grub参数就可以了,U盘都省了,速度还快,哈哈哈
  • 升级前备份好了资料,突发奇想,不格式化,直接在18.3上装行不行呢,结果试了下,还真可以,它会自动删除bin,etc,usr,lib等目录,其他自己建的目录还有home目录都保留了,不知道有无后遗症,有强迫症的可以格式化后安装
  • 装好后,由于自己装的一些软件没有安装,所以任务栏上会提示问题,装好就行
  • 新版,导致一些旧软件不兼容,例如: guake, eclipse(ADT), synergy
  • 感谢提示: 2018-11-22 so2liu: 你之前遇到的那个Guake的exit卡死,我也遇到了,查了一下,貌似是代码有一行的缩进写错了。看这个帖子既可以成功解决. https://github.com/Guake/guake/commit/f8699b4be6c058fd58a33a1d783cd404e9076b0e
  • 使用旧版wps, vbox安装包的需要到论坛或官网下载新版或基于 bionic 的版本,然后dpkg -i安装,有问题按照apt的提示fix
  • 使用tilda替换guake, guake在这个系统上输入exit,会导致卡死无法退出,原因未知
  • 测试后确认是openjdk版本(10.0.1)的问题,eclipse启动错误,不用卸载11(这个版本号也很迷啊),安装8,然后 sudo apt install ia32-libs ,使用脚本来使用8版的环境就可以愉快的用旧版adt了,用AS的那天是哪天呢,哈哈
  • synergy貌似依赖libcurl3,系统里面的是libcurl4,启动时老提示错误,貌似是ssl错误,把配置里面的使用ssl加密的勾去掉貌似就可以愉快的玩耍了
  • 修改fstab,注释掉swapfile那行,添加/dev/shm大小为6G tmpfs /dev/shm tmpfs defaults,size=6G 0 0

2018-05-24 重新分区

  • 鉴于win系统用得越来越少,linux只有一个根分区,这样是不好滴,于是将120G的SSD重新分区
  • 先备份所有文件到机械硬盘上,用的是tar cvf xxx.tar /xxx/xxx,因为只对这个参数熟,对p参数不熟,不知道后面会不会出问题
  • 备份好,然后进入slax,然后重新分区,三个主分区,分别是20G_root,10G_OSWIN,82G_home
  • 恢复用tar xvf xxx.tar -C /xxx/xxx
  • 使用blkid /dev/sda1获取新的root分区的uuid,写入/etc/fstab,内容UUID=d9476b4c-5d23-4d68-9d6a-c7fa4883b725 /home ext4 defaults,noatime 0 2
  • 然后重启后,发现木有引导了,蛋疼,用U盘进入slax,然后apt install grub2安装grub到sda1上,重启后发现引导不进去
  • 搜索得到操作方式,https://www.jianshu.com/p/e9de786563ad
mount /dev/sda1 /mnt
mount /dev/sda3 /mnt/home
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

chroot /mnt /bin/bash
grub-install --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

# 这里有时候会有错误,exit,然后重新mount --bind 缺失的目录,然后重新grub-mkconfig
# 重启后正常进入,话说grub2的修复在没更换uuid的情况下还挺智能,像我这样折腾的,grub2就不怎么友好了,怀恋grub4dos

  • Linux的优点就是只要复制文件,就算是备份系统了,win则不行,不过linux的引导修复搞得人很蛋疼
  • 之前用的grub4dos版本是0.4.5c 2013-11-30,发现ext4分区无法识别,升级为0.4.6a 2018-04-23就行了
  • 使用grub4dos就不需要进入livecdx64了,直接kernel /boot/vmlinuz-xxxxx root=/dev/sda1initrd /boot/initrd-xxxxx进入原系统,然后grub-install --boot-directory=/ /dev/sdaupdate-grub 就搞定了,当然前提是fstab里面的uuid是修改好的,grub2真心用不习惯啊

2018-04-09 更新: 7-zip 增量备份

  • 缘起: 需要在win/linux之间同步FoxMail目录,需要一个差异备份工具,考察文件名中文问题以及简单效率问题,最终找到了7-zip,它不会出现中文名乱码问题,是个很好的传递格式
  • 参考文章: http://a32.me/2010/08/7zip-differential-backup-linux-windows/
  • 问题: 7zip 的 chm 帮助文档中提到,时区会造成差异备份,实际体验,在linux下生成的7z文件,在win下解压不修改文件,还是会做备份,linux貌似用的UTC,win用的local,注意这个问题
  • 完整备份: 7za a c:\archive.7z c:\folder_to_archive
  • 备份差异: 7za u c:\archive.7z c:\folder_to_archive -ms=off -mx=9 -t7z -u- -up0q3r2x2y2z0w2!c:\diff1.7z
  • 解压: 7za.exe x c:\archive.7z -oc:\recovery_path\
  • 解压差异: 7za.exe x c:\archive.7z -aoa -y -oc:\recovery_path\

2018-01-19 更新

  • 一个中文目录,中文文件名的压缩文件解压乱码,使用: unzip -O GB18030 cn_name.zip

2018-01-17 更新

  • 移除楷体,注销后生效 sudo apt remove fonts-arphic-ukai fonts-arphic-uming
  • 文本编辑器GBK乱码: 安装 dconf-tools, 展开:org.x.editor.preferences.encodings auto-detected 加入GB18030
  • meld GBK乱码: 展开: org.gnome.meld detect-encodings 加入gb18030
  • 在本地8080端口访问服务器路由器,本地执行: ssh -L 8080:192.168.1.1:80 root@10.1.1.1

2018-01-12 更新

  • 升级kernel: 4.13.0-26-generic 后,启动vbox虚拟机会导致系统死机,搜索后找到这个地址

  • 卸载旧版的vbox,然后在vbox官网上下载5.2版,安装过程中有一些错误,dkms,vboxconfig 等解除错误,终于能用了,不容易啊

  • 删除旧的用不着的内核:

    • 查看: dpkg --get-selections | grep linux
    • 移除两个旧的,4.10.0-42这个版本先留着,避免新内核还有其他问题:
      • sudo apt-get remove linux-image-4.10.0-38-generic
      • sudo apt-get remove linux-headers-4.10.0-38
      • sudo apt-get remove linux-image-4.10.0-40-generic
      • sudo apt-get remove linux-headers-4.10.0-40

2017-11-23 : 升级为18.3版

cd /

# 备份旧系统
sudo tar czvfp root.tgz --exclude=/proc --exclude=/media --exclude=/mnt --exclude=/sys --exclude=/home --exclude=/root.tgz /

# 备份/home
sudo tar czvfp home.tgz /home/

# 装好系统

# 还原home
sudo mv /home/fox /home/fox_new
sudo tar xvzfp home.tgz -C /home/

  • 装好系统,发现第一件事,应该是换源,删除不需要的软件,例如office,然后更新软件,安装软件

  • sudo apt install tilda vim-gtk adb mpv ffmpeg openjdk-8-jdk jq rdesktop n2n axel filezilla meld gedit mkvtoolnix-gui

  • chrome系的浏览器使用代理: opera --proxy-server="socks://127.0.0.1:1080"

吐槽

  • 2017-11: 最近firefox升级为 57.0,然后常用的扩展都用不了,例如DownThemAll FireGestures,蛋疼,目前下载工具没找到,手势用smartup手势,并不怎么好用,而且右键跟失效了似的,FoxyProxy Standard用来切换Fan那个Qiang的代理:SSR

  • win 下最喜欢主要是最擅长:AutoHotkey,木有了,用java来写GUI,真是欲仙欲死,字体还丑,qt什么的都不会

  • 文件管理,没有类似win下的total commander 那么完美的工具,叹,也许用cp,mv,但是路径太长,输入麻烦的说

  • 很多娱乐功能在Linux上不完善,虽然娱乐于人于己无益,但谁叫自己喜欢呢

  • 看B站视频,只有在浏览器中看,但CPU占用会比较高,个人还是比较喜欢下载下来观看,但是弾幕就显示不了,很纠结啊,写了个java-swing程序,可以在mint下调用mpv播放在线直播,调用wget下载直播视频,不支持弹幕,在github上发现了一个moonplayer可以播放B站视频,有弾幕,可是看直播没有弾幕,看之后能不能写个插件

  • 看看cnbeta新闻,恩,也只能浏览器,或者浏览器的RSS,不怎么爽

  • 微博也是,没有专门的客户端

系统设置

  • 缘起: 一些java程序在默认环境下的字体显示太糟糕,在.bashrc中加入环境变量只在终端上有效,在文件管理器nemo上无效,故需要在一全局脚本中设置该环境变量,如果想修改PATH,也可以在这里修改

  • sudo vi /etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
_JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on"
  • 下面是bash配置,方便在终端中使用,还是有些乱,准备写一个bash脚本来统一管理

  • vi ~/.bashrc

# Fox @ 2017-08-21
# export PATH="$HOME/bin:$PATH"
# export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'
alias lh='ls -lh'
alias jj='java -jar'
alias bb='java -jar FoxBook_Core.jar'
alias mm='free -m'
alias du='du -sh'
alias n='novelManager.sh'

alias sshwrt='ssh root@10.2.3.1'
getwrt(){ wget http://10.2.3.1:8080/k4/$1 ; }
putwrt(){ curl http://10.2.3.1:8080/cgi-bin/ff.lua -F f=@$1 ; }

flv2mp4() { ffmpeg -i $1.flv -vcodec copy -acodec copy -movflags faststart $1.mp4 ; }

[ -d /dev/shm/00 ] || mkdir /dev/shm/00

GUI环境的一些设置

  • 托盘添加一些小程序: CPU Temperature Indicator(温度指示器)Download and upload speed(下载和上传速度)system Monitor(系统监视器),记得多试几次,很容易更新时卡死或不可用

  • 建议将系统带的所有设置全部看一遍,里面有很多有意思的功能,例如可以用鼠标中键滚轮来调整窗口透明度,添加卷起功能等

  • 菜单-首选项-键盘-快捷键-自定义快捷键, 这里可以定义一些快捷键,也可以修改系统的快捷键,很方便啊,如果能保存设置就更好了

自己安装的一些程序

  • 开始菜单-系统管理-软件源 修改软件源来获得最快的国内服务器,这样更新,装软件什么的都快

  • 可以使用开始菜单-系统管理-软件管理器 来查找安装,或者使用apt来安装

  • 终端: guake,F12键 显示/隐藏,比较方便,多标签支持

  • 远程桌面: remmina / rdesktop,remmina可以方便管理多个,但耗用内存较多,有时能达到200M,rdesktop命令行比较轻量

  • 虚拟机: VirtualBox, 可以无界面启动,安装增强包,做好端口映射,文件夹共享,然后使用远程桌面登陆,速度很不错

  • java swing 编程: NetBeans,mintinstall里面的是英文版的,但习惯了就好,不过字体真丑,忍

  • 办公软件: http://linux.wps.cn/ 地址上的是旧版,sudo dpkg -i wps.deb 后启动后会检测到新版,重新下新的安装即可

  • synergy 跨平台共享鼠标键盘剪贴板

  • 图形: gcolor2 取色,pinta 简单的图片处理,flameshot 截图

  • 影音: MPV, mediainfo-gui, mkvtoolnix-gui

  • filezilla连接ftp,sftp等, iptux / Dukto局域网传文件

  • axel 多线程命令行下载工具,用来下载百度网盘中的文件(2018-06-12: 网盘升级了,现这种方法无效了),aria2c 限制为16线程,对于百度的限速完全不够看,用axel开50线程来下载,速度杠杠滴

  • firefox 装的一些插件: 哔度娘网盘, DownThemAll, FireGestures,外观使用: firefox orange simple 3.0

  • gedit 方便来打开行比较长的文件

  • vim 安装vim-gtk版, ~/.vimrc 内容如下

set fencs=ucs-bom,utf8,utf-8,cp936,gb2312,gbk,chinese,ucs-2,ucs-2le
set hls
set ignorecase
set nobackup
set nu
set ts=4
set smartindent
syntax on
  • mtp: mint 已经自带了,可以使用文件管理器nemo打开

  • adb: 与linux手机互传文件,可以直接sudo apt-get install adb安装,这个还是linux下用的爽,不像win下还得找编译好的adb来支持中文转换,linux下不用转换

  • qiv: 一个键盘控制的图片查看工具

启动运行的一些程序

  • 开始菜单-首选项-开机自启动程序,添加

自定义命令

  • 这个是启动自动挂载 sda5 分区,因为后面的虚拟机会用到这里面的文件

  • udisksctl mount -p block_devices/sda5

  • 如果常用,就不用这个挂载,在 首选项-磁盘 里面可以设置自动挂载参数

app

  • guake terminal

service

  • n2n 修改 /etc/default/n2n 可以在启动时自己连接
N2N_COMMUNITY="username"
N2N_KEY="password"
N2N_SUPERNODE="192.168.1.88"
N2N_SUPERNODE_PORT="88888"
N2N_IP="10.2.3.3"
N2N_EDGE_CONFIG_DONE="yes"

一些命令使用方式

  • 调整亮度: xrandr --output HDMI1 --brightness 0.5

  • 远程并共享一个目录: rdesktop 192.168.1.8 -u administrator -g 1280x768 -r disk:ram=/dev/shm/

需要的一些软件

  • FTP 服务器,最好是能快速开启,关闭的

  • 好用,移植性好的邮件客户端,最好能导出备份,至少win/linux通用

  • grubinst 这样的软件,来修改设备引导

  • winscpportable 这个可以使用filezilla

  • 2017-09-04: 使用meld来比较目录,文件,命令行单文件可以用diff来比较,类似软件有Kompare,DiffMerge,Diffuse,XXdiff,KDiff3,TkDiff,可以试一下

  • 2017-09-19: 编译lua执行make时: fatal error: assert.h: 没有那个文件或目录,这是缺少头文件,sudo apt-get install build-essential 就装好了,然后编译就正常了

  • 2017-09-25: 和局域网中的其他win机器传文件也很蛋疼啊,smb共享虽然能看到,但是进不去目录,懒得去处理,比较喜欢win下的飞鸽传书,搜了一下linux下有iptux,安装后就可以与win下的飞鸽互传了,太赞了

  • 2017-09-27: 下载百度网盘中的文件,aria2c限制为16线程,对于百度的限速完全不够看,用axel开50线程来下载,速度杠杠滴,要注意的是,命令可能会在一开始卡住,ctrl+c结束,然后重新运行命令,多试几次,一旦启动,速度如飞,目前是通过DownThemAll获取下载地址,虽然DownThemAll也是多线程下载,不过线程数有点少,聊胜于无

2017-09-02 更新

2018-06-12 VIM剪贴板

  • vim 竟然不支持剪贴板,用 vim --version|grep clipboard 发现确实不支持

  • 安装 sudo apt install vim-gtk 就可以使用"+yy

2018-07-30 Java 访问 https 错误问题

  • 写的java程序,发现访问https链接时出错: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
  • 搜索得到: https://stackoverflow.com/questions/4764611/java-security-invalidalgorithmparameterexception-the-trustanchors-parameter-mus
  • 将java程序放到win下去运行,还真没问题,将 jre目录/lib/security/cacerts 这个文件拷出来,linux下的jre目录下的cacerts文件都指向 /etc/ssl/certs/java/cacerts ,覆盖即可
  • 现在可以愉快的玩耍了
  • 2018-07-31,今天的升级里面包含了 ca-certificates-java,去验证了一下md5值,果然不一样了,说明官方修复了这个bug,以上操作仅做历史记录了

Grub2 使用总结

  • 安装到sda: sudo grub-install /dev/sda
  • 更新菜单,当修改了配置文件后更新一下: sudo update-grub
  • grub2 的配置 sudo vi /etc/default/grub
  • GRUB_DEFAULT=0 这里的是默认选中的条目,0为第一条,第二条是高级选项,里面有旧版的内核,可从这里启动以避免升级后的问题,4为windows
  • GRUB_TIMEOUT=10 这是超时时间,可以修改得小一点
  • /etc/grub.d/40_custom 这个文件是自定义部分,会在/boot/grub/grub.cfg尾部追加自定义条目,例如:
menuentry 'Run Slax (3 flags)' {
	linux /slax/boot/vmlinuz vga=normal load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=perch,automount,toram
	initrd /slax/boot/initrfs.img
}
menuentry 'Mint Live CD' {
	set root='hd1,msdos1'
	linux /casper/vmlinuz  boot=casper live-media=/dev/sdb1 --
	initrd /casper/initrd.lz
}
menuentry "Grub4DOS"{
	search --file /grldr --set=root
	insmod ntldr
	ntldr /grldr
}
menuentry 'win7 loader' {
	search --file /bootmgr --set=root
	insmod ntldr
	ntldr /bootmgr
}
  • 修改完后记得执行sudo update-grub 生效
posted @ 2017-10-13 12:02  爱尔兰之狐  阅读(1190)  评论(0)    收藏  举报