将 PNG 图片转换为优化的 MacOS .icns 图标文件的 Shell 脚本,使用 sips + pngquant 两级压缩,自动调整尺寸至 512x512,支持透明背景。

功能

  • 自动调整图片尺寸为 512x512
  • sips + pngquant 两级压缩优化
  • 完整的依赖检查和错误处理
  • 显示压缩前后文件大小对比

依赖安装

# 仅需安装 pngquant
brew install pngquant

注:sips 和 iconutil 均为 MacOS 系统自带工具,无需额外安装

使用方法

下载脚本:generate-macos-icon.sh

# 添加执行权限
chmod +x generate-macos-icon.sh

# 基本用法(输出同名 .icns 文件)
./generate-macos-icon.sh my_icon.png

# 指定输出文件名
./generate-macos-icon.sh my_icon.png custom_name.icns

# 批量转换
for file in *.png; do
    ./generate-macos-icon.sh "$file"
done

redhat

错误原因

在使用未注册的 RedHat Linux 企业版时。使用yum命令会出现如下提示:

[root@localhost ~]# yum install httpd
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
No package httpd available.
Nothing to do

解决方案

而这种情况可以使用CentOS的yum来代替掉系统本身的yum 脚本如下:

#!/bin/sh
rpm -qa | grep yum | xargs rpm -e --nodeps
wget  http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
wget  http://mirrors.ustc.edu.cn/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
wget  http://mirrors.ustc.edu.cn/centos/5/os/i386/CentOS/yum-3.2.22-39.el5.centos.noarch.rpm
rpm -ivh yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
rpm -ivh yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
rpm -ivh yum-3.2.22-39.el5.centos.noarch.rpm
wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo
mv CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo
rm -f yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
rm -f yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
rm -f yum-3.2.22-39.el5.centos.noarch.rpm
rm -f CentOS-Base.repo

将上面的脚本保存为:redhat_use_centos_yum.sh

点击这里直接下载 redhat_use_centos_yum.sh 然后直接运行这个脚本即可。

一键脚本

如果闲麻烦也可以依次输入下面几条指令来下载并执行我已经写好的脚本,同样可以达到目的:

wget http://www.leelib.com/wp-content/uploads/2012/04/redhat_use_centos_yum.sh
chmod 777 redhat_use_centos_yum.sh
sudo ./redhat_use_centos_yum.sh

现在再试试yum命令是否已经没有了 This system is not registered with RHN. 提示,并且可以正常使用了呢! :)