导航:Home » linux
此为分类:" linux " 下的所有文章

Linux 程序守护脚本

作者:admin | 时间:May 4, 2018 | 分类:linux | 评论:0 ℃
Linux中若一个程序没有守护进程,那么意外退出之后就无法自我重启,这时候,一个定时运行的脚本便可以帮我们解决这个问题,比如:
#!/bin/sh
# 自动检查 UDP2RAW/TINYVPN 是否运行中,没有运行就启动.
# 脚本时间:2018-05-03

UDP2RAW=`ps -w|grep udp2raw|grep -v grep|wc -l`
TINYVPN=`ps -w|grep tinyvpn|grep -v grep|wc -l`

if [ ${TINYVPN} -eq 0 ];then
	tinyvpn -c -r127.0.0.1:1111 -f20:5 -k vpn --sub-net 10.0.10.0  &> /dev/null &
fi

if [ ${UDP2RAW} -eq 0 ];then
	udp2raw -c -l127.0.0.1:1111 -r*.*.*.*:53 -a -k vpn --raw-mode faketcp &> /dev/null &	
fi

修改 Debian 9 颜色方案

作者:admin | 时间:April 22, 2018 | 分类:linux | 评论:0 ℃

1、把系统默认配色方案导出到用户目录

$ dircolors -p > ~/.dircolors

2、修改自己需要的颜色

$ vi ~/.dircolors

3、重新加载方案

$ source ~/.bashrc

VIM 环境设置

作者:admin | 时间:April 22, 2018 | 分类:linux | 评论:0 ℃
在 /etc/vim/vimrc 添加如下代码:
set nu
set tabstop=5
set hlsearch
set autoindent
set backspace=2
syntax on
colorscheme desert

NAS 文件夹权限设置指引

作者:admin | 时间:April 22, 2018 | 分类:linux | 评论:0 ℃

NAS 最基本的就是文件夹权限设置。就本人的NAS来说,Transmission 负责 PT 下载, Sanba 负责网络分享,所以我的分享目录必须能下载,能编辑,能删除。

以下为几个要点:

1、设定一个分享组,把Samba用户和Transmission用户添加到改分享组

#groupadd nasshare
#usermod -G nasshare debian-transmission
#usermod -G nasshare hzqim

2、创建共享文件夹并对共享文件夹设置 SGID

#mkdir /home/nas
#chgrp nasshare /home/nas
#chown 2775 /home/nas

3、设置Transmission创建文件的umark和Samba创建文件的权限。

修改Transmission的配置文件,把umask设置为2,其实是把8进制的002转化为十进制的2

"umask": 2,

修改Samba的配置文件,在[global]段增加如下代码,以支持软链接共享

follow symlinks = yes
wide links = yes
unix extensions = no

另外,在分享设置段,加入下面两行参数

create mask = 775
directory mask =775

总结:用SGID设置文件所属用户组,umask设置文件的权限,如此配合,就可以轻松管理文件了。

有关 Linux 软链接的两三事

作者:admin | 时间:April 22, 2018 | 分类:linux | 评论:0 ℃
首先,软链接比硬链接好用的地方在于它可以对文件夹进行链接。
创建软链接的命令是:
ln -s 目标文件(夹)  软链接

这里有个建议,目标文件(夹)最好用绝对路径来表示。这样,无论软链接怎么移动,都能链接到正确的路径。


另一个要提到的就是如何正确删除软链接。

如果软链接指向的是文件,那么直接删除软链接就可以了,原目标文件安然无恙;

如果软链接指向的是文件夹,那么直接删除软链接,原目标文件夹和文件夹里面的文件也安然无恙;

但是,如果删除的是 “软链接/” ,没错,就是软链接后面带个“/”,那么,你删除的不是软链接,而是原目标文件夹里面的文件。对了,我是用了近300G的数据为代价才发现这个差别的。

清理 scripts/config 缓存,解决 make menuconfig 错误

作者:admin | 时间:October 7, 2017 | 分类:linux,router | 评论:0 ℃
本来 Manjaro 用得好好的,但是滚动升级了一下,LEDE 的编译环境就出问题了,具体表现为

make menuconfig 界面错位。

问了蝈蝈,得到的答案就是重新编译 mconf。

自己摸索了一下,终于知道 mconf 在 scripts/config 下面,遂删除二进制文件 mconf,但没有效果。

