Jump to content

All Activity

This stream auto-updates     

  1. Last week
  2. On --depclean, it doesn't really matter. It just cleans up packages that weren't explicitly installed or required by something that was. So it's a cleanup process to keep things tidy. On libtool, I've never seen that recommended, but usually on a x86-64bit system /usr/lib is a symlink to /usr/lib64.
  3. Earlier
  4. Ok so here we are... i grabbed the funtoo live image from the funtoo.org site, and have successfully installed and broken my new system a few times haha some minor questions i have, upon issuing these commands chroot # ego sync chroot # emerge -auDN @world and having a fresh new world, there are a couple of cleanup commands presented and wanted to clarify. should i run the emerge --depclean before the 1st boot. Also, for libtool ... after compiling and installing libtool its recommends the command libtool --finish, am i pointing this at /usr/lib or /usr/lib64?
  5. First, if you haven't, I suggest reading up a little on passive vs. active PFC, waveform, etc. Second, my (older) CyberPower CP1500PFCLCD works a treat with apcupsd. From what I've seen, at least some newer CyberPower models work, as well, though I don't think there is an exhaustive list anywhere. It looks as though the LE850G uses USB for communication, so I think chances are good it will work.
  6. I've been having a problem lately where Dropbox has been repeatedly creating filling up ~/Dropbox/.dropbox.cache/tmp_dirs with what looks like identical folders until the disk is (near) full. I've since revoked all user permissions to that folder do prevent this behavior. Is anyone else experiencing this?
  7. I had the same problem. Anydesktop wanted pangox to run. I installed pango-1.42 with the --nodeps option, I built pangox-compat and then I reinstalled pango-1.44. So far so good.
  8. Hello guys! I've installed funtoo recently with Openbox and Thunar as file manager. The problem is I can not add emblems to files with Thunar. After checking around, I read that I had to install gvfs for that functionality to work. I did but still in Thunar's preferences it says "it looks like gvfs is not available". The same if I run Thunar as superuser. The flags I have for gvfs are: cdda fuse http mtp sftp udev udisks archive gphoto2 nfs and for Thunar: exif introspection libnotify pcre udisks Thanks in advance for any ideas! EDIT: In the archives of gentoo I found that I needed to add exec ck-launch-session dbus-launch --sh-syntax --exit-with-session openbox-session in my .xinitrc.
  9. Thank you both for the input. Noise is not a problem as the server and the UPS will be installed in a remote corner of my basement. I don't plan to have any Windows machine supervise the Linux server or the UPS for many reasons. 🙂 Looks like I'll go with the larger unit, just to have the open-source package as an alternative (and also to allow me to grow the server if needed). I'll post back if any problems arise.
  10. For the Funtoo live image make sure that you're using the version downloaded from the funtoo.org site. The 'file' utility should report it as having a DOS/MBR partition and not just and ISO-9660 file system. The ISO-9660 image that Area31 creates won't boot from a USB drive on some systems. # file funtoo-livecd-area31-5.1-beta-r1.iso funtoo-livecd-area31-5.1-beta-r1.iso: DOS/MBR boot sector; partition 1 : ID=0x17, active, start-CHS (0x0,0,1), end-CHS (0x3ff,63,32), startsector 0, 3217408 sectors
  11. I use Cyberpower UPSs and I run their utility. I installed from the tarball download and everything worked with no problem. I like the fact that it lets me turn off the UPS alarm which drives our dogs nuts. I must admit that I've never been around when it has reached the point of shutdown and I've never verified the shutdown from the log files.
  12. Good afternoon, it has been awhile since i've run anything gentoo, and having aquired 2 thinkpads, windows absolutely had to go. I began the install by installing the systemrescue cd on a mmc flashcard, and boots the machine up nice and quick. Upon reading the funtoo installation pages, i realized i have a Uefi boot Thinkpad. its a 4th gen 11e with an AMD processor. Everything went as anticipated until it bacame time to chroot into the system. This was and has been my return error since my initial attempt; [root@sysresccd /mnt/funtoo]# env -i HOME=/root TERM=$TERM /bin/chroot . bash -l Illegal instruction (core dumped) I've rebooted twice thinking i missed a command somewhere in the instructions. The tarball i grabbed was gnome 1.4 current out of the AMD-excavator Subarch, and followed the funtoo chroot instructions from creating file systems Chap 5 thru 9 chrooting into the enviroment and nothing, Then i attempted the gentoo way from their handbook before having to ask and find out where i went wrong ... this was my last attempt last nite. [root@sysresccd ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 620.1M 1 loop /run/archiso/sfs/airootfs sda 8:0 0 111.8G 0 disk ├─sda1 8:1 0 500M 0 part ├─sda2 8:2 0 8G 0 part └─sda3 8:3 0 103.3G 0 part sdb 8:16 1 61.9G 0 disk └─sdb1 8:17 1 61.9G 0 part /run/archiso/bootmnt [root@sysresccd ~]# swapon [root@sysresccd ~]# mkfs.ext4 /dev/sda3 mke2fs 1.45.6 (20-Mar-2020) /dev/sda3 contains a ext4 file system last mounted on /mnt/funtoo on Sat May 16 15:00:10 2020 Proceed anyway? (y,N) N [root@sysresccd ~]# date Sat 16 May 2020 08:09:20 PM UTC [root@sysresccd ~]# mount /dev/sda3 /mnt/funtoo mount: /mnt/funtoo: mount point does not exist. [root@sysresccd ~]# mkdir /mnt/funtoo [root@sysresccd ~]# mount /dev/sda3 /mnt/funtoo [root@sysresccd ~]# mkdir /mnt/funtoo/boot mkdir: cannot create directory ‘/mnt/funtoo/boot’: File exists [root@sysresccd ~]# mount /dev/sda1 /mnt/funtoo/boot [root@sysresccd ~]# hwclock --systohc [root@sysresccd ~]# cd /mnt/funtoo [root@sysresccd /mnt/funtoo]# ls bin dev gnome-latest.tar.xz lib lost+found mnt proc run sys usr boot etc home lib64 media opt root sbin tmp var [root@sysresccd /mnt/funtoo]# mount --types proc /proc /mnt/funtoo/proc [root@sysresccd /mnt/funtoo]# mount --rbind /sys /mnt/funtoo/sys [root@sysresccd /mnt/funtoo]# mount --rbind /dev /mnt/funtoo/dev [root@sysresccd /mnt/funtoo]# cp /etc/resolv.conf /mnt/funtoo/etc/ [root@sysresccd /mnt/funtoo]# env -i HOME=/root TERM=$TERM /bin/chroot . bash -l Illegal instruction (core dumped) [root@sysresccd /mnt/funtoo]# chroot /mnt/funtoo /bin/bash Illegal instruction (core dumped) [root@sysresccd /mnt/funtoo]# which chroot /usr/bin/chroot [root@sysresccd /mnt/funtoo]# env -i HOME=/root TERM=$TERM /usr/bin/chroot . bash -l Illegal instruction (core dumped) [root@sysresccd /mnt/funtoo]# I'm at the wall, what did miss ... before this last attempt using gentoo handbook i'd tried to burn the area31 live cd image to another usb stick, but it wont boot on the 11e or the x131e I'd try to install it with. Regards in Advance Tom EDIT: Wrong subarch i believe 😑
  13. Hi ups for me is important. And i prefer give sometimes more money tor this component. I don't know how is working yours models. i always use power Walker with full sinus. For quality is good price. With drivers this another topic. In mostly i have one windows system which sent by ssh shotdown to rest host. Ethernet is extra payed. I don't check yet drivers direct to Linux over usb. One thinks look on decibels when chose better ups becouse inverter is always work and in chipest models noise is terbile
  14. I finally got around to start building a small file server for my home network. Nothing fancy or expensive, small motherboard, i5 4-core, 16GB RAM, SATA card and an array of 4 HDDs in RAID5. And a small case with a 350W PSU which should be plenty. Now, the most expensive part of this is the disk array, and I want to protect it from power surges, brownouts etc so I will add a UPS as well. I go get brownouts occasionally maybe 4-5 times a year, and major power outages 1-2 times a year. I want to keep things cheap enough, and yet have good Linux support for graceful shutdowns. I've been looking at a couple of UPS units that I can get at Costco, the Cyberpower XC625 (625VA/375W) for $45, and its bigger brother Cyberpower LE850G (850 VA / 460 W) for $75. There is a (binary-only) daemon available from the manufacturer https://www.cyberpowersystems.com/product/ups/pc-battery-backup/le850g/#tab-documents and it looks like it's exactly the same for both. I don't know how well that works though. I've looked at other software, like Network UPS Tools https://networkupstools.org - the smaller unit is poorly supported, the larger one has somewhat better support. Does anyone have experience with either of the above in Linux? Or can you recommend another one with good support and in the same price range? I don't need it to do anything extraordinary, just initiate a clean shutdown at power loss, maybe with a delay of a few minutes in case it's just temporary. (Funtoo will boot from a small SSD independent of the RAID array, in case that matters - which it shouldn't)
  15. Replace /bin/chroot with the output from this command: which chroot
  16. Hi there, i'm new to funtoo and it's familly (gentoo), more of an debian - ubuntu guy. I decided to make a move to funtoo and i'm kinde stuck in chrooting into funtoo. I have followed al the instalation instructions and cannot figure out what to do. root@mx1:/mnt/funtoo# env -i HOME=/root TERM=$TERM /bin/chroot . bash -l env: ‘/bin/chroot’: No such file or directory root@mx1:/mnt/funtoo#
  17. Hi, all. Looking at nginx-1.17.5 ebuild src_install(). Can't understand why ${EROOT} is used instead of ${EPREFIX}.
  18. Hi, all. Can anybody explain why we need ${ED}? We already have ${D} and if somebody need, its value can be replaced with "${D}/${EPREFIX}" without entering ED. The same for EROOT vs ROOT.
  19. da9h0st


  20. Hi, all. Am i understand correctly, that the difference between doins and newins only in the presence of second argument?
  21. Over the past few months, that seems to be the consensus. Next step for me is converting the ebuild to autogen. Then, our app-editors/emacs can be completely independent of Gentoo's.
  22. user-uid.map can contain shell, homedir and groups in addition to uid. Thus, enewuser can derive all needed parameters from the map file(so, if many packages really need the same user, they can create it independently).
  23. Yes. acct-user/* and acct-group/* are ugly a little less than completely :-D.
  24. emap*() here - just a prototypes. imho, it should be implemented as small static C binary and included in the portage package.
  25. My considerations about "problem" with constant uid/gid between machines. Hope i understood correctly motivations from glep 81. If we need a constant uid/gid for some packages, then we need something like /etc/services for uid and gid. For example, /var/git/meta-repo/user-uid.map and /var/git/meta-repo/group-gid.map. Format of these files could be: user-uid.map: UNAME SP UID group-gid.map: GNAME SP GID Where: UNAME - user name GNAME - group name UID - user id GID - group id SP - spaces and/or tabs ([ \t]+) Then we should modify user.eclass a little. In such a way that enewuser and enewgroup must do 2 things: - consult these files for constant uid/gid(if, for example, -S is specified) - place package name which call enewgroup/enewuser in /var/lib/portage/group-pkg.map and /var/lib/portage/user-pkg.map respectively Example changes for enewgroup: --- user.eclass.orig 2020-05-06 09:27:19.264986735 +0000 +++ user.eclass 2020-05-06 16:09:38.664894650 +0000 @@ -262,6 +262,8 @@ # # If -F is passed, enewgroup will always enforce specified GID and fail if it # can not be assigned. +# If -S is passed, gid is got from group-gid.map; if -F is also passed and +# such user already exist with different gid, then enewgroup fail. enewgroup() { if [[ ${EUID} != 0 ]] ; then einfo "Insufficient privileges to execute ${FUNCNAME[0]}" @@ -269,10 +271,11 @@ fi _assert_pkg_ebuild_phase ${FUNCNAME} - local force_gid= + local force_gid= strict_gid= while [[ $1 == -* ]]; do case $1 in -F) force_gid=1;; + -S) strict_gid=1;; *) die "${FUNCNAME}: invalid option ${1}";; esac shift @@ -287,6 +290,12 @@ # see if group already exists if [[ -n $(egetent group "${egroup}") ]] ; then + local egid=$(emapget /var/git/meta-repo/group-gid.map ${egroup}) + if [[ -n ${strict_gid} && -n ${force_gid} && \ + $(egetent group "${egroup}" | cut -d: -f3) != ${egid} ]] ; then + die "${egroup} exist, but GID for ${egroup} group must be ${egid}" + fi + emapaddval /var/lib/portage/user-pkg.map ${egroup} ${PN} return 0 fi einfo "Adding group '${egroup}' to your system ..." @@ -294,6 +303,9 @@ # handle gid local egid=$1; shift if [[ ! -z ${egid} ]] ; then + if [[ -n ${strict_gid} ]] ; then + die "${FUNCNAME}: -S can't be specified with GID" + fi if [[ ${egid} -gt 0 ]] ; then if [[ -n $(egetent group ${egid}) ]] ; then [[ -n ${force_gid} ]] && die "${FUNCNAME}: GID ${egid} already taken" @@ -304,8 +316,16 @@ die "${egid} is not a valid GID" fi else - [[ -n ${force_gid} ]] && die "${FUNCNAME}: -F with gid==-1 makes no sense" - egid="next available" + if [[ -n ${strict_gid} ]] ; then + egid=$(emapget /var/git/meta-repo/group-gid.map ${egroup}) + if [[ -z ${egid} ]] ; then + die "${FUNCNAME}: group ${egroup} doesn't exist in /var/git/meta-repo/group-gid.map" + fi + elif [[ -n ${force_gid} ]] ; then + die "${FUNCNAME}: -F with gid==-1 makes no sense" + else + egid="next available" + fi fi einfo " - Groupid: ${egid}" @@ -349,6 +369,158 @@ groupadd -r ${opts} "${egroup}" || die ;; esac + emapaddval /var/lib/portage/user-pkg.map ${egroup} ${PN} +} + +emapget() { + local mapfile=$1 key=$2 + + # TODO: here must be a file lock + if [[ ! -f ${mapfile} ]]; then + return 0 + fi + awk -v key=$key ' + $1 == key { + values=$2 + for(i = 3; i <= NF; i++) { + values=values " " $i + } + print values + exit + }' ${mapfile} +} + +emapset() { + local mapfile=$1 key=$2 + shift 2 + local values="$@" + + # TODO: here must be a file lock + if [[ ! -f ${mapfile} ]]; then + touch ${mapfile} + fi + awk -v key=$key -v values="$values" ' + $1 != key { + print $0 + } + $1 == key { + is_found=1 + print key " " values + } + END { + if (!is_found) { + print key " " values + } + }' ${mapfile} > ${PORTAGE_TMPDIR}/$(basename ${mapfile}).$$.TMP + if [[ $? -ne 0 ]] ; then + rm ${PORTAGE_TMPDIR}/$(basename ${mapfile}).$$.TMP + die "emapset error: awk error" + fi + mv ${PORTAGE_TMPDIR}/$(basename ${mapfile}).$$.TMP ${mapfile} + if [[ $? -ne 0 ]] ; then + rm ${PORTAGE_TMPDIR}/$(basename ${mapfile}).$$.TMP + die "emapset error: mv error" + fi +} + +emaprm() { + local mapfile=$1 key=$2 + + # TODO: here must be a file lock + if [[ ! -f ${mapfile} ]]; then + return 0 + fi + awk -v key=$key ' + $1 != key { + print $0 + }' ${mapfile} > $PORTAGE_TMPDIR/$(basename ${mapfile}).$$.TMP + if [[ $? -ne 0 ]] ; then + rm $PORTAGE_TMPDIR/$(basename ${mapfile}).$$.TMP + die "emaprm error: awk error" + fi + mv $PORTAGE_TMPDIR/$(basename ${mapfile}).$$.TMP ${mapfile} + if [[ $? -ne 0 ]] ; then + rm $PORTAGE_TMPDIR/$(basename ${mapfile}).$$.TMP + die "emaprm error: mv error" + fi +} + +emapaddval() { + local mapfile=$1 key=$2 + shift 2 + local values="$@" + + # TODO: here must be a file lock + if [[ ! -f ${mapfile} ]]; then + touch ${mapfile} + fi + awk -v key=$key -v values="$values" ' + $1 != key { + print $0 + } + $1 == key { + is_found = 1 + vtoadd = "" + n = split(values, vals) + for(i = 1; i <= n; i++) { + for(j = 2; j <= NF; j++) + if ($j == vals[i]) + break + if (j == (NF+1)) + vtoadd = vtoadd " " vals[i] + } + print $0 vtoadd + } + END { + if (!is_found) { + print key " " values + } + }' ${mapfile} > $PORTAGE_TMPDIR/$(basename ${mapfile}).$$.TMP + if [[ $? -ne 0 ]] ; then + rm ${PORTAGE_TMPDIR}/$(basename ${mapfile}).$$.TMP + die "${FUNCNAME}: awk error" + fi + mv $PORTAGE_TMPDIR/$(basename ${mapfile}).$$.TMP ${mapfile} + if [[ $? -ne 0 ]] ; then + rm ${PORTAGE_TMPDIR}/$(basename ${mapfile}).$$.TMP + die "${FUNCNAME}: mv error" + fi +} + +emaprmval() { + local mapfile=$1 key=$2 + shift 2 + local values="$@" + + # TODO: here must be a file lock + if [[ ! -f ${mapfile} ]]; then + return 0 + fi + awk -v key=$key -v values="$values" ' + $1 != key { + print $0 + } + $1 == key { + vnew = "" + n = split(values, vals) + for(i = 2; i <= NF; i++) { + for(j = 1; j <= n; j++) + if ($i == vals[j]) + break + if (j == (n+1)) + vnew = vnew " " $i + } + print key vnew + }' ${mapfile} > ${PORTAGE_TMPDIR}/$(basename ${mapfile}).$$.TMP + if [[ $? -ne 0 ]] ; then + rm ${PORTAGE_TMPDIR}/$(basename ${mapfile}).$$.TMP + die "emaprmval error: awk error" + fi + mv ${PORTAGE_TMPDIR}/$(basename ${mapfile}).$$.TMP ${mapfile} + if [[ $? -ne 0 ]] ; then + rm ${PORTAGE_TMPDIR}/$(basename ${mapfile}).$$.TMP + die "emaprmval error: can't do mv" + fi } # @FUNCTION: egetusername After that we have info in /var/lib/portage/user-pkg.map and /var/lib/portage/group-pkg.map about what user/group is used by what packages. And can show this with equery module. If we see user/group without packages - this entry is orphaned. We can show this with a same equery module and give a user possibility to remove this with some ego module(something like "ego user cleanup" and "ego group cleanup").
  26. Hi, all. Is /var/git/ a right location to place custom overlay/kit (for example, /var/git/my)? Can i sure that it willn't be removed by ego/portage?
  27. On one of my systems, any attempt to emerge a package hangs when it gets to "checking ## files for package collisions". There is no output to help me figure out where the problem lies. Can anybody suggest where I should start looking? What utility is used for this "checking..." operation?
  1. Load more activity
  • Create New...