系统启动前进入fsck修复文件系统

当linux系统运行时候,无法对已挂载文件系统进行尝试性修复,所以当一个ext(n)根文件系统出现损坏时候,需要在开机时使其执行fsck修复根文件系统。

在/下创建名为forcefsck的文件,重启后将执行fsck文件系统修复。

# touch /forcefsck
# reboot

进入系统之后,默认情况下/forcefsck已被移除,如未移除,需要手动移除该文件,避免每次进入系统前都执行fsck。

# rm /forcefsck

 

Debian 10 安装Qtile

目前qtile包由于过旧,在新版debian/ubuntu源中已被移除,所以要使用源码安装qtile。

安装依赖库

如果没有安装pip,先安装pip

# sudo apt install python3-pip

然后安装依赖:

# sudo pip3 install xcffib
# sudo pip3 install --no-cache-dir cairocffi
# sudo apt install libpangocairo-1.0-0

安装Qtile

# git clone https://github.com/qtile/qtile.git
# cd qtile
# sudo pip3 install .
# sudo pip3 install qtile

初始化及启动

复制默认配置文件到个人配置文件夹:

# cp /usr/local/lib/python3.7/dist-packages/libqtile/resources/default_config.py ~/.config/qtile/config.py

在lightdm(或其他如sddm、gdm桌面管理器)中添加Qtile会话:

# sudo vim /share/xsession/qtile.desktop
[Desktop Entry]
Name=Qtile
Comment=Qtile Session
Exec=/usr/local/bin/qtile
Type=Application
Keywords=wm;tiling

 

openwrt 无法找到共享库libgcc_s.so.1

出现这个问题是今天在安装某个ipk包,所依赖的libgcc由于系统已存在,所以将其从/lib下移至/root/中,随后发现大部分命令依赖于libgcc导致无法使用。好在export正常工作,将LD_LIBRARY_PATH设置为libgcc所在目录/root,使其他工具正常使用。

export LD_LIBRARY_PATH=/root

 

caja 更改默认终端

caja文件管理器默认配置打开的终端为mate-terminal,当系统未安装mate-terminal时,点击右键在终端中打开则无响应,因为无法调用mate-terminal,解决方法是手动装一个mate-terminal或是将其默认则改为其他当前系统中已有的终端。如果在caja中点击右键未发现有“在终端中打开选项时”,需要安装caja-open-terminal扩展,该扩展在不同linux发行版本中的包名可能不同。

  • $ gsettings set org.mate.applications-terminal exec $TERM
  • 也可以通过caja配置扩展中修改,caja菜单栏-编辑-首选项-扩展,打开终端-配置扩展,将终端应用程序修改为当前系统中已安装的终端。

Linux中交叉编译8812au驱动-NanoPi Neo2

构建NanoPi Neo2交叉编译环境

# apt install build-essential

配置编译工具链

Linaro下载gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz ,解压到/opt

# tar xvf gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz -C /opt

将/opt/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin 添加到PATH中

$ export PATH=$PATH:/opt/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin

编译内核

阅读更多 Linux中交叉编译8812au驱动-NanoPi Neo2

Linux—性能:获取性能情况

uptimefreetop

原文:Exercise 28. Performance: getting performance stats, uptime, free, top

译者:飞龙

协议:CC BY-NC-SA 4.0

自豪地采用谷歌翻译

这个练习很简单。首先,我们需要什么样的性能数据?

  • CPU 使用情况:
    • 它的负载如何?
    • 哪些进程正在使用它?
  • 内存使用情况:
    • 使用了多少内存?
    • 多少内存是空闲的?
    • 多少内存用于缓存?
    • 哪些进程消耗了它?
  • 磁盘使用情况:
    • 执行多少输入/输出操作?
    • 由哪个进程?
  • 网络使用情况:
    • 传输了多少数据?
    • 由哪个进程?
  • 进程情况:
    • 有多少进程?
    • 他们在做什么 工作,还是等待什么?
    • 如果在等待什么,它是什么呢?CPU,磁盘,网络?

为了获取这些情况,我们可以使用以下工具: 阅读更多 Linux—性能:获取性能情况

linux中查找文件中相同文本

前几天有朋友问到我这问题,说是要对比两个文件中的数据,找出内容一样的。

看了一番,还是在linux下用fgrep最为简单:

fgrep -xf a.txt b.txt 

这样就可以了,若要把内容保存至新文件中:

fgrep -xf a.txt b.txt > c.txt

另grep用可以做到,用法:

grep -F -x -f a.txt b.txt

 

 

Linux中ipv4优先

默认不修改情况下,如linux主机中有ipv6地址, 会优先走ipv6通道,例如debian的源dns解析会默认返回AAAA记录(ipv6),要使用ipv4 连接优先而不必禁用ipv6,需要修改gai.conf配置文件使其生效。

debian系:修改/etc/gai.conf,取消下面这一行的注释

precedence ::ffff:0:0/96  100

redhat系:修改/etc/gai.conf,添加如下内容

label       ::1/128        0
label       ::/0           1
label       2002::/16      2
label       ::/96          3
label       ::ffff:0:0/96  4
precedence  ::1/128        50
precedence  ::/0           40
precedence  2002::/16      30
precedence  ::/96          20
precedence  ::ffff:0:0/96  100

 

Cent os 5 可用的备用源(5.11)

修改/etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://vault.centos.org/5.11/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://vault.centos.org/5.11/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://vault.centos.org/5.11/extras/$basearch/

gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

 

shell下生成随机字符

openssl :

openssl passwd -stdin < <(echo)

urandom:

10 位的md5 字符串

cat /dev/urandom | head -n 10 | md5sum | head -c 10  

linux uuid:

cat /proc/sys/kernel/random/uuid | cksum | cut -f1 -d " "

date产生随机数:

date +%s%N

基于debian的pxe网启服务器

Links:
https://help.ubuntu.com/community/PXEInstallMultiDistro

http://oss.netfarm.it/guides/pxe.php

https://www.centos.org/forums/viewtopic.php?f=47&t=49520 ###CENTOS BOOTISSUE

http://drbl.nchc.org.tw/fine-print.php?path=./advanced/01_DRBL/08-drbl-sanboot.faq#08-drbl-sanboot.faq

Basic setup
tftpd-hpa syslinux isc-dhcp-server(optional:if you do not have a dhcp server) tftp-hpa(optional:just to test tftpd)

阅读更多 基于debian的pxe网启服务器

svn批量備份還原腳本

上週備份SVN時,順手瞎寫了批量備份及還原的腳本,測試ubuntu下可正常應用,分開為兩腳本。這兩腳本只能在所有SVN庫位於同於目錄下才可用,運行備份腳本時,若非第一次,會刪除所有已存在的.dump文件<自訂>。還原腳本亦會檢查指定目錄中存在的與欲還原的SVN同名的所有庫。

阅读更多 svn批量備份還原腳本

Manage KVM Hosts Through libvirt on Centos 6.4

System Environment:Centos 6.4 x86_64
Hardware:Lenovo IdeaCenter B300
要用KVM实现虚拟机系统,首先要确定主机是否支持虚拟化,通过/proc/cpuinfo可取得CPU信息!
:grep -E ‘(vmx|svm)’ /proc/cpuinfo | grep -E -o ‘(vmx|svm)’ /proc/cpuinfo若有任何信息打印基本上可以确定CPU是支持虚拟化的。 阅读更多 Manage KVM Hosts Through libvirt on Centos 6.4

OpenSuse 12.3安装Nvidia官方驱动

OpenSuse 12.3使用的Nvidia驱动是nouveau,要安装Nvidia官方驱动,应先将其禁用。

我们可以在modprobe中添加一个blacklist,让系统启动时不加载该项。

echo “blacklist nouveau” >> /etc/modprobe.d/50-blacklist.conf

要安装Nvidia驱动,需要先安装gcc ,mac和kernel devel 。

zypper install gcc make kernel-devel

然后进入到Nvida显卡驱动所在目录,确认下载的文件具有可执行权限。

chmod +x NVIDIA-Linux-x.xx.x.x.run

开始安装前,先切换到其他TTY,然后将gnome-shell 杀掉,在驱动所在目录中执行./ NVIDIA-Linux-x.xx.x.x.run进行安装。

假如没有其他问题,那么驱动则应该在重启之后生效。

最后需要注意的一点是,用户在登陆到gnome-shell时,会闪退回到登陆界面。

出现这个问题是因为Nvidia驱动安装过程中,并没有自动将用户加入到video群组中。

手动将你需要登陆到gnome-shell的用户添加到video群组中即可 ,

usermod -a -G video [username]     ## [username]:需要登陆的用户名id

QMMP-支持CUE检索的Linux音频播放器

QMMP是一个多媒体音频播放器,使用QT库编写而成,该播放器界面看起来跟Windows下的XMMS有点相似[默认皮肤]。

QMMP不只是单一Linux平台上的音频播放器,且支持Windows、FreeBSD平台。

使用QMMP的原因其实只有一个,最近又在带有桌面环境的Linux中玩耍,那么一般音频播放支持是必须的。加上大多数媒体为无损音乐,大部分都是整轨音频,由CUE检索。只因QMMP支持CUE中文检索这个问题比较好解决!

在设置中[播放器单击右键弹出菜单],插件选项,选中CUE插件点击参数设置,将Default encoding更改为GB18030。这样就达到目的了,常见音频格式都可以支持,且CUE也能够完美检索了!

系统环境:Linux Mint Maya

对其感兴趣的可以关注其项目主页:https://code.google.com/p/qmmp/

关于Debian、Ubuntu运行级别和图形界面

写这篇文章的主要原因,是因为在某些机器上运行Linux【主要是DebianUbuntu】在启动X图形【如gnome】时,屏幕黑屏完全无反应。对于此种情况做简单的记录,也便他日翻阅,也顺道记录小部分基于Debian的Linux发行版本的运行级别与X的问题。

阅读更多 关于Debian、Ubuntu运行级别和图形界面

如何选择Linux发行版本

在Linux诸多的发行版本中纠结的日子也不短了,从最初的Debian,到OpenSuse,到Ubuntu。直至上班之后,逐渐习惯于DEB包管理的Ubuntu,到现在用的Linux Deepin。之所以选择Linux Deepin,是因为它基本上已经满足自己对桌面应用的需求,因为自己已经渐渐喜欢上Linux命令行了! 选择一个Linux发行版本,确实是不容易决定的,这个还要看个人的需求来定。或许今天觉得喜欢的,尝试了另外的发行版本后,又觉得不咋样了!以下装载一些资料,阐述对于不同需求及用户对Linux发行版本的选择!

阅读更多 如何选择Linux发行版本