Linux问题

Linux操作符问题

函数退出 #

函数退出状态:0(成功),非零(非正常,失败)

引号 #

双引号中使用转义字符可以防止展开
这意味着单词分割(空格制表换行分割单词)、路径名展开(*星号)、波浪线展开和花括号展开都将失效,然而参数展开算术展开命令替换仍然执行

echo "text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER" #禁止部分
text ~/*.txt {a,b} foo 4 me
echo 'text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER' #全部禁止
text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER

各种操作符 #

[ expression ] / test[[ expression ]]$(( expression ))$var$( termi )
文件表达式 -e file,字符串表达式 -n string,整数表达式 integer1 -eq integer2test增强,增加 [ str =~ regex ],增加 ==
[[ $FILE == foo.* ]]
整数加减乘除取余取变量执行命令/函数
termi取变量$必加,里面被看作命令参数,< > ( ) 必须转义 否则 小于号 < 大于号>被认为重定向与[ ] 一致取变量$可加可不加termi取变量$必加

image-20230920195057911

...

Debian问题处理3

fcitx配合各种软件出现的问题 #

本文章中出现的引号都是英文状态下的引号,切记!

安装完毕后环境变量设置 #

/etc/profile 和/etc/enviroment 均可,profile针对用户,environment针对系统。一般都是放profile里面

不行的话 #

如果修改profile无效,则在/etc/enviroment添加修改

#/etc/enviroment 末尾添加
fcitx & #这行要添加
export XIM_PROGRAM=fcitx
export XIM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export LANG=zh_CN.UTF-8

source后再重启一下哦

装了zsh后(从终端打开)idea等各种软件不出现fcitx输入法的问题 #

/.zshrc最后添加

export XIM_PROGRAM=fcitx
export XIM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export LANG=zh_CN.UTF-8
export LC_MESSAGES=en_US.UTF-8 #让终端报错时,显示英文 而不是中文

也可以不在/.zshrc中追加这些,而是直接追加 source /etc/profile或者/etc/enviroment即可

如果还有问题,就要在idea的配置文件idea.vmoptions添加

-Drecreate.x11.input.method=true

如果使用系统默认终端的情况下出的问题 #

可以在 ~/.bashrc最后添加这段话,重启试试

export XIM_PROGRAM=fcitx
export XIM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export LANG=zh_CN.UTF-8

各个文件的解释 #

/etc/profile //用户级,所有用户登陆时才会执行 对于fcitx没效果(firefox无效)
/etc/enviroment //系统级,一般不修改 这里有效果
~/.bashrc //系统默认终端打开时执行 ~/.zshrc //zsh使用前执行

...

Debian问题处理2

代理 #

Vmware里面的debian,连接外面物理机的v2ray。

对于浏览器 #

无论是firefox还是chromium,都可以直接通过v2ray允许局域网,然后使用ProxySwitchOmege代理访问

对于命令 #

可以使用proxychains,直接用apt-get 安装即可,注意事项

作用范围 #

对tcp生效,ping是不生效的,不要白费力气

需要修改两个地方 #

  1. libproxychains.so.3 提示不存在 ly

    whereis libproxychains.so.3 
    #libproxychains.so.3: /usr/lib/x86_64-linux-gnu/libproxychains.so.3
    #修改/usr/bin/proxychains
    #export LD_PRELOAD = libproxychains.so.3 修改为:
    export LD_PRELOAD = /usr/lib/x86_64-linux-gnu/libproxychains.so.3
    
  2. l’y配置修改

    #修改文件/etc/proxychains.conf,在最后一行添加
    socks5 	192.168.1.201 1082
    
  3. 使用

    proxychains git pull
    #直接在命令最前面输入proxychains即可
    

直接网络(gui)配置代理 #

这个对于终端不生效

zsh安装 #

proxychains wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
proxychains sh install.sh

zsh主题安装 #

proxychains git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
#修改
vim ~/.zshrc
ZSH_THEME="powerlevel10k/powerlevel10k"

重新配置 p10k configure

...

Debian问题处理1

清华源设置 #

vim /etc/apt/sources.list
#注释掉原来的,并添加
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware

deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

中文环境 #

su
sudo apt-get install locales
#配置中文环境 1.选择zh开头的 2 后面选择en(cn也行,不影响输入法)
sudo dpkg-reconfigure locales
#设置上海时区
sudo timedatectl set-timezone Asia/Shanghai

中文输入法 #

#清除旧的环境
apt-get remove ibus #不兼容问题
apt-get remove fcitx5 fcitx5-chinese-addons 
apt-get autoremove 
ly # gnome-shell-extension-kimpanel
sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk4 fcitx5-frontend-gtk3 fcitx5-frontend-gtk2  fcitx5-frontend-qt5 
im-config #配置使用fcitx5 
#环境变量添加
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
#退出root用户权限,使用普通用户权限再终端
fcitx5-configtool #配置中文输入法即可
#附加组件-经典用户界面--这里可以修改字体及大小

其他 #

应用程序-优化 修改默认字体大小

...

安卓手机及平板安装linuxDeploy的问题简记

为什么是简记呢,因为这几天折腾这些太累了,等以后回过头来重新操作再详细记载

前言 #

初衷 #

一开始的初衷是为了在平板上使用idea,之前看了一篇docker使用idea的文章,心血来潮。所以想直接在平板的termux安装docker然后使用,结果一堆问题。后面妥协了,在手机上装,然后开远程吧

这年头机在人在,所以装手机还是平板,还真没有很大的问题。后面使用情况证明:手机不需要开热点的情况(开热点是为了保证网络联通,在同一局域网),其实不怎么发热也不怎么耗电的。

平板上 #

本来想在tab s8平板上通过termux安装linux(无root权限),但是总会遇到一堆问题–连系统都装不上。因为root会有两个问题,所以一开始没有考虑使用linuxDeploy(需要root)

  • 保修失效
  • 无法通过系统直接更新(需要线刷)

手机上(root) #

配置 #

后面尝试在root过的手机上安装linuxDeploy,照样有一堆问题,这里配上能使用的配置(能进系统):

ly-20241212141834176
我用的时候ssh端口改了一下,不过不影响,第一次用的22端口也是能连上的。初始用户写的root,这里也是设置的root。
最好挂载一下
ly-20241212141834486

问题 #

  1. 用其他桌面环境,可能会导致图标没有(应该是就没有那个应用,比如浏览器),不过我这个配置完也没有浏览器,不过好在图标也没,不用自己再去移除了。

  2. 装完之后vns有出错过一次,突然就蹦了,死活连不上。后面我直接重装系统了(linux deploy),没有再出现问题。装完之后需要在etc/rc.local添加:

    #删除vns临时文件,保证每次启动都是使用端口:5901
    #(linux上显示:1,连接使用时要+5900,即使用5901端口)
    rm -rf /tmp/.X[1-9]-lock
    rm -rf /tmp/.X11-unix/X[1-9]
    #保证系统每次启动后都自动启动vncserver
    vncserver
    

    电脑上随便找了个VNCServer 绿色免安装程序可以连上
    ly-20241212141834670
    平板上使用AVNC,电脑不方便截图,就不截了.. 类似长这样
    ly-20241212141834882

    #常用命令(也不常,这两天用的最多的)
    vncserver -kill :1 #强制关闭端口1
    vncserver #启动
    
  3. 安装idea,也不用安装,就是去官网下载解压即可。问题:需要jdk11以上才能打开(疑惑,貌似之前在windows安装的时候没这要求,反正后面我妥协了,装了11,之后就是配置环境变量什么的)
    一开始linuxDeploy的Ubuntu,然后..发现openjdk11装完之后,java -version显示的10,一脸蒙圈,搞得后面又重装了Debian(中途还试了centos)

  4. 装完没有中文输入法,系统装完就是要用的,如果随便打打命令倒是不需要中文输入法,但是如果打点代码写点注解,那蹩脚英语就…总不能句句good good study,day day up..真是one day day de…

问题处理 #

其实解决方案前面好像都说了,输入法单独开一块吧,比较恶心,主要是让我意识到了自己水平有多菜…

...

zsh卸载后root无法登录及vm扩容centos7报错处理

zsh卸载后root无法登录 #

主要参考文档 https://blog.csdn.net/Scoful/article/details/119746150

  1. 重启,开机引导进入下面的那个,按e进入编辑模式

ly-20241212141833490

  1. 移动光标,找到ro crashkernel=auto,修改为 rw init=sysroot/bin/sh

    ly-20241212141833799

  2. 按ctrl+x进入单用户模式界面

ly-20241212141833982

  1. 输入chroot /sysroot 获取权限
  2. vim /etc/passwd
  3. 第一行 ,root ……zsh,中/bin/zsh,改为/bin/bash
  4. touch /.autorelabel更新SELinux信息
  5. 两次exit 推出chroot
  6. reboot 重启:需要一定时间,耐心等待

vm扩容centos7 #

这里是因为我在vm手动扩容后,进入centos7系统—用了 可视化界面中的disk软件直接扩容,发生错误(具体错误我没注意,一闪而过了),后面呢我再使用命令resize2fs /dev/sda3的时候,发现总是提示 busy

解决办法 #

按照上面的办法,进入到第3步结束之后(按ctrl+x进入单用户模式界面 要做)
输入 umount /dev/sda3 进行卸载
然后输入下面进行修复(极为重要),然后出现问题是否修复一直按’y’即可

xfs_repair /dev/sda4
注:如果你当前文件系统是ext4,可以执行fsck.ext4 /dev/sda4

然后输入 mount /dev/sda3 / 进行挂载(这步可能不需要)
最后 reboot 重启
重启之后,再执行 resize2fs /dev/sda3 即可