Recently in cnangel手记 Category

关于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)
解决问题。



这里直接说解决办法:

1,放弃 Docker for Mac Docker Toolbox

2,使用OpenVPN服务代理

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


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

祝大家新年快乐,开启新的征程
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,后面的小版本是代表有多少年头了么? :)

fedora30 发布了

从fedora诞生以来,已经跨越了30个版本,几乎半年一个版本,也已经有了15个年头,感谢fedora工程项目组给Linux开源带来了新的活力,令全世界的fedora爱好者一直追随,这里我们来看看有fedora30带来了哪些新的变化呢?
  •  GNOME 3.32:且为了更好的管理linux操作系统服务,Fedora Server版本将ansible内置;
  • GCC 9:要知道,现在RHEL7.6才GCC4.x,横跨了5个版本;
  • Bash 5.0:一个大版本的升级,体验一下
  • PHP 7.3:支持更全面的引用传递,性能大幅度提升,比上一个版本提升22%;

关于grub2引导分区不识别的问题

最近thinkpad的bios由于安全原因,升级了一下版本,发现windows10又进入不了。

这个问题以前也出现过,后面采用insmod 分区类型,找到启动文件解决,但这次连分区也无法识别,且在grub2命令行输入exit,无法通过windows boot manager启动。

linux下fedora系统仍然ok,观察windows分区里的启动文件也没有破坏,说明是引导的问题,但grub2的命令set root='(hd0, gpt3)'已经无法识别分区(fc.c:120 unkown filesystem),但blkid可识别uuid,于是乎改变加载方式,使用搜索命令查找UUID来强制获取分区:

menuentry 'Win 10 (loader) (on /dev/nvme0n1p3)' --class windows --class os $menuentry_id_option 'osprober-chain-F0FAC47EFAC44319' {
insmod part_gpt
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 F0FAC47EFAC44319
else
search --no-floppy --fs-uuid --set=root F0FAC47EFAC44319
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

启动windows正常,重启发现linux启动项没有了,于是乎将bios的启动顺序改变 fedora > windows boot manager 即可。

所有的引导选项又回来了。:)

Monthly Archives

Pages

Powered by Movable Type 7.3.1

About this Archive

This page is an archive of recent entries in the cnangel手记 category.

精彩美食 is the previous category.

我和PHP is the next category.

Find recent content on the main index or look in the archives to find all content.