关于mac系统上brew的安装

由于想在macOS上安装"wget"命令,但需要先安装brew工具,安装brew工具需要安装xcode,但macOS 10.15.2 默认没有安装xcode,安装了xcode【Version 11.4.1 (11E503a)】之后,通过brew官网的教程给的指令来安装brew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
执行后报错:
xcode-select: error: invalid developer directory '/Library/Developer/CommandLineTools'
Failed during: /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools

从报错来看,/Library/Developer/CommandLineTools的确不存在,通过:
xcode-select -p
以找到正确的路径,于是稍微修改一下官方给的指令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh | sed 's#/Library/Developer/CommandLineTools#$(xcode-select -p)#')"
于可以看到正确的结果:
Already up-to-date.
==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics data has been sent yet (or will be during this `install` run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Next steps:
- Run `brew help` to get started
- Further documentation:
    https://docs.brew.sh

接着按照官方教程安心安装wget命令啦:
$ brew install wget

好久的一首歌

怀念一下

gpg: cancelled by user

突然某天,公司的服务签名过期导致包签名失败了,于是修改过期时间如下:
gpg> expire
Changing expiration time for the primary key.
Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0) 2
Key expires at Sat 11 Apr 2020 03:51:25 PM CST
Is this correct? (y/N) y

You need a passphrase to unlock the secret key for
user: "Cnangel (Search R & D Engineer) <cnangel@gmail.com>"
1024-bit DSA key, ID FC0A6073, created 2009-06-01

gpg: cancelled by user
gpg: make_keysig_packet failed: Operation cancelled

Command> passwd
Key is protected.
can't connect to `/home/search_v/.gnupg/S.gpg-agent': Connection refused

You need a passphrase to unlock the secret key for
user: "Cnangel (Search R & D Engineer) <cnangel@gmail.com>"
1024-bit DSA key, ID FC0A6073, created 2009-06-01

gpg-agent[60982]: command get_passphrase failed: Operation cancelled
gpg: cancelled by user
Can't edit this key: General error

出错了,查询资料发现是tty终端权限问题,加上权限即可:
# chmod o+rw $(tty)
解决问题。



多队列网卡

随着CPU核数越来越大,网卡的处理能力也越来越强,128核,万兆的网卡已经成为常态
当前流行的线上生产的操作系统还是RHEL7系列,本身系统和网卡默认都支持网卡多队列。若没有开通多队列,可以设置多队列对CPU线程做绑定,使得接收数据效率上还有一定空间提升,如下可以通过:
ethtool -L eth0 combined 8 # 即8个通道
开启多队列模式,设置更多的队列模式,查看是否修改成功,可以使用:
ethtool -l eth0
查看效果:
# ethtool -l eth0
Channel parameters for eth0:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 64
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined:        8


这里直接说解决办法:

1,放弃 Docker for Mac Docker Toolbox

2,使用OpenVPN服务代理

3Docker for Mac 里的一个实验性功能:SOCKS 代理


感谢Yibo提供方法,详文见:https://windmt.com/2019/08/30/docker-for-mac-network/

祝大家新年快乐,开启新的征程

再谈grub2菜单隐藏的问题

升级了linux内核之后,发现grub菜单又被覆盖了,于是打开/etc/default/grub文件:
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="resume=UUID=94418005-fdde-4c50-8fc9-06aace00e102 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
注释掉GRUB_HIDDEN_TIMEOUT和,并将GRUB_HIDDEN_TIMEOUT_QUIET选项设置为false即可。
再次更新,可以使用命令:
grub2-editenv - unset menu_auto_hide
默认第一个选项:
grub2-set-default 0
grub2-reboot 0
另外,可以手工通过长按shift键获取到grub2的菜单
RPM打包是个非常工程化的事情。
一般情况下,需要有debuginfo以及debugsource的包,可以用来定位线上问题;
如何在RPM打包的时候,能够打出debuginfo以及debugsource的包呢?
需要有几个条件:
1,编译时必须有 -g 选项;
2,spec文件中必须有 %build 段,来说明,哪怕空也行;
3,没有使用debuginfo的宏定义为nil;

解决grub2菜单自动隐藏

安装了fedora31之后,发现grub2引导菜单变成了自动隐藏,这样无法切换操作系统了,于是想办法解决,发现grub2的环境配置文件(/boot/efi/EFI/fedora/grubenv):
# GRUB Environment Block
saved_entry=0f9c7531424f4eaa8e6a0539697a2593-5.3.7-301.fc31.x86_64
menu_auto_hide=1
boot_success=1
kernelopts=root=UUID=d234abd9-fa35-4827-affd-257592feb5fb ro resume=UUID=94418005-fdde-4c50-8fc9-06aace00e102 rhgb quiet
boot_indeterminate=0
发现menu_auto_hide为1,表示自动隐藏,于是修改成:
menu_auto_hide=0
并重新在/boot/grub2生成grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg
一般不覆盖掉/boot/efi/EFI/fedora/grub.cfg,这样如果修改有问题,还可以有恢复的机会 :)

fedora31发布了

国内很低调的,在百度上搜索不到相关新闻,但fedora31还是如期的发布了,比以往延期发布,说明fedora工程组的工程管理上做到了不错的效果。:)
最新的fedora31有哪些新功能呢?
1,默认采用CgroupsV2了,提供统一的层次结构;控制组提供了更好的一致性、驱动的灵活性等;同时容器和工具接口也发生了变化;
2,移除了默认的python2,采用了python3作为默认python,在下个版本中python2将成为历史;
3,发布了最新的GLIBC2.30,支持动态链接器的"--preload"参数以预加载共享对象,以替代LD_PRELOAD环境变量;支持Unicode 12.1;更好的支持POSIX线程以及Arm性能优化;
4,gawk version5作为默认里程碑版本,增加了namespace功能;
5,放弃对32位架构系统的支持;
6,使用新的且更好的压缩算法zstd代替xz,当前rpm包管理器已经采用此压缩方式;
7,古老的perl语言仍然在坚持,最新的版本是5.30,后面的小版本是代表有多少年头了么? :)

Archives

Pages

Powered by Movable Type 7.1.5