QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3354|回复: 16

包管理器还是使用 yum 吧,apt-rpm 老了

[复制链接]
发表于 2013-5-13 22:45:43 | 显示全部楼层 |阅读模式
apt-rpm 一直都没更新,也就不行了。
yum 的安装使得 rpm 包还得更新,折腾半天。
发表于 2013-5-14 11:41:50 | 显示全部楼层
smart 被无视了。
不过 3.0 的 srpm 里面有 yum 了。
回复

使用道具 举报

发表于 2013-5-14 16:39:43 | 显示全部楼层
3.0有yum,不过yum有点儿慢。
yum的分组是怎么来的呢,这个比较好。smart现在还不支持。
回复

使用道具 举报

 楼主| 发表于 2013-5-14 17:57:58 | 显示全部楼层
我没发现 smart 能管理 yum 的信息源,所以选择了 yum 就不会再用 smart 了,而且目前的 smart 版本在运行时出现了白板窗。。。
yumex 是 python 运行的,的确有点慢,改了一个小地方的编码设置后可以读取软件包的描述,但 smarry 项仍乱码,昨晚找了几小时没有成果,yumex 也有一些 Bug。
yumex 最大的特点是可以逆操作记忆,但我不懂他的历史记录是藏在哪的。。
回复

使用道具 举报

发表于 2013-5-14 18:26:29 | 显示全部楼层
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的配置文件一样的。
回复

使用道具 举报

 楼主| 发表于 2013-5-16 09:32:58 | 显示全部楼层
谢谢,smart 也可以管理 yum 源,历史记录和逆操作是 yum 的特性而不是 yumex 的,记录可以从 /var/lib/yum 那删除掉。
我已经决定用 yumex,python 版本限制 yumex 用的版本是旧的,编译过最新的版本退出时会出错,没发现有什么新特性。
smart --gui 最新版本出现白板不能工作,和 python 一样,gtk2 目前我是一直没有升级,要升级就到 gtk3 了。
想过 systemd 和 python 2.7,但工作量太大,想想可怕,所以还等你的 64 位系统。
这次编译升级 xorg 还好有些经验和方法,没花费太多精力。
还有 ffmpeg libpng,这东西升级会导致 kde4 都要重新编译。
回复

使用道具 举报

 楼主| 发表于 2013-5-16 11:37:52 | 显示全部楼层
有一种方法。。。:
把所有的文件列在一个文件当中,然后给它加上编译指令头,然后用这个文件进行编译,这样就算遇到出错也不会停下来,最后清点一下编译失败的东西。。。
我可以去休息或做别的事情,等结果。。。最后来收拾残局,刚好一会全升级完看一下 mgc25 的还有几个。。。
等这次搞定,再搞一次更疯狂的。。。升级完 python2.7 把系统重编译,把 systemd 端了。
回复

使用道具 举报

发表于 2013-5-16 15:02:56 | 显示全部楼层
ffmpeg/libpng升级会带来一大堆东西的升级。
systemd升级比较麻烦的。
回复

使用道具 举报

发表于 2013-5-16 15:19:23 | 显示全部楼层
原帖由 haulm 于 2013-5-16 11:37 AM 发表
有一种方法。。。:
把所有的文件列在一个文件当中,然后给它加上编译指令头,然后用这个文件进行编译,这样就算遇到出错也不会停下来,最后清点一下编译失败的东西。。。
我可以去休息或做别的事情,等结果。。。最后来收拾残局 ...

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 ;
回复

使用道具 举报

 楼主| 发表于 2013-5-17 07:38:37 | 显示全部楼层
突然发现 yum 在处理依赖关系的时候的确是非常白痴的,apt-rpm 仍然是处理系统依赖的良方。
回复

使用道具 举报

发表于 2013-5-17 12:40:27 | 显示全部楼层
以前编译BLFS时些的写的脚本,还有个重新编排数字序列带头文件名的脚本,写了一段时间不知道怎么用了,我再调整一下,完成了在发上来。

#/bin/bash

#脚本可以处理文件名有空格字符的文件
#由于脚本使用了数组,所以需要支持数组的bash
#如果运行脚本有报错1请检查bash版本是否支持数组

#定义功能函数
runscr(){
    # 更改脚本为执行权限
    chmod 755 0*


    #创建日志目录
    if [ ! -d  log ]; 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]}" = "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
  • 回复

    使用道具 举报

     楼主| 发表于 2013-5-20 12:26:45 | 显示全部楼层
    唉,没在玩LFS,目前在狂抽 mgc25 底层,最后就差50个钉子户了,一些包死活编译不过去,比如 nfs-utils,老和 mount.h 过不去。。。不过不能编译的可以考虑删掉,nfs-utils-lib 或许要留着。升级完可能还不如 2.6.2,某些地方没找到原因,比如为什么不支持 mesa 的 opengl 了,要装闭源驱动或用 xrender。
    能升级的就升级,不能升级的就补丁,暂时处理不了的可以删先删。。。
    因为不用 systemd 还得防着升级时,打包脚本里有 systemd 的定义,要套上 sysvinit 启动脚本的就套。。。
    有些苦董货被掏出来了,比如农历的,还有文本转换的。
    回复

    使用道具 举报

    发表于 2013-5-20 20:15:02 | 显示全部楼层
    重命名数字带头文件的文件名脚本,仅供参考。
    发上来并非摆弄,因为手工重命名好几十个文件,真的很痛苦,所以去年写了这个脚本。

    #!/bin/bash

    #脚本没加参数就从3开始重新按顺序编排数字带头的文件名
    #加数值的参数就按照参数的数值开始重新编排数字带头的文件名

    #初始化变量
    listvar=$1
    #获得文件列表数组
    filenamelist=(0*)

    if [ ! "${filenamelist[0]}" = "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 编辑 ]
  • 回复

    使用道具 举报

    发表于 2013-5-20 20:23:20 | 显示全部楼层
    编译RPM的顺序可以用数字带头文件名的脚本文件进行调用,有些源码开启某些功能要反复编译几次,我知道编译起来很麻烦,真是辛苦haulm,某些源码依赖一些替的项目才可以开启某些功能,这方面可以参考BLFS或者CBLFS的文档。
    回复

    使用道具 举报

     楼主| 发表于 2013-5-21 08:48:11 | 显示全部楼层
    原帖由 huizige 于 2013-5-20 20:23 发表
    编译RPM的顺序可以用数字带头文件名的脚本文件进行调用,有些源码开启某些功能要反复编译几次,我知道编译起来很麻烦,真是辛苦haulm,某些源码依赖一些替的项目才可以开启某些功能,这方面可以参考BLFS或者CBLFS的文档。 ...

    最麻烦的是 texlive,这东西就一直没有编译通过,所以我一直都在踢除文档编译。。。,今天翻新完工了,完工后真觉得这玩意不是一般的 ,新版本源码 1.6G,新源 2007 一直编译不了。doxygen parted quota 这三个成为障碍,只能将就先不用了。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    GMT+8, 2024-3-28 18:56 , Processed in 0.119637 second(s), 15 queries .

    © 2021 Powered by Discuz! X3.5.

    快速回复 返回顶部 返回列表