后来换了 Linux mint,提示找不到 libncursesw.so.6 这个文件,软链了一个 libncursesw.so.5之后,能跳过错误提示,并且界面不再错位了,但多了好多@符号,但终究不影响使用了。

但是Linux mint xfce4 用得好别扭啊,心里就 长草了。

今天操弄了deepin Linux,还是提示找不到 libncursesw.so.6 这个文件,遂 Google 了一下类似问题,原来问题还是出在 mconf。因为  scripts/config 下面有些对象是在 Manjaro 生成的,而 Manjaro 用到的是 ncursesw.6 ,其它发行版 ncursesw 的版本还停留在 ncursesw.5.9 。

回到问题的本源:彻底清除 mconf 的缓存,重新编译,用到的命令是:

make -C scripts/config clean

至此,make menuconfig 里面的 @ 符号消失了,UI也不错位了,完美!

安装 ArchLinux 扩展功能

作者:admin | 时间:July 5, 2017 | 分类:linux | 评论:0 ℃

0、启用网络

#ip link
查看网卡名称,如果实体机一般为eth0,Vmware环境需要用上述命令查找名称
#cp /etc/netctl/examples/ethernet-dhcp /etc/netctl/dhcp && netctl enable dhcp
#systemctl enable NetworkManager

1、安装桌面环境

#pacman -Syy xorg xorg-server
#pacman -S gnome gnome-extra gnome-tweak-tool
#pacman -S gdm
#systemctl enable gdm
#systemctl start gdm
运行桌面环境一般使用普通用户身份,如果没有添加普通用户,可以在安装桌面环境之前添加:
#useradd -m  -g users -s /bin/bash hzqim
#passwd hzqim

2、安装输入法

#sudo pacman -Sy fcitx-im fcitx-configtool fcitx-googlepinyin

在/etc/environment中加入:

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

UEFI 下安装 ArchLinux

作者:admin | 时间:July 4, 2017 | 分类:linux | 评论:0 ℃

1.安装准备

  • 键盘布局(略)
  • 验证启动模式,看看 LiveCD 是否在 UEFI 模式下(略)
  • 连接到因特网,通过 ping baidu.com 检验网络是否正常
  • 更新系统时间,如果 BIOS 时间正常可以略过
  • 建立硬盘分区,fdisk -l 检查有那些硬盘,用 cfdisk 来分区,第一个分区为 efi system 格式(挂载在/boot),用于存放EFI,grub,以及内核,挂载到 /mnt/boot
  • 格式化分区,特别的,格式化 esp 为 FAT32 格式(mkfs.fat -F32 /dev/sdx1)
  • 挂载分区,先挂载“ / ”分区(/dev/sdx2) 到 /mnt,再在 /mnt 创建 boot 目录用于挂载 /boot (/dev/sdx1)

2.安装

  • 选择镜像,nano /etc/pacman.d/mirrorlist ,把国内的源放在第一行,之后运行 pacman -Syy 更新源
  • 安装基本系统+引导软件,pacstrap -i /mnt base base-devel vim grub efibootmgr

3.配置系统

  • 更新fstab,fenfstab -U /mnt  >> /mnt/etc/fstab
  • 更改root,arch-chroot /mnt
  • 设置中国时区,ln -sf /usr/share/zoneinfo/Asian/Shanghai /etc/localtime
  • 设置Locale,vim /etc/locale.gen,开启 en_US.UTF-8 和 zh_CN.UTF-8,之后 运行 locale-gen  &&  echo LANG=en_US.UTF-8 > /etc/locale.conf
  • 设置主机名,echo myhostname > /etc/hostname,修改 /etc/hosts,添加 127.0.1.1 myhostname.localdomain myhostname
  • 网络配置 ,cp /etc/netctl/examples/ethernet-dhcp /etc/netctl/dhcp && netctl enable dhcp
  • 初始化内存盘——Initramfs , mkinitcpio -p linux
  • 修改 root 密码,passwd root
  • 安装 grub 引导软件,grub 既能引导 BIOS 也能引导 UEFI,就选它了,grub 安装到系统后还需要应用到 EFI 目录以便更新模块。
grub-install --target=x86_64-efi --efi-directory=/boot
grub-mkconfig -o /boot/grub/grub.cfg
  • 重启系统,重启前退出到 Live CD ,并卸载 /mnt(exit  umount -R /mnt)
Copyright © 2012-2018 hzqim Powered by Typecho)))