包管理器还是使用 yum 吧,apt-rpm 老了
apt-rpm 一直都没更新,也就不行了。yum 的安装使得 rpm 包还得更新,折腾半天。 smart 被无视了。
不过 3.0 的 srpm 里面有 yum 了。 3.0有yum,不过yum有点儿慢。
yum的分组是怎么来的呢,这个比较好。smart现在还不支持。 我没发现 smart 能管理 yum 的信息源,所以选择了 yum 就不会再用 smart 了,而且目前的 smart 版本在运行时出现了白板窗。。。
yumex 是 python 运行的,的确有点慢,改了一个小地方的编码设置后可以读取软件包的描述,但 smarry 项仍乱码,昨晚找了几小时没有成果,yumex 也有一些 Bug。
yumex 最大的特点是可以逆操作记忆,但我不懂他的历史记录是藏在哪的。。 YUM uses a repository format called RPM-MetaData (rpm-md). Smart expects the same Base URL as your baseurl settings in /etc/yum.conf or /etc/yum.conf.d/*. If your baseurl has macros such as $basearch or $releasever you must use whatever values make sense for you instead, such as "i386" and "3".
smart 的channels可以添加yum源,和yum的配置文件一样的。 谢谢,smart 也可以管理 yum 源,历史记录和逆操作是 yum 的特性而不是 yumex 的,记录可以从 /var/lib/yum 那删除掉。
我已经决定用 yumex,python 版本限制 yumex 用的版本是旧的,编译过最新的版本退出时会出错,没发现有什么新特性。
smart --gui 最新版本出现白板不能工作,和 python 一样,gtk2 目前我是一直没有升级,要升级就到 gtk3 了。
想过 systemd 和 python 2.7,但工作量太大,想想可怕,所以还等你的 64 位系统。
这次编译升级 xorg 还好有些经验和方法,没花费太多精力。
还有 ffmpeg libpng,这东西升级会导致 kde4 都要重新编译。 有一种方法。。。:
把所有的文件列在一个文件当中,然后给它加上编译指令头,然后用这个文件进行编译,这样就算遇到出错也不会停下来,最后清点一下编译失败的东西。。。
我可以去休息或做别的事情,等结果。。。最后来收拾残局,刚好一会全升级完看一下 mgc25 的还有几个。。。
等这次搞定,再搞一次更疯狂的。。。升级完 python2.7 把系统重编译,把 systemd 端了。 ffmpeg/libpng升级会带来一大堆东西的升级。
systemd升级比较麻烦的。 原帖由 haulm 于 2013-5-16 11:37 AM 发表 http://forum.linuxfans.org/images/common/back.gif
有一种方法。。。:
把所有的文件列在一个文件当中,然后给它加上编译指令头,然后用这个文件进行编译,这样就算遇到出错也不会停下来,最后清点一下编译失败的东西。。。
我可以去休息或做别的事情,等结果。。。最后来收拾残局 ...
for x in `ls *rpm`; do rpmbuild --rebuild $x && rpm -Uvh /root/rpmbuild/RPMS/*/* --nodeps --force && mv /root/rpmbuild/RPMS/*/* rpms/ -iv && mv $x finish/ -iv && rm /root/rpmbuild/* -rf ; done ; 突然发现 yum 在处理依赖关系的时候的确是非常白痴的,apt-rpm 仍然是处理系统依赖的良方。 以前编译BLFS时些的写的脚本,还有个重新编排数字序列带头文件名的脚本,写了一段时间不知道怎么用了,我再调整一下,完成了在发上来。
#/bin/bash
#脚本可以处理文件名有空格字符的文件
#由于脚本使用了数组,所以需要支持数组的bash
#如果运行脚本有报错1请检查bash版本是否支持数组
#定义功能函数
runscr(){
# 更改脚本为执行权限
chmod 755 0*
#创建日志目录
if [ ! -dlog ]; then
mkdir log
fi
for ((i=0; i <= (${#scrlist[*]}-1); i++)); do
echo "${scrlist[$i]}"
./"${scrlist[$i]}" > log/"${scrlist[$i]}".txt
done
}
#获取脚本列表
scrlist=(0*)
#检查文件列表是否正确获得
if [ ! "${scrlist}" = "0*" ]; then
# 环境变量设定
if [ -e~/blfs-conf ]; then
source ~/blfs-conf
runscr
else
echo Error,$HOME/blfs-conf file not found
fi
else
echo Error script not found
fi
exit 唉,没在玩LFS,目前在狂抽 mgc25 底层,最后就差50个钉子户了,一些包死活编译不过去,比如 nfs-utils,老和 mount.h 过不去。。。不过不能编译的可以考虑删掉,nfs-utils-lib 或许要留着。升级完可能还不如 2.6.2,某些地方没找到原因,比如为什么不支持 mesa 的 opengl 了,要装闭源驱动或用 xrender。
能升级的就升级,不能升级的就补丁,暂时处理不了的可以删先删。。。
因为不用 systemd 还得防着升级时,打包脚本里有 systemd 的定义,要套上 sysvinit 启动脚本的就套。。。
有些苦董货被掏出来了,比如农历的,还有文本转换的。 重命名数字带头文件的文件名脚本,仅供参考。
发上来并非摆弄,因为手工重命名好几十个文件,真的很痛苦,所以去年写了这个脚本。
#!/bin/bash
#脚本没加参数就从3开始重新按顺序编排数字带头的文件名
#加数值的参数就按照参数的数值开始重新编排数字带头的文件名
#初始化变量
listvar=$1
#获得文件列表数组
filenamelist=(0*)
if [ ! "${filenamelist}" = "0*" ]; then
if [ -z $listvar ]; then
#从序数003递增序数开始排序命名
listvar=3
for ((i=0; i <= (${#filenamelist[*]}-1); i++)); do
#文件名序数数位整形
if [ $listvar -le 9 ]; then
list='00'$listvar
else
list='0'$listvar
fi
#检查文件名是否相同
if [ ! "${filenamelist[$i]}" = "$list${filenamelist[$i]/$(echo ${filenamelist[$i]} | cut -d '-' -f1)/}" ]; then
mv "${filenamelist[$i]}" "$list${filenamelist[$i]/$(echo ${filenamelist[$i]} | cut -d '-' -f1)/}"
fi
#递增序数
((listvar++))
done
else
#从文件数量加3递减序数开始排序命名
#检查脚本参数输入数值是否小于文件数量
if [ ! $((${#filenamelist[*]}+2)) -le $listvar ]; then
listvar=$((${#filenamelist[*]}+2))
fi
for ((i=(${#filenamelist[*]}-1); i >= 0; i--));do
if [ $listvar -le 9 ]; then
#文件名序数数位整形
list='00'$listvar
else
list='0'$listvar
fi
#检查文件名是否相同
if [ ! "${filenamelist[$i]}" = "$list${filenamelist[$i]/$(echo ${filenamelist[$i]} | cut -d '-' -f1)/}" ]; then
mv "${filenamelist[$i]}" "$list${filenamelist[$i]/$(echo ${filenamelist[$i]} | cut -d '-' -f1)/}"
fi
#递递减序数
((listvar--))
done
fi
else
echo Error,Not find file
fi
exit
[ 本帖最后由 huizige 于 2013-5-20 20:16 编辑 ] 编译RPM的顺序可以用数字带头文件名的脚本文件进行调用,有些源码开启某些功能要反复编译几次,我知道编译起来很麻烦,真是辛苦haulm,某些源码依赖一些替的项目才可以开启某些功能,这方面可以参考BLFS或者CBLFS的文档。 原帖由 huizige 于 2013-5-20 20:23 发表 http://forum.linuxfans.org/images/common/back.gif
编译RPM的顺序可以用数字带头文件名的脚本文件进行调用,有些源码开启某些功能要反复编译几次,我知道编译起来很麻烦,真是辛苦haulm,某些源码依赖一些替的项目才可以开启某些功能,这方面可以参考BLFS或者CBLFS的文档。 ...
最麻烦的是 texlive,这东西就一直没有编译通过,所以我一直都在踢除文档编译。。。,今天翻新完工了,完工后真觉得这玩意不是一般的 :arrow: ,新版本源码 1.6G,新源 2007 一直编译不了。doxygen parted quota 这三个成为障碍,只能将就先不用了。
页:
[1]
2