Fedora linux 37

[TOC]

从deepin v20迁移到Fedora

deepin日常使用没有太大问题,dde桌面优化非常好用,但是稳定意味着很多库较为古老更新延迟很大。例如我需要使用的GTK4,即使使用源码编译都很难安装最新版,只能用部分功能。

因为UOS系统原因,此系统适配了很多国产软件。

Fedora总算不像deepin再编译键盘驱动问题了,哈哈哈,已经有大佬提交到linux内核里面。https://github.com/landv/rapoo-keyboard-driver


Fedora丝滑程度值得你选择!毕竟Linus Benedict Torvalds都在用。

下载地址

系统使用建议

  • 如果有科学上网的需求,请安装两个浏览器吧,代理工具区分国内外网站的库更新很不及时的。

小知识点

  • wget 限速下载:wget -c --limit-rate=1024k

  • U盘写入 sudo dd if=manjaro-gnome-22.0-221224-linux61.iso of=/dev/sdc1 bs=2M

  • 非系统盘自动挂载

    • 先使用Fedora ked 自带文件管理器Dolphin挂在上

    • sudo gedit /etc/fstab

    • df -h 查看挂载目录 当然也可以自定义挂载目录

    • /dev/sdb3 /run/media/landv/系统 ntfs defaults 0 0
      /dev/sdb4 /run/media/landv/软件 ntfs defaults 0 0
      /dev/sdb5 /run/media/landv/文档 ntfs defaults 0 0
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83

      - 中文目录转换英文目录

      - 首先这是一个坑,转换完了以后Konsole中文全部显示乱码。也有可能是我没重启的因素。
      - `export LANG=en_US` 设置语言变量
      - `xdg-user-dirs-gtk-update` 切换为英文目录
      - `export LANG=en_US`
      - **因为有坑所以建议使用设置中心迁移目录** : 设置》个性化》应用程序》位置》
      - 然后修改 /home 目录下的中文目录为英文。

      ## U盘安装

      - 使用**ventoy**制作U盘启动
      - 用这个安装很省事儿,初始化一次U盘就好,镜像直接放U盘里面随时准备安装和升级,当然电脑里面有镜像也可以直接调用。
      - https://www.ventoy.net/cn/index.html
      - https://github.com/ventoy/Ventoy

      ## 包转换工具

      - alien
      - 也不能完全依赖这个鬼东西,其实不转换大部分也能使用,直接用解压工具,解压后手动部署就好。(Typora就很蛋疼的转换成rpm后不能自动部署安装,只能手动)
      - https://cloud-atlas.readthedocs.io/zh_CN/latest/linux/arch_linux/alien_convert_package.html
      - `alien -r a.deb`

      ## 软件安装和适配

      - 截图

      - flameshot 可以使用kde配置快捷键进行截图,bug就是配置了快捷键截图,是英文界面。也无所谓了。

      - **百度网盘**

      - 因百度网盘仅仅对国产linux分支进行了优化适配,使用了很多旧版本库问题,目前需要进行拆包重新适配新版依赖库。
      - 替代解决方案直连下载,使用油泼猴-油小猴网盘直连下载助手进行下载网盘内容。
      - 需要注意的是,这个鬼东西需要先关注`油小猴`公众号获取暗号。
      - https://www.youxiaohou.com/
      - https://github.com/derjanb

      - **搜狗输入法**

      - 为毛使用搜狗输入法呢,默认ked自带的输入法不能输入中文,不知道是配置问题还是BUG。直接干掉吧,毕竟搜狗输入法比自带的好用很多。

      - ibus vs fcitx ked默认自带ibus框架,需要替换成fcitx框架。

      - https://shurufa.sogou.com/linux

      - ~~支持系统:Ubuntu(2004/1910/1804/1604)、Ukylin、Deepin、麒麟、UOS~~ 这就涉及到另一项技能问题了,dep包转换rpm包

      - https://blog.csdn.net/qq_44412240/article/details/124653571

      - `sudo dnf update`

      - `sudo rpm -e --nodeps ibus`

      - `sudo dnf install fcitx fcitx-configtool`

      - `sudo dnf install fcitx-pinyin`

      - `sudo dnf install dpkg`

      - `sudo dnf install qtwebkit`

      - `wget https://ime.sogouimecdn.com/202301091510/9e5d7105a4ff48d3cb76a8870e00782f/dl/gzindex/1656597217/sogoupinyin_4.0.1.2800_x86_64.deb`

      - `sudo dnf install alien`

      - `sudo alient -r --scripts sougoupinyin*.deb`

      - `sudo rpm -ivh --force sougoupinyin*.rpm`

      - `sudo cp /usr/lib/x86_64-linux-gnu/fcitx/* /usr/lib64/fcitx/` 第一个目录有三个so文件都要复制。

      - `sudo chown -R 776 /usr/share/fcitx/`

      - `sudo dnf install fcitx-qt5 fcitx-configtool -y`

      - `vim /etc/profile`

      - ```txt
      export XIM_PROGRAM=fcitx
      export GTK_IM_MODULE=fcitx
      export QT_IM_MODULE=fcitx
      export XMODIFIERS="@im=fcitx"
    • fcitx -r:fcitx-configtool

    • 然后就是开机启动问题了,这个放到开机启动里面kde总是报bug。我就吧fcitx放到桌面和任务栏里面了,手动点击算求了。

  • WPS 金山办公office

    • 高版本wps在Fedora37 里面任然存在问题,不过找不到rpm包的历史版本,alien转换也出现错误,手动安装吧,需要自己补充依赖问题。
    • 缺少字体:系统缺失字体:Symbol、Wingdings、Wingdings2、Wingdings3、Webdings、MT Extra,WPS无法正确地显示某些符号(公式)!
    • 手工解压deb包,按照目录拷贝就好。
  • jetbrains系列安装包

    • https://www.jetbrains.com/zh-cn/
    • 手动安装就好,然后破解包在此目录里面。
    • DataSpell Python+Jupyter模式,这个本地方式比网页要方便很多。
  • v2ray&xray

    • getconf LONG_BIT 查看系统位数,一般都是64位了。

    • 因服务器使用的x-ui一键脚本,客户端也是用xray配置吧。

    • https://github.com/XTLS/Xray-core

    • https://github.com/XTLS/Xray-core/releases/download/v1.6.5/Xray-linux-64.zip

    • vim /etc/systemd/system/xray

    • [Unit]
      Description=xray Service
      Documentation=https://github.com/XTLS/Xray-core
      After=network.target nss-lookup.target
      
      [Service]
      User=nobody
      CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
      AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
      NoNewPrivileges=true
      ExecStart=/usr/bin/xray/xray -config /usr/bin/xray/config.json
      Restart=on-failure
      RestartPreventExitStatus=23
      
      [Install]
      WantedBy=multi-user.target
      
      1
      2
      3
      4
      5
      6
      7
      8
      9

      - ```txt
      sudo systemctl enable xray
      sudo systemctl disable xray

      sudo systemctl start xray
      sudo systemctl stop xray
      sudo systemctl restart xray
      sudo systemctl status xray
    • sudo chmod +x xray

    • sudo mkdir /usr/bin/xray

  • 全局代理

    • vim /etc/profile

    • ```txt

      全局代理

      export http_proxy=”http://127.0.0.1:1085
      export https_proxy=”http://127.0.0.1:1085

      设置非代理IP和域名

      export no_proxy=127.0.,192.168.

      git强制代理

      git config –global http.proxy ‘http://127.0.0.1:1085
      git config –global https.proxy ‘socks5://127.0.0.1:1086’

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22

      - 浏览器代理设置

      - Chrome
      - `/usr/share/applications`
      - `/usr/share/applications/google-chrome.desktop`
      - 所有`Exec` 都加上`--proxy-server="127.0.0.1:1085"`
      - `Exec=/usr/bin/google-chrome-stable --proxy-server="127.0.0.1:1085" %U`
      - console 启动 `google-chrome-stable --proxy-server="127.0.0.1:1085"` 如果设置了全局代理配置,直接在命令行启动`google-chrome-stable`也能进行代理。
      - Firefox 有单独设置进行配置代理,比Chrome方便点,Chrome使用的系统对话框进行配置的。kde代理配置很蛋疼不能即使生效,最好不用,直接使用配置文件进行配置就好。

      - proxychains-ng 强制代理

      - https://www.linuxprobe.com/proxychains-proxy.html

      - 启动项

      - `/etc/rc.d/rc.local`

      - ```shell
      #!/bin/bash
      fcitx
  • lanproxy

  • Typora

    • 解包手动安装就好
  • virtualbox 虚拟机安装

    • dnf -y install https://download.virtualbox.org/virtualbox/7.0.2/VirtualBox-7.0-7.0.2_154219_fedora36-1.x86_64.rpm

    • ```txt
      sudo mkdir -p /var/lib/shim-signed/mok
      sudo openssl req -nodes -new -x509 -newkey rsa:2048 -outform DER -keyout /var/lib/shim-signed/mok/MOK.priv -out /var/lib/shim-signed/mok/MOK.der
      sudo sudo mokutil –import /var/lib/shim-signed/mok/MOK.der
      sudo reboot

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28

      - Restart "rcvboxdrv setup" after system is rebooted

      - `/sbin/vboxconfig`

      - 有错误提示也不用管,都撸一遍然后重启系统就OK了



      ## 关闭防火墙&关闭防护

      这个是最主要的事情。

      https://blog.csdn.net/u014183456/article/details/79711350

      ### SELINUX服务关闭

      - `/usr/sbin/sestatus -v ` 如果SELinux status参数为enabled即为开启状态

      - `getenforce` 获取防护状态

      - `setenforce 0` 临时关闭

      - `/etc/selinux/config`

      - ```txt
      SELINUX=enforcing
      SELINUX= disable

关闭防火墙

  • systemctl status firewalld 查看状态
  • systemctl stop firewalld 停止
  • systemctl disable firewalld 关闭自启

依赖库和配置问题

  • ssh 命令行登录其他服务器报错问题处理

    • vim ~/.ssh/config

    • Host *    
      KexAlgorithms +diffie-hellman-group1-sha1    
      HostkeyAlgorithms +ssh-dss,ssh-rsa    
      PubkeyAcceptedKeyTypes +ssh-dss,ssh-rsa
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40

      - 依赖库

      - `dnf install libnsl`

      - .bashrc

      - ```txt
      git config --global http.proxy 'http://127.0.0.1:1085'
      git config --global https.proxy 'socks5://127.0.0.1:1086'
      . "$HOME/.cargo/env"
      export PATH=$PATH:/usr/local/go/bin
      export PATH=$PATH:/snap/bin/
      export PATH="/home/landv/anaconda3/bin:$PATH" # commented out by conda initialize

      #export PATH=$PATH:/home/landv/Android/cmdline-tools/bin
      export NO_PROXY=127.0.0.1
      #npm
      #npm set prefix ~/.npm
      PATH="$HOME/.npm/bin:$PATH"
      PATH="./node_modules/.bin:$PATH"

      #export NODE_HOME=/usr/local/n/versions/node/10.10.0
      #export PATH=$NODE_HOME/bin:$PATH

      export NVM_DIR="$HOME/.config/nvm"
      [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
      [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion


      #dotnet
      PATH="$HOME/.dotnet:$PATH"


      PATH=$PATH:~/.local/bin

      # some more ls aliases
      alias ll='ls -l'
      alias la='ls -A'
      alias l='ls -CF